此问题困扰我多日。由于不是全新安装的数据库。采用懒办法装的数据库。也不知问题在那里。
原数据库环境A:在AIX6.1.0.8,oracle10.2.0.4.0单实例。数据库名和实例为miskf。数据库文件为文件系统模式。 IP为1.1.1.3
目标系统主机名为B
需求:复制一数据库,将IP改为2.2.2.3,数据库名和实例为missc.启动EM
1、在A上执行 mksysb产生系统备份文件。对数据库文件及执行包目所在的文件系统执行snapshot.
Smitty fs ->Add File Systems—>Enhanced JFS Create snapshot Create snapshot…in New Logical Volume-
2、用mksysb恢复安装系统B,将snapshot后的数据库文件系统对应拷贝到B上。
3、确认系统B的数据库能正常启动。修改数据库名和实例名为zjmis。主要步骤如下。
3.1关闭数据库及监听器。
3.2 修改.profile的ORACLE_SID=missc 并生效。
3.3 [root:/]vi /etc/oratab
missc:/oracle10g/oracle/product/10.2.0/db_1:Y
3.4 dbs目录是用于存放数据库服务器端的参数文件Spfile、初始化文件init、还有密码文件.
对含有miskf的文件对应修改为missc。
修改密码文件方式如下:
orapwd file=$ORACLE_HOME/dbs/orapw$ORACLE_SID password=sys entries=5 force=y
3.5 修改数据库名为missc :根据旧的控制文件生成修改更新控制文件的sql语句
SQL> ALTER DATABASE BACKUP CONTROLFILE TO '/oracle/control.bkp';
SQL> ALTER DATABASE BACKUP CONTROLFILE TO TRACE;
4、oracle 10.2.0.4.0或10.2.0.5 需安装patch 8350262 .
5、配置EM管理器。确定环境变量。详见oracle DOC 549079.1
Pre-requisites before running emctl commands
1. Environment Variables
On Unix:export ORACLE_HOME=<>
export ORACLE_SID=<Database SID>
export PATH=$ORACLE_HOME/bin:$PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/lib
On Winows:set ORACLE_HOME=<>
set ORACLE_SID=<Database SID>
set PATH=%ORACLE_HOME%/bin;%PATH%
2. On unix use "which emctl" or "emctl getemhome" to verify you are executing the emctl command from the desired ORACLE_HOME.
3. Ensure that the following binaries and scripts are not Zero byte under <ORACLE_HOME>/binemctl
emctl.pl
emwd.pl
emagent
emdctl4、执行emca -config dbconfig db -repos create