Oracle9i在RedHat AS3.1下的安装
wuhu911
|
1#
wuhu911 发表于 2006-08-29 00:10
Oracle9i在RedHat AS3.1下的安装
1.在安装AS3.1的过程中把所有的开发包都安装,这样就不用在另外找包安装这么麻烦了.以下几个包是需要的:
compat-db-4.0.14-5.i386.rpm compat-gcc-7.3-2.96.122.i386.rpm compat-gcc-c++-7.3-2.96.122.i386.rpm compat-libstdc++-7.3-2.96.122.i386.rpm compat-libstdc++-devel-7.3-2.96.122.i386.rpm openmotif21-2.1.30-8.i386.rpm setarch-1.3-1.i386.rpm tcl-8.3.5-92.i386.rpm 降低gcc和g++的版本. mv /usr/bin/gcc /usr/bin/gcc323 ln -s /usr/bin/gcc296 /usr/bin/gcc mv /usr/bin/g++ /usr/bin/g++323 ln -s /usr/bin/g++296 /usr/bin/g++ 2.修改部分参数 #vi /etc/sysctl.conf 加入: kernel.shmmax = xxxxx*1024*2(为内存的2倍,切换到字节。要是超过这个值,在运行dbca时会出现Ora-27123:Unable to attach to shared memeroy segment) kernel.shmmni=4096 kernel.shmall=2097152 kernel.sem=250 32000 100 128 fs.file-max=65536 net.ipv4.ip_local_port_range=1024 65000 #vi /etc/security/limits.conf 加入: oracle hard nofile 65536 oracle soft nofile 65536 oracle hard nproc 16384 oracle soft nproc 16384 3.建立Oracle用户 #groupadd oinstall #groupadd dba #useradd -g oinstall -G dba oracle #passwd oracle 设置环境变量(/etc/profile) export LD_ASSUME_KERNEL=2.4.1 export ORACLE_BASE=/home/oracle export ORACLE_HOME=$ORACLE_BASE/product/9.2.0 export ORACLE_SID=test export ORACLE_TERM=xterm export TNS_ADMIN=$ORACLE_HOME/network/admin export NLS_LANG=AMERICAN export ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib export LD_LIBRARY_PATH export PATH=$PATH:$ORACLE_HOME/bin export LANG=en_us 4.准备安装文件.(用oracle用户) $cd /home/oracle $cat ship_9204_linux_dis1.cpio |cpio -idmv $cat ship_9204_linux_dis2.cpio |cpio -idmv $cat ship_9204_linux_dis3.cpio |cpio -idmv 5.打patch(p3006854_9204_LINUX.zip) #cd /home/oracle #unzip p3006854_9204_LINUX.zip #cd p3006854 #sh rhel3_pre_install.sh 6.开始安装,并按照提示以root身份执行两个sh. 7.安装结束后,打两个patch(p3238244_9204_LINUX.zip & p2617419_210_GENERIC.zip) #cd /home/oracle #unzip p2617419_210_GENERIC.zip #export PATH=$PATH:/home/oracle/OPatch:/sbin #unzip p3238244_9204_LINUX.zip #cd 3238244 #opatch apply $cd $ORACLE_HOME/network/lib $make -f ins_oemagent.mk install [说明]:p2617419的作用是提供opatch,然后p3238244能被打上,最后的重新link该文件是因为修复agentctl的错误. 8.创建数据库 $agentctl start $注释掉$ORACLE_HOME/bin/dbca中的118,121,123,124行 $dbca创建数据库 =================================================== 1.创建listener.ora($ORACHE_HOME/network/admin) LISTENER = (DESCRIPTION_LIST = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC))) ) (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 220svr252)(PORT = 1521)) ) ) ) IFILE = /home/oracle/product/9.2.0/network/admin/220svr252_webdb.lsr SID_LIST_LISTENER = (SID_LIST = (SID_DESC = (SID_NAME = PLSExtProc) (ORACLE_HOME = /home/oracle/product/9.2.0) (PROGRAM = extproc) ) (SID_DESC = (GLOBAL_DBNAME = webdb.webex.com) (ORACLE_HOME = /home/oracle/product/9.2.0) (SID_NAME = webdb) ) ) 说明:1.HOST = 220svr252的值要和/etc/hosts中的相同. 2.创建220svr252_webdb.lsr 220SVR252_WEBDB = (DESCRIPTION_LIST = (DESCRIPTION = (PROTOCOL_STACK = (PRESENTATION = TTC) (SESSION = NS) ) (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 220SVR252)(PORT = 1521)) ) ) ) SID_LIST_220SVR252_WEBDB = (SID_LIST = (SID_DESC = (GLOBAL_DBNAME = webdb.webex.com) (ORACLE_HOME = /home/oracle/product/9.2.0) (SID_NAME = webdb) ) ) 说明:这里DB的名称是webdb,前面加上220svr252_是为了区别,没有特别的含义和标识. 3.启动DB $dbstart $lsnctl start 220svr252_webdb $sqlplus / nolog $connect / as sysdba $startup ===================================== webdb 和opdb的安装基本相似. 安装完oracle后创建相应的db,这里有两个db:220svr252_webdb 和220svr252_opdb. 1.首先从sql文件中导入tablespace sqlplus system/pass@220svr252_webdb < cr_operation_tablespaces.sql 注意:在导入这个tablespace之前,应该修改该文件中相应的信息,主要有两个地方,第一个是修改db存放的目录,然后是连接的数据库名称. 2.从sql文件中导入user,这里添加了一个test/pass的用户. sqlplus system/pass@220svr252_webdb < cr_operation_users.sql 同样要注意,在这之前要修改该文件中连接的数据库名称. 3.防止万一,给test用户添加相应的权限. sqlplus system/pass@220svr252_webdb SQL>grant resource,connect to test; 4.从正常运行的数据库中导出webdb. exp test/oracle@xxxx_xxxx owner=test log=test_web.log file=webdb.exp 5.导入该文件到新的DB中: imp system/pass@220svr252_webdb file=webdb.exp ignore=y fromuser=test touser=test commit=Y log=imp_webdb.log 在导入的过程中,忽略一些信息,一般是说shareplex用户不存在,该用户在DB完成后安装shareplex后会产生. opdb的方法是一样的,tablespace文件和user文件相同,不过一定要记得修改两文件中的信息. =========================================================== 现在有两个DB(oracle9i),webdb和opdb,两个DB之间有部分表需要进行复制,现在使用shareplex来实现,这两个DB都是安装在同一台box上,使用不同的Instance. 1.运行安装文件,该文件需要在root用户中使用. #./SharePlex_Oracle-5.1.0.511-Linux-x86-Oracle92.run 根据提示,把shareplex和data分别安装在/opt/shareplex/product和/opt/shareplex/vardir目录中. [注意]:在/etc/hosts中配置正确的hostname. 2.建立复制端口的相关文件.这里使用8000做为复制端口. 2.1.建立目录 #mkdir /opt/shareplex/vardir/splex8000 #cp -rf /opt/shareplex/vardir/* /opt/shareplrx/vardir/splex8000 2.2.建立tablespace. CREATE TABLESPACE splex8000 DATAFILE '/home/oracle/oradata/opdb/splex8000.dbf' SIZE 50M AUTOEXTEND ON NEXT 100M MAXSIZE 1000M LOGGING ONLINE PERMANENT EXTENT MANAGEMENT LOCAL AUTOALLOCATE BLOCKSIZE 8K SEGMENT SPACE MANAGEMENT MANUAL; 同样为webdb建立同样一个tablespace文件,并导入对应的库中. 2.3.生效splex8000 #SP_SYS_VARDIR=/opt/shareplex/vardir/splex8000 export SP_SYS_VARDIR #cd /opt/shareplex/product/bin #./clean_vardir.sh 9.2.0 (9.2.0是oracle的版本,这个在安装shareplex的时候有提示) 3.配置shareplex. #su - oracle #cd /opt/shareplex/product/bin #ORACLE_SID=opdb export ORACLE_SID #./ora_setup 在配置过程中,要求为shareplex的运行选择tablespace,不要使用默认值,除了temp外,其余的都使用新建立的splex8000. [注意]:在这个配置过程中,安装程序会使用sqlplus登录DB,并且使用"connect / as sysdba"连接数据库,而ora_setup本身的属性是s,所以它是以root身份去sqlplus的,如果你们DB在root帐号下无法使用"connect /as sysdba",那么这个安装就无法进行下去,总是提示用户和密码不正确,解决方法就是:chown 755 /opt/shareplex/product/bin/*,chown oracle.oinstall /opt/shareplex/product/bin/*. 4.启动和使用shareplex. 4.1启动shell是: #!/bin/sh echo "Starting splex [port=8000 vardir=/opt/vardir/splex8000]" SP_SYS_VARDIR=/opt/shareplex/vardir/splex8000 export SP_SYS_VARDIR SP_COP_TPORT=8000 export SP_COP_TPORT SP_COP_UPORT=8000 export SP_COP_UPORT /opt/shareplex/bin/sp_cop -u8000 & echo "Has been starting splex port=8000" 4.2.使用shareplex. #/opt/shareplex/product/bin/sp_ctrl sp_ctrl >port 8000 [注意]:因为两个DB是安装在同一台box上的,所以启动一次shareplex而且使用相同的端口8000就可以了. 5.配置表的复制. 5.1.OPDB-->WEBDB #cat /opt/shareplex/vardir/splex8000/config/op2web datasource:o.opdb test.CONFLICENSEINFO test.CONFLICENSEINFO 220svr252@o.webdb #cat /opt/shareplex/vardir/splex8000/config/web2op datasource:o.webdb test.CORCONTACT test.CORCONTACT 220svr252@o.opdb 5.2.激活这两个文件. sp_ctrl > activate config op2web sp_ctrl > activate config web2op |