5.修改从主库传过来的参数文件
修改后的内容如下,注意红色部分.
[oracle@stdby ftp]$ more pfile.txt
oraclbak.__db_cache_size=272629760
oraclbak.__java_pool_size=4194304
oraclbak.__large_pool_size=4194304
oraclbak.__oracle_base='/u01/app/oracle'#ORACLE_BASE set from environment
oraclbak.__pga_aggregate_target=276824064
oraclbak.__sga_target=415236096
oraclbak.__shared_io_pool_size=0
oraclbak.__shared_pool_size=125829120
oraclbak.__streams_pool_size=0
*.audit_file_dest='/u01/app/oracle/admin/oraclbak/adump'
*.audit_trail='db'
*.compatible='11.2.0.0.0'
*.control_files='/u01/app/oracle/oradata/oraclbak/control01.ctl','/u02/app/oracle/oradata/oraclbak/control02.ctl'
*.db_block_size=8192
*.db_domain=''
*.db_name='oracl'
*.diagnostic_dest='/u01/app/oracle'
*.dispatchers='(PROTOCOL=TCP) (SERVICE=oraclXDB)'
*.memory_target=692060160
*.open_cursors=300
*.processes=150
*.remote_login_passwordfile='EXCLUSIVE'
*.undo_tablespace='UNDOTBS1'
*.db_unique_name=oraclbak
*.log_archive_config='dg_config=(oracl,oraclbak)'
*.log_archive_dest_1=
'location=/u01/archive_log/
valid_for=(all_logfiles,all_roles)
db_unique_name=oraclbak'
*.log_archive_dest_2=
'service=tar_oracl async
valid_for=(online_logfiles,primary_role)
db_unique_name=oracl'
*.log_archive_dest_state_1=enable
*.log_archive_dest_state_2=enable
*.standby_file_management=auto
*.fal_server=tar_oracl
*.fal_client=dup_oracl
*.db_file_name_convert='/u01/app/oracle/oradata/oracl/','/u01/app/oracle/oradata/oraclbak/'
*.log_file_name_convert='/u01/app/oracle/oradata/oracl/','/u01/app/oracle/oradata/oraclbak/'
创建参数文件中定义的目录(仔细检查每个目录,没有创建的话需要创建)
mkdir –p /u01/archive_log/
mkdir –p /u01/app/oracle/admin/oraclbak/adump
6.创建密码文件,创建自己的密码文件好像有问题,备库的密码文件需要跟主库一致,否则导致日志传输不到备库,有待验证.我最后是将主库的日志直接copy到备库,重命名后使用.
cp orapworacl $ORACLE_HOME/dbs
mv orapworacl orapworaclbak
7.确保备库的环境变量ORACLE_SID=oraclbak后,使用步骤5改好的pfile创建spfile
[oracle@stdby archive_log]$ echo $ORACLE_SID
oraclbak
SQL> connect / as sysdba
Connected to an idle instance.
SQL> create spfile from pfile='/u01/ftp/pfile.txt';
File created.
8.mount数据库
SQL> startup mount
ORACLE instance started.
Total System Global Area 690503680 bytes
Fixed Size 1338756 bytes
Variable Size 411042428 bytes
Database Buffers 272629760 bytes
Redo Buffers 5492736 bytes
Database mounted.
9.修改数据文件和日志文件的路径,因为备份控制文件中记录的数据文件和日志文件是在主库实例oracl目录下的,转移到备库后这些文件是存放在备库实例oraclbak目录下,所以需要修改数据文件的路径.
9.1设置standby_file_management=manual
9.2 启动数据库到mount状态,修改文件路径
alter database rename file '/u01/app/oracle/oradata/oracl/sysaux01.dbf' to '/u01/app/oracle/oradata/oraclbak/sysaux01.dbf';
alter database rename file '/u01/app/oracle/oradata/oracl/system01.dbf' to '/u01/app/oracle/oradata/oraclbak/system01.dbf';
alter database rename file '/u01/app/oracle/oradata/oracl/temp01.dbf' to '/u01/app/oracle/oradata/oraclbak/temp01.dbf';
alter database rename file '/u01/app/oracle/oradata/oracl/undotbs01.dbf' to '/u01/app/oracle/oradata/oraclbak/undotbs01.dbf';
alter database rename file '/u01/app/oracle/oradata/oracl/users01.dbf' to '/u01/app/oracle/oradata/oraclbak/users01.dbf';
alter database rename file '/u01/app/oracle/oradata/oracl/redo01.log' to '/u01/app/oracle/or