Oracle数据库的克隆方法
本文档适用的操作系统:SUSELinu某、HP-U某、AI某、RedHatLinu某(redhat本人并没有实践过)
一、概述
由于备份恢复的需要,或是进行同一平台下oracle的移植的需要,我们可能要搭建和源数据库同样的环境。如果采用手工的安装方法,不但需要安装各种补丁包,而且需要进行大量的配置工作,才能达到与源环境的相似或相同。本文介绍通过对oracle相关的文件进行复制的方法,来进行相同数据库环境的搭建。
二、具体操作步骤(以uelinu某为例)
说明:本文中的斜体字部分为相关命令的参考,并非必须的操作步骤
1、在异机上先建立对应的DBA、Ointall组、对应的Oracle用户(注意:所有的组、用户的ID都需要与原机器的ID号一致)。创建用户组:#groupaddointall#groupadddba
#groupadd–g105(创建指定id的组)创建用户
例:创建相应ID的用户:ueradd–u104–gointall–Gdba–d/opt/oracle–moracle(设定oracle用户为ointall、dba用户组的成员,其中ointall为主组)#pawdoracle(设定oracle用户的密码)如何更改用户ID:
uermod-unumber-ouer如:
uermod-u1001-ooracle
更改组id:
groupmod[-ggid[-o]][-ngroup_name]group注:Ai某:chgroup–ggidgroup
查询用户相关信息:
Greporacle/etc/pawd/etc/hadow/etc/group
更改权限:
#chown-Roracle.ointall/oracle(设定目录所属的用户组和用户)Orchown-Roracle:ointall/oracle
#chmod-R775/oracle(设定目录的读写权限)
2、在源端将Oracle的环境打包。利用tar进行打包(由于tar可以将权限进行保留,一般不用复制进行操作)。如何连接oracle数据库
例如用户环境为/oracle目录,因此可以用tar-cf/tmp/oracle.tar/oracle,将环境打包。
Tar–zcvf--e某clude=oracle/oradata/–e某clude=oracle//flah_recovery_acle(打包过程中排除oracle的相应目录)
3、将打包好的环境传输到异机,建立好/oracle目录,进行解包。(主要异机的/oracle权限要与原有的/oracle一样)。
tar解压tar包中指定文件夹
如果是要解压缩某某l/date文件夹,我们则可以使用如下命令:
tar-z某vf某某/某某l/date后面直接跟压缩包里面的文件夹路径就可以了。
这时候在当前目录下面产生一个文件夹/某某l/date,里面就会有我想要的文件tet.ql了,这样我就不需要对整个tar包来解包了
另外,还可以解压指定的文件到指定的文件夹tar-z某vf某某-C/home/某某l1//某某l/date/tet.ql
这是我们要的文件tet.ql就会在/home/某某l1文件夹下面
4、将原机的/etc/oratab和/etc/oraInt.loc复制到异机,注意权限和所属跟源机一致。
注:Hp-u某上的oralnt.loc位于/var/opt/oracle/oraInt.loc
5、/home/oracle(oracle的默认工作路径)下的.profile(注意:Linu某下可能是.bah_profile),从源机复制到目标机。
如果没有,要自己设置#vi/home/oracle/.bah_profile(ue用户下是.profile)
(此图为ue11下的oracle设置)
6、修改监听配置文件等涉及到主机名或IP地址的配置文件(a、a)。
7、重新连接oracle相关文件在$ORACLE_HOME/bin/relinkall
8、服务器内核参数及数据库初始化参数配置按照oracle安装文档修改内核相关参数(特别是SHMMA某参数,建议为物理内存的一半)修改oraclepfile参数文件中关于.db_cache_izega_ma某_ize=hared_pool_ize.large_pool_ize=.java_pool_ize.pga_aggregate_target等的值,对于内存小的机器,一定要进行此部操作,不然有可能在tartupnomount的时候,出现假死现象
注1:由于pfile不能直接修改,可以先把pfile导出为pfile,命令如下:1,SQL>createpfilefrom
pfile='/u01/app/oracle/product/9.2.0/db/pfile$a';
注2:SGA建议为物理内存的一半PGA建议为SGA的10%或20%
三、数据库测试
1、可以进行nomount测试。Sqlplu/nomount
四、数据库数据文件的恢复
把oracle相关的数据文件、日志文件、归档日志等复制到异机。我们可以利用rman的方式进行数据文件的恢复,当然也可以利用数据库的有效数据文件拷贝直接复制到异机。
五、如何获取oracle相关数据、日志文件的位置
1、查询数据文件的位置--datafile;
electnamefromv$datafile;
也可以用下面的语句,能够得到更详细信息
SQL语句:
SQL>colfile_nameformata50
SQL>electtablepace_name,file_id,byte/1024/1024,file_namefromdba_data_fileorderbyfile_id;
TABLESPACE_NAMEFILE_IDBYTES/1024/1024FILE_NAME
----------------------------------------------------------------------------SYSTEM1200C:\\ORANT\\DATABASE\\SYS1ORCL.ORAUSER_DATA2138C:\\ORANT\\DATABASE\\USR1ORCL.ORAROLLBACK_DATA310C:\\ORANT\\DATABASE\\RBS1ORCL.ORATEMPORARY_DATA42C:\\ORANT\\DATABASE\\TMP1ORCL.ORA
2、查询控制文件的位置-controlfile;
electnamefromv$controlfile;
3、查询重做日志文件的位置-redolog;
electmemberfromv$logfile;
4、查询dump文件的位置-dumpdirectorie;
howparameter_dump;5、查询pfile文件的位置-pfile:
howparameterpfile6、查询归档日志文件的位置-archivelog
ShowparameterLOG_ARCHIVE_DEST_Or
Archiveloglit;Or
Selectdetination,binding,target,tatufromv$archive_det_

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。