红联Linux门户
Linux帮助

Oracle9i在RedHat AS3.1下的安装

发布时间:2006-08-29 00:10:23来源:红联作者:wuhu911
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
文章评论

共有 76 条评论