本文档针对初级DBA
此时的环境应该是:主库已经正常使用,有数据;备库操作系统和数据库软件已经安装完毕。
1、设置 prod库
1.1、用系统oracle用户创建归档目录
mkdir /u01/archivelog
ls -l /u01/
1.2、指定归档路径及设置为归档模式
alter system set log_archive_dest_1='location=/u01/archivelog';
archive log list;
shutdown immediate;
startup mount;
alter database archivelog;
archive log list;
alter database open;
1.3、启用强制日志功能
alter database force logging;
select log_mode,force_logging from v$database;
1.4、创建pfile
create pfile from spfile;
1.5、用oracle用户把pfile文件、口令文件传输到standby
cd $ORACLE_HOME/dbs
scp orapwprod oracle@192.168.2.131:/u01/oracle/db_1/dbs
scp initprod.ora oracle@192.168.2.131:/u01/oracle/db_1/dbs
2、设置 standby数据库
2.1、把口令文件和pfile名字改成standby的
cd $ORACLE_HOME/dbs
mv orapwprod orapwstandby
mv initprod.ora initstandby.ora
10.2、修改 initstandby.ora
把上面标注的prod 都改成standby
注意db_name的prod 值不要修改
在最后添加以下参数
*.db_unique_name='standby' 确认为备库的标识名称
*.db_file_name_convert='/u01/oradata/prod','/u01/oradata/standby' 转换数据文件目录
*.log_file_name_convert='/u01/oradata/prod','/u01/oradata/standby' 转换日志文件目录
*.log_archive_config='dg_config=(prod,standby)' 归档日志配置(主,备唯一标识名称)
*.log_archive_dest_1='location=/u01/oradata/standby/archivelog valid_for=(all_logfiles,all_roles) db_unique_name=standby' 备库归档本地位置
*.log_archive_dest_2='service=prod lgwr async valid_for=(online_logfiles,primary_role) db_unique_name=prod' 备库归档远程目标库位置
*.log_archive_dest_state_1=enable
*.log_archive_dest_state_2=enable
*.log_archive_max_processes=10
*.fal_server=prod
*.fal_client=standby
*.standby_file_management=auto
2.3、创建一些目录
根据参数文件里提到的目录进行创建,否则启动到nomount时会报错。
下面是oracle10g举例。11g数据库目录减少。注意使用oracle用户进行创建。