Install Orace 11g on Solaris 10 Sparc 64 bit

昨天有一个客户端安装11g数据库。整个安装过程和一些遇到的问题是一个创纪录。共享。

由于客户不能使用自己的机器远程连接到server,意通过U盘、移动硬盘等拷贝不论什么文件。因此一些记录内容无法做到非常详尽。仅仅能凭记忆大致写出。


主机:SUN Netra T4-1 M4000
CPU:8 core 2.85GHz
内存:32G
系统:Solaris 10

一、检查硬件要求

--查看内存
# /usr/sbin/prtconf | grep "Memory size"
Memory size:32768 Megabytes

/usr/sbin/swap -l
swapfile    dev    swaplo    blocks    free
/dev/dsk/c0t0d0s1    32,9    16    8405360    8405360    --一个block是512k,因此这里是4G

--查看系统体系架构
/bin/isainfo -kv
64-bit    sparcv9    kernel modules

注意,假设下载了solaris x86的介质,是无法安装在sparc主机上的,而且sparc介质仅仅能装在真实机上,虚拟机无法模拟

--查看磁盘可用空间
df -k /tmp
须要至少超过1G,眼下30G

df -k
安装Oracle企业版须要4.68G的空间,眼下197G

二、检查软件要求

--查看Solaris内核版本号
uname -r
5.10

cat /etc/release
Solaris 10 5/09 s10s_u7wos_08 SPARC

--须要安装的包的list
SUNWarc
SUNWbtool
SUNWhea
SUNWlibC
SUNWlibm
SUNWlibms
SUNWsprot
SUNWtoo
SUNWi1of
SUNWi1cs (ISO8859-1)
SUNWi15cs (ISO8859-15)
SUNWxwfnt
SUNWcsl

--检查包
pkginfo -i SUNWarc SUNWbtool SUNWhea SUNWlibC SUNWlibm SUNWlibms SUNWsprot SUNWtoo SUNWi1of SUNWi1cs SUNWi15cs SUNWxwfnt SUNWcsl

假设检查发现有未装上的。挂载安装盘进行安装,用pkgadd命令

--安装包
pkgadd -d /path SUNWarc SUNWbtool SUNWhea SUNWlibC SUNWlibm SUNWlibms SUNWsprot SUNWtoo SUNWi1of SUNWi1cs SUNWi15cs SUNWxwfnt SUNWcsl

/path为光盘挂载的路径

三、创建用户、用户组

Oracle软件安装须要下面几组用户:
The Oracle Inventory group (typically, oinstall)
The OSDBA group (typically, dba)
The Oracle software owner (typically, oracle)
The OSOPER group (Optional. Typically, oper)   -- oper组为可选的

--查看oinstall组信息
more /var/opt/oracle/oraInst.loc
inventory_loc=/oracle/oraInventory
inst_group=oinstall

--查看dba组信息
grep dba /etc/group
dba::100:wcadmin,oracle

--加入组
/usr/sbin/groupadd oinstall
/usr/sbin/groupadd dba

--查看oracle用户的权限组
id -a oracle
uid=103(oracle) gid=102(oinstall) groups=100(dba)

注意,不带-a參数看不到最后一项内容,如
id oracle
uid=103(oracle) gid=102(oinstall)

--加入oracle用户到oinstall与dba组
/usr/sbin/useradd -g oinstall -G dba oracle

--加入password文件
passwd -r files oracle
须要输入password并确认

四、配置OS内核參数

--改动/etc/system

set noexec_user_stack=1
set semsys:seminfo_semmni=100
set semsys:seminfo_semmns=1024
set semsys:seminfo_semmsl=256
set semsys:seminfo_semvmx=32767
set shmsys:shminfo_shmmax=4294967296 --实际值需大于SGA的值
set shmsys:shminfo_shmmni=100

注意solaris 10上默认没有安装vim,能够使用vi或gedit。改动各參数值以达到安装所需的最低要求
/etc/system实际已经存在的值要比上面多,仅仅改动罗列出的就可以

--查看project id
# su - oracle
id -p
uid=103(oracle) gid=102(oinstall) projid=3(default)
这里与官方文档里面的值由出入,是default而不是group.dba,只是不影响顺利安装

--查看project
cat /etc/project
system:0::::
user.root:1::::
noproject:2::::
default:3::::
group.staff:10::::
group.dba:100:Oracle default    --果没有最后一行内容,需手动加入

五、创建相关路径并赋予oracle读写权限

# mkdir -p /oracle
# chown -R oracle:oinstall /oracle
# chmod -R 775 /oracle

六、配置环境变量

--查看shell类型
$ echo $SHELL
/bin/sh

--改动环境变量
solaris的环境变量文件是./.profile。注意与Linux的bash shell中的.bash_profile不同
如oracle用户的环境变量为/home/oracle/.profile
# su - oracle
TMP=/tmp
TMPDIR=/tmp
export TMP TMPDIR
ORACLE_SID=orcl
ORACLE_BASE=/oracle
export ORACLE_SID ORACLE BASE
DISPLAY=192.168.1.181:0.0    --注意这里的ip地址为有图形界面的主机,不是dbserver
export DISPLAY
umask 022

--确保未设置ORACLE_HOME和TNS_ADMIN环境变量(Oracle建议)
$ unset ORACLE_HOME
$ unset TNS_ADMIN

--设置完以上变量以后,能够用env命令查看一下
$ env | more

注意,这仅仅是在当前session有效,并没有写入到.profile文件里
假设是通过编辑.profile文件进行改动的,最后用. ./.profile使变更生效,注意,source命令在solaris上不可用

七、拷贝安装介质

# /usr/sbin/mount -r -F hsfs /dev/dsk/c0t0d0s1 /dvd

八、安装数据库软件

# /mount_point/database/runInstaller    --假设提示无法找到命令。能够加./后执行
注意。oracle用户必须有挂载文件夹的读权限,否则执行失败

主要就是以上一些步骤,事实上配置起来。我个人认为要比Linux还要简单。仅仅是可能非常多人第一次在solaris上装oracle数据库还不太习惯,万事都有第一回嘛,试着搞一下,就有经验了

在安装数据库时碰到的问题:
1. swap不足
因为物理内存为32G,但眼下swap仅仅给了4G,swap -l命令能够查看当前配置的swap大小。
通过加入swap文件并固化。又一次执行runInstaller解决

2. 缺少OS相关patch:124861-15
这个包主要是用于Oracle XML Developer’s Kit (XDK),SunOS 5.10 Compiler Common patch for Sun C C++ (optional),注意这里说明是可选的,所以能够选择ignore

解决swap不足后并忽略缺少patch的报错后,顺利安装完数据库软件。接着就是dbca,与在其它平台上的步骤一致,就不具体说明了

附录:solaris解决swap不足的方法:

一、添加Swap 
1. 成为超级用户 $su - root 
2. 创建swap文件 #mkfile nn[klblm] /path/filename 如:#mkfile 100m swapfile 
3. 激活swap文件 #/usr/sbin/swap -a /path/filename 
swap文件必须以绝对路径来指定。filename指的是上一步创建的文件 
4. 固化swap。在/etc/vfstab文件里记录文件的名字和Swap类型,如: /path/filename - - swap - no - 
5. 效验Swap文件是否加上 /usr/sbin/swap -l 

二、删除swap
1. 成为超级用户 $su - root 
2. 使用swap -d 命令收回swap空间#/usr/sbin/swap -d /path/filename 
3. 编辑/etc/vfstab文件,去掉此swap(交换)文件的实体 
4. 从文件系统中回收此文件#rm swap filename 
5. 当然。假设此swap(交换)空间不是一个文件,而是一个分区,则需创建一个新的文件系统,再挂接到原来的文件系统上。 


版权声明:本文博客原创文章。博客,未经同意,不得转载。

原文地址:https://www.cnblogs.com/yxwkf/p/4675200.html