Solaris10_sparc_Oracle10g的安装步骤

来源:互联网 发布:淘宝指数官网查寻 编辑:程序博客网 时间:2024/05/01 16:04
请验证一下solaris和oracle的版本信息,如果版本号不对,可能会安装失败
solaris版本:SunOs 5.10
# cat /etc/release
                       Solaris 10 1/06 s10s_u1wos_19a SPARC
           Copyright 2005 Sun Microsystems, Inc.  All Rights Reserved.
                        Use is subject to license terms.
                           Assembled 07 December 2005

oracle版本: Oracle Database 10g Release 2 (10.2.0.1.0) for Solaris Operating System (sparc):10gr2_db_sol.cpio

***************************************************************************************
第一步:以ROOT身份登陆系统

第二步:创建用户和组:
#bash
#groupadd oinstall
#groupadd dba
#useradd -d /export/home/oracle -g oinstall -G dba oracle 

**注意这里一定要把oracle用户的目录改成自己定义的,不改的话,默认在/home/oracle,oracle用户将无法登陆
#passwd oracle
#mkdir -p /export/home/oracle
#chown -R oracle:oinstall /export/home/oracle

第三步:
1.建立oracle的基目录和数据库目录,我的硬盘是挂在/export/home下的,所以建立oracle基目录就在/export/home下创建一个文件夹,叫oracle10g
#mkdir -p /export/home/oracle10g (oracle基目录)
#mkdir /export/home/oradata (数据文件目录)

2.改变目录的属主和组
#chown -R oracle:oinstall /export/home/oracle10g
#chown -R oracle:oinstall /export/home/oradata

3.改变目录权限
#chmod -R 775 /export/home/oracle10g
#chmod -R 775 /export/home/oradata

第四步:配置内核参数
1.备份文件: 
# cp /etc/system /etc/system.orig
2.打开文件并修改: 
# gedit /etc/system
在文件末尾添加以下内容: 
set noexec_user_stack=1
set noexec_user_stack_log=1
set semsys:seminfo_semmni=110
set semsys:seminfo_semmns=1024
set semsys:seminfo_semmsl=256
set semsys:seminfo_semvmx=32767
set semsys:seminfo_semopm =100
set shmsys:shminfo_shmmax=4294967295
set shmsys:shminfo_shmmin=1
set shmsys:shminfo_shmmni=100
set shmsys:shminfo_shmseg=10

保存后重启: # /usr/sbin/reboot


第五步:验证系统条件
# pkginfo -i SUNWarc SUNWbtool SUNWhea SUNWlibm SUNWlibms SUNWsprot SUNWsprox SUNWtoo SUNWi1of SUNWi1cs SUNWi15cs SUNWxwfnt

如果验证没有通过,请在solaris10的安装盘中找到相应的安装包,复制到/var/spool/pkg目录下
在命令窗口中执行:pkgadd 

**缺少的安装包一般在solaris10的第一张安装光盘的/solaris_10/product目录下
# pkginfo -i SUNWarc SUNWbtool SUNWhea SUNWlibm SUNWlibms SUNWsprot SUNWsprox SUNWtoo SUNWi1of SUNWi1cs SUNWi15cs SUNWxwfnt
system      SUNWarc   Lint Libraries (usr)
system      SUNWbtool CCS tools bundled with SunOS
system      SUNWhea   SunOS Header Files
system      SUNWi1of  ISO-8859-1 (Latin-1) Optional Fonts
system      SUNWlibm  Math & Microtasking Library Headers & Lint Files (Usr)
system      SUNWlibms Math & Microtasking Libraries (Usr)
system      SUNWsprot Solaris Bundled tools
system      SUNWtoo   Programming Tools
system      SUNWxwfnt X Window System platform required fonts
    : "SUNWsprox"
    : "SUNWi1cs"
    : "SUNWi15cs"
测试发现SUNWsprox SUNWi1cs SUNWi15cs可以不用安装。


第六步:以oracle用户登陆并配置用户环境
1. $ su - oracle
2.$bash
3.执行: $ ORACLE_BASE=/export/home/oracle10g
$ ORACLE_SID=WISETTMS
$ export ORACLE_BASE ORACLE_SID
4.确定ORACLE_HOME 和 TNS_ADMIN 没有被设置过:
$ unset ORACLE_HOME
$ unset TNS_ADMIN
5.查看设置是否正确:
$ umask
$ env  ¦ more
如果输出为:0022,022,22则正确.

第七步:开始安装oracle数据库
1.把oracle安装包复制到/export/home/oradata 目录下解压,修改/export/home/oradata/install里oraparam.ini
在 Solaris=5.6,5.7,5.8,5.9 这行中添加5.10,保存
**如果下载的是oracle 10.2.0.2 for solaris(x86),默认的是5.10,不用做任何修改
#bash
#cp 10gr2_db_sol.cpio.gz /export/home/oradata
#unzip 10gr2_db_sol.cpio.gz
#cpio -ivmd  <10gr2_db_sol.cpio

2.切换oracle用户登陆,进入/export/home/oradata目录下,在命令窗口中执行 ./runInstaller 运行安 装程 序.以后就是安装过程了,一定要选择 创建启动数据库 ,并配置服务器的 SID 和 sys/system用户的密码,其他的就不多说了.^_^
以root用户执行脚本
$ su - root

Sun Microsystems Inc.   SunOS 5.10      Generic January 2005
# bash
bash-3.00# cd /export/home/oracle10g/oraInventory/
bash-3.00# ./orainstRoot.sh 
/export/home/oracle10g/oraInventory  770.
/export/home/oracle10g/oraInventory  oinstall.

bash-3.00# cd /export/home/oracle10g/product/10.2.0/Db_2/
bash-3.00# ./root.sh
Running Oracle10 root.sh script...

The following environment variables are set as:
    ORACLE_OWNER= oracle
    ORACLE_HOME=  /export/home/oracle10g/product/10.2.0/Db_2

Enter the full pathname of the local bin directory: [/usr/local/bin]: 
Creating /usr/local/bin directory...
   Copying dbhome to /usr/local/bin ...
   Copying oraenv to /usr/local/bin ...
   Copying coraenv to /usr/local/bin ...


Creating /var/opt/oracle/oratab file...
Entries will be added to the /var/opt/oracle/oratab file as needed by
Database Configuration Assistant when a database is created
Finished running generic part of root.sh script.
Now product-specific root actions will be performed.
bash-3.00# 


第八步:开始使用oracle数据库
#su oracle
$ORACLE_HOME=$ORACLE_BASE/product/10.2.0/Db_2
$export ORACLE_HOME
$PATH=$ORACLE_HOME/bin:$PATH;
$export PATH
$lsnrctl start
$sqlplus / as sysdba
SQL>startup
SQL>exit
$
$emctl start dbconsole
通过http://200.2.0.102:1158/em/就可以用了。

注:我第一次安装的时候ORACLE_HOME是$ORACLE_BASE/product/10.2.0/Db_1,但我第二次装的时候是$ORACLE_BASE/product/10.2.0/Db_2,为什么会这样,数据库装的就是这样,需要以后查一下原因。

第九步:配置oracle用户的启动参数。在oracle用户的目录下,创建一个文件.profile
$su root
#mkdir -p /export/home/tmp
#chown -R oracle:oinstall /export/home/tmp
#su - oracle
$ gedit .profile

#tmp directory settings
TMP=/export/home/tmp
export TMP
TMPDIR=$TMP
export TMPDIR

#oracle settings
ORACLE_BASE=/export/home/oracle10g
export ORACLE_BASE
ORACLE_HOME=$ORACLE_BASE/product/10.2.0/Db_2
export ORACLE_HOME
ORACLE_SID=WISETTMS
export ORACLE_SID

#path settings
PATH=$ORACLE_HOME/bin:/usr/ccs/bin:$PATH;
export PATH

#SunStudio11 path,manpath
PATH=/opt/SUNWspro/bin:$PATH;
export PATH

#manpath for dbx
MANPATH=/opt/SUNWspro/man:$MANPATH;
export MANPATH

#lib path for oci
LD_LIBRARY_PATH=$ORACLE_HOME/lib32:/lib:/usr/lib; 
export LD_LIBRARY_PATH

umask 022


就行了。

第十步:重新启动操作系统后的,系统不会启动oracle的实例,所以要执行一段代码,来启动oracle的实例,文章后面有方法。
#su oracle
$lsnrctl start
$sqlplus "/ as sysdba"
SQL>startup
SQL>exit
$
$emctl start dbconsole
通过http://200.2.0.102:1158/em/就可以用了。


安装过程中可能出现的问题
一、swap空间太小验证失败,增加swap空间
1.成为超级用户 $su - root  
2.创建Swap文件 #mkfile nnn[klblm] filename  
如:#mkfile  100m  swapfile1  
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  

具体步骤如下:
1.成为超级用户 
$su - root  
2.创建一个swap文件目录:
# mkdir -p /usr/local/swap
3.在 /usr/local/swap目录里创建一个大约100MB的swap文件,命名为 swapfile。
# mkfile 100m /usr/local/swap/swapfile
4.向系统swap空间中添加swap文件:
# swap -a /usr/local/swap/swapfile
5.列出修改后的swap空间信息:
# swap -l
6.在/etc/vfstab文件中记录文件的名字,和Swap类型
#gedit /etc/vfstab
/usr/local/swap/swapfile - - Swap - no -  

二、临时目录空间不足
# mkdir /export/home/tmp
# chown -R oracle:oinstall /export/home/tmp  

三、我在solaris 10 x386下的oracle10g不能自动启动,在solaris 10 sparc下,oracle10g也不能启动
于是找到启动代码
$su - root
#bash
#gedit /etc/init.d/dbora
在/etc/init.d下面新建一个文件dbora,内容:
#!/bin/sh
ORA_HOME=/export/home/oracle10g/product/10.2.0/Db_2
ORA_OWNER=oracle
echo "start tsnlisnter"
su - $ORA_OWNER -c "lsnrctl start"

echo "Start Oracle database instance"
su - $ORA_OWNER -c "sqlplus /nolog @$ORA_HOME/dbstart.sql"

echo " Start Emterprise Manager"
su - $ORA_OWNER -c "emctl start dbconsole"

echo "Start isqlplus"
su - $ORA_OWNER -c "isqlplusctl start"

将dbora改成可执行
#cd /etc/init.d/
#chmod 744 dbora

在ORA_HOME下创建dbstart.sql文件,如果ORA_HOME没有赋值,则先赋值
#ORA_HOME=/export/home/oracle10g/product/10.2.0/Db_2
#export ORA_HOME
#gedit $ORA_HOME/dbstart.sql
在$ORA_HOME/dbstart.sql的内容:
conn / as sysdba
startup
exit

将dbstart.sql改成oracle所有
#chown -R oracle:oinstall /export/home/oracle10g/product/10.2.0/Db_2/dbstart.sql

然后作一个连接 
#ln -s /etc/init.d/dbora /etc/rc2.d/S99dbora 
#ln -s /etc/init.d/dbora /etc/rc0.d/K10dbora 

==========

我在solaris 10 x386下的oracle10g好像能自动启动,在solaris 10 sparc下,oracle10g不能启动
于是找到启动代码
#gedit /etc/init.d/dbora
在/etc/init.d下面新建一个文件dbora,内容:
#!/bin/sh
ORA_HOME=/export/home/oracle10g/product/10.2.0/Db_1
ORA_OWNER=oracle
echo "Start tsnlisnter" >> /var/adm/messages
su - $ORA_OWNER -c "lsnrctl start"

echo "Start Oracle database instance" >> /var/adm/messages
su - $ORA_OWNER -c "sqlplus /nolog @$ORA_HOME/dbstart.sql"

echo "Start Enterprise Manager" >> /var/adm/messages
su - $ORA_OWNER -c "emctl start dbconsole"

echo "Start isqlplus" >> /var/adm/messages
su - $ORA_OWNER -c "isqlplusctl start"

将dbora改成可执行
#chmod 744 /etc/init.d/dbora

在ORA_HOME下创建dbstart.sql文件
#gedit $ORA_HOME/dbstart.sql
在$ORA_HOME/dbstart.sql的内容:
conn / as sysdba
startup
exit

将dbstart.sql改成oracle所有
#chown -R oracle:oinstall /export/home/oracle10g/product/10.2.0/Db_1/dbstart.sql

然后作一个连接 
ln -s /etc/init.d/dbora /etc/rc2.d/S99dbora 

*********************************************************************************************
#gedit /etc/init.d/dborastop
在/etc/init.d下面新建一个文件dborastop,内容:
#!/bin/sh
ORA_HOME=/export/home/oracle10g/product/10.2.0/Db_1
ORA_OWNER=oracle

echo "Shutdown Oracle database instance" >> /var/adm/messages
su - $ORA_OWNER -c "sqlplus /nolog @$ORA_HOME/dbstop.sql"

echo "Stop Enterprise Manager" >> /var/adm/messages
su - $ORA_OWNER -c "emctl stop dbconsole"

echo "Stop isqlplus" >> /var/adm/messages
su - $ORA_OWNER -c "isqlplusctl stop"

echo "Stop tsnlisnter" >> /var/adm/messages
su - $ORA_OWNER -c "lsnrctl stop"

将dbora改成可执行
#chmod 744 /etc/init.d/dborastop

在ORA_HOME下创建dbstop.sql文件
#gedit $ORA_HOME/dbstop.sql
在$ORA_HOME/dbstop.sql的内容:
conn / as sysdba
shutdown immediate
exit

将dbstop.sql改成oracle所有
#chown -R oracle:oinstall /export/home/oracle10g/product/10.2.0/Db_1/dbstop.sql

然后作一个连接 
ln -s /etc/init.d/dborastop /etc/rc0.d/K10dborastop

使用>>可以把启动信息放到日志中/var/adm/messages,这样可以检验是否启动或关闭时,系统运行了这些脚本。
由于添加了">> /var/adm/messages"这个语句,你就可以通过cat /var/adm/messages看见启动或关闭信息了。

重新启动机子的时候要用init 0或init 6,不能用reboot,否则,不会执行dborastop脚本的。

================

我在solaris 10 x386和solaris 10 sparc下,Weblogic不能自动启动
于是自己根据Oracle10g能自动重启的方法,修改了代码.
#gedit /etc/init.d/startweb
在/etc/init.d下面新建一个文件startweb,内容:
#!/bin/sh
LOGIC_OWNER=oracle 
echo "Start WebLogic" >> /var/adm/messages
su - $LOGIC_OWNER -c "./startweb_.sh"

将dbora改成可执行
#chmod 744 /etc/init.d/startweb

然后作一个连接 
ln -s /etc/init.d/startweb /etc/rc2.d/S100startweb 

用oracle用户登录系统,在oracle用户的根目录下
$gedit startweb_.sh
#!/bin/sh
cd /export/home/oracle/bea/user_projects/domains/mydomain
./startWebLogic.sh &


$chmod a+x startweb_.sh
***************************************************************

于是自己根据上面的代码和网上的资料,写了系统关闭时,关闭Weblogic的方法.
#gedit /etc/init.d/stopweb
在/etc/init.d下面新建一个文件stopweb,内容:
#!/bin/sh
LOGIC_OWNER=oracle 
echo "Stop WebLogic" >> /var/adm/messages
su - $LOGIC_OWNER -c "./stopweb_.sh" 

将dbora改成可执行
#chmod 744 /etc/init.d/stopweb

然后作一个连接 
ln -s /etc/init.d/stopweb /etc/rc0.d/K11stopweb

用oracle用户登录系统,在oracle用户的根目录下
$gedit stopweb_.sh
#!/bin/sh
cd /export/home/oracle/bea/user_projects/domains/mydomain
./stopWebLogic.sh &


$chmod a+x stopweb_.sh


这个问题的关键点是利用oracle用户根目录下的脚本文件去启动/关闭WebLogic,而不是通过/etc/init.d下的脚

本文件来直接启动/关闭WebLogic,相当于有一个中间脚本文件。如果不这样的话,WebLogic会报错,叫输入密码

什么的。

由于添加了">> /var/adm/messages"这个语句,你就可以通过cat /var/adm/messages看见启动或关闭信息了。


如果遇到 EmbeddedLDAP.tran 权限被否定,那么进入目录
/export/home/oracle/bea/user_projects/domains/mydomain/myserver/ldap/ldapfiles
下把EmbeddedLDAP.tran  权限改成oracle的就行了。
chown -R oracle:oinstall 

/export/home/oracle/bea/user_projects/domains/mydomain/myserver/ldap/ldapfiles/EmbeddedLDAP.tran


Note: 本文章摘自http://topic.csdn.net/u/20080505/09/0916d868-1ccf-4a9b-b084-ca121844c1e0.html