欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

克隆Oracle Home(10g2)

程序员文章站 2022-06-16 18:58:18
...

克隆一个已经存在的Oracle Home,免掉新安装oracle10g软件的痛苦,如果原Oracle Home已经安装了patch就省得打patch了。一、在目标

克隆一个已经存在的Oracle Home,免掉新安装oracle10g软件的痛苦,如果原Oracle Home已经安装了patch就省得打patch了。

一、在目标主机172.19.111.37上做安装前准备工作
1、增加组和用户(和克隆主机的目录结构一样)
# groupadd oinstall
# groupadd dba
# userdel oracle10
# useradd -g oinstall -G dba -d /opt/oracle/oracle10 -m -s /bin/ksh oracle10
# passwd -r files oracle10
2、建立需要的目录
# mkdir /opt/oracle/oradata/oracle10_data (存放将来建库的数据文件)
# chown oracle10:oinstall /opt/oracle/oradata/oracle10_data
# chmod 755 /opt/oracle/oradata/oracle10_data
# mkdir /opt/oracle/oradata/flash_recovery_area (存放将来建库的闪回文件)
# chown oracle10:oinstall /opt/oracle/oradata/flash_recovery_area
# chmod 755 /opt/oracle/oradata/flash_recovery_area
3、修改oratab文件权限
# more /var/opt/oracle/oratab
# chown oracle10:oinstall /var/opt/oracle/oratab
# chmod 755 /var/opt/oracle/oratab
4、停止已有的oracle监听进程。
# su - oracle
$ lsnrctl stop
$ sqlplus '/as sysdba'
SQL> shutdown immediate

二、停止和克隆主机172.19.111.38上ORACLE_HOME相关的所有进程
$ emctl stop dbconsole (停Database Control)
$ lsnrctl stop (停Net Listener)
$ isqlplusctl stop (停iSQL*PLUS)
$ searchctl stop (停Ultra Search)

三、对克隆主机ORACLE_HOME目录下内容打zip包
$ cd $ORACLE_HOME/../
$ zip -r db_1.zip /opt/oracle/oracle10/app/product/10.2.0/Db_1
注意,,不要把admin、flash_recovery_area、oradata目录打包,这些克隆后重新生成

四、拷贝zip包和.profile文件到目标主机
$ ftp 172.19.111.37
ftp> user oracle10 oracle10
上传db_1.zip和.profile

五、进入目标主机解压zip包
$ . .profile
$ unzip -d / db_1.zip

六、进入解压后的ORACLE_HOME目录,删除所有的$ORACLE_HOME/network/admin/*.ora文件
$ cd $ORACLE_HOME/network/admin
$ rm *.ora

七、以clone模式启动OUI(无需XBrower登陆),ORACLE_HOME_NAME要唯一
$ $ORACLE_HOME/oui/bin/runInstaller -silent -clone ORACLE_HOME="/opt/oracle/oracle10/app/product/10.2.0/Db_1" ORACLE_HOME_NAME="db_1"

八、新建数据库(得用XBrower登陆)
$ cd $ORACLE_HOME/bin
$ ./dbca

九、网络配置助手(得用XBrower登陆)
$ cd $ORACLE_HOME/bin
$ ./netca
分别做Listener configuration和Local net service name configuration(假设配置为orcl10)

十、测试
$ ps -ef | grep ora_ (检查oracle10g是否启动)
$ lsnrctl status (检查监听是否启动)
$ tnsping orcl10 (检查配置的网络服务名是否正确)
$ emctl start dbconsole (启动database console)
$ isqlplusctl start (启动isqlplus)
进入 :5500/em/ 查看数据库状态信息

克隆Oracle Home(10g2)