OS:Oracle Linux 5u8 64bit
DB:11.2.0.4
可以参考另一篇博文: 12c RAC下搭建物理备用
建议使用ASM作为存储,本次因故使用文件系统。
准备工作:
1. Primary数据库运行在归档模式,并启用强制日志。
2. 备用系统安装RDBMS,不创建数据库。
3. ASM(可选)
4. standby数据库创建目录(数据文件、FRA、audit_trail所在目录以及控制文件所在的目录,因为若目录不存在,Oracle不会自动创建上层目录)
5. standby数据库配置监听器并启动(netca)
6. 所有系统配置TNSNAME,包含了自己和所有其他站点。
准备Standby系统:
1. 配置静态监听
listner.ora中加入
重启监听器
2. 创建一个参数文件用来启动实例,只需包含DB_NAME,当用RMAN创建备用数据库期间该文件将被替换。
3. 复制Primary数据库的密码文件到相应路径,并修改文件名(注意大小写,和ORACLE_SID一致)
4. 以pfile= initjiangsu . ora启动实例到nomount
Primary数据库准备
1. 创建SRL,数量要比在线日志组多1,大小相同,不要复用。
用RMAN在Primary上创建Standby数据库
注意下面第2行,connect target后一定要显式写出密码,而不能用connect target /,否则会出现如下报错:
ORA-01017: invalid username/password; logon denied
2016.1.30添加
上例中如果Primary是RAC,Standby是单实例,则需注意以下:
由于Primary默认会将自身的参数传递给Standby,因此将会把cluster_database=TRUE传递给Standby,因此需显式加上
set cluster_database='FALSE'
另外,有可能会报audit_file_dest无法创建的错误,因此最好事先创建好该目录,并直接显式加上
set audit_file_dest=''
2016.3.1 添加
set standby_archive_dest='+FRA'
不设置这个参数,备库的归档路径默认在?/dbs/arch
2016.6.13 添加
Primary端需要修改spfile参数并重启:
2018.4.10 添加
当库特别大且正在运行时,不可先以read only打开库,需要先运行DG,待同步后再取消同步-只读打开库-重新同步。
DB:11.2.0.4
可以参考另一篇博文: 12c RAC下搭建物理备用
建议使用ASM作为存储,本次因故使用文件系统。
准备工作:
1. Primary数据库运行在归档模式,并启用强制日志。
点击(此处)折叠或打开
- ALTER DATABASE FORCE LOGGING;
- archive log list
3. ASM(可选)
4. standby数据库创建目录(数据文件、FRA、audit_trail所在目录以及控制文件所在的目录,因为若目录不存在,Oracle不会自动创建上层目录)
5. standby数据库配置监听器并启动(netca)
6. 所有系统配置TNSNAME,包含了自己和所有其他站点。
准备Standby系统:
1. 配置静态监听
listner.ora中加入
点击(此处)折叠或打开
- SID_LIST_LISTENER =
- (SID_LIST =
- (SID_DESC =
- (SID_NAME = jiangsu)
- (ORACLE_HOME = /u01/app/oracle/product/11.2.0/db_1)
- (GLOBAL_DBNAME = jiangsu)
- )
- )
点击(此处)折叠或打开
- lsnrctl reload
点击(此处)折叠或打开
- echo 'DB_NAME=WHATEVER' > $ORACLE_HOME/dbs/initjiangsu.ora
4. 以pfile= initjiangsu . ora启动实例到nomount
Primary数据库准备
1. 创建SRL,数量要比在线日志组多1,大小相同,不要复用。
点击(此处)折叠或打开
- alter database add standby logfile '/oradata/shanghai/standby01.log' size 50M;
- alter database add standby logfile '/oradata/shanghai/standby02.log' size 50M;
- alter database add standby logfile '/oradata/shanghai/standby03.log' size 50M;
- alter database add standby logfile '/oradata/shanghai/standby04.log' size 50M
注意下面第2行,connect target后一定要显式写出密码,而不能用connect target /,否则会出现如下报错:
ORA-01017: invalid username/password; logon denied
点击(此处)折叠或打开
- RMAN>
- connect target sys/oracle@shanghai
- connect auxiliary sys/oracle@jiangsu
- run {
allocate channel prmy1 type disk;
allocate channel prmy2 type disk;
allocate channel prmy3 type disk;
allocate channel prmy4 type disk;
allocate channel prmy5 type disk;
allocate auxiliary channel stby1 type disk;
duplicate target database for standby from active database
spfile
parameter_value_convert 'shanghai','jiangsu'
set 'db_unique_name'='jiangsu'
set control_files='/oradata/jiangsu/control01.ctl'
set db_create_file_dest='/oradata'
set db_create_online_log_dest_1='/oradata'
set db_create_online_log_dest_2='/u01/app/oracle/fast_recovery_area'
set db_recovery_file_dest='/u01/app/oracle/fast_recovery_area'
set DB_RECOVERY_FILE_DEST_SIZE='4G' - set audit_file_dest='/u01/app/oracle/admin/jiangsu/adump'
- set standby_archive_dest='+FRA'
- set DB_FILE_NAME_CONVERT='/oradata/shanghai/','/oradata/jiangsu/'
set log_archive_max_processes='4'
set fal_client='jiangsu'
set fal_server='shanghai'
set standby_file_management='AUTO'
set log_archive_config='dg_config=(shanghai,jiangsu)'
set log_archive_dest_2='service=shanghai ASYNC
valid_for=(ONLINE_LOGFILES,PRIMARY_ROLE)
db_unique_name=shanghai'
nofilenamecheck;
sql channel prmy1 "alter system set
log_archive_config=''dg_config=(shanghai,jiangsu)''";
sql channel prmy1 "alter system set
log_archive_dest_2=''service=jiangsu ASYNC
valid_for=(ONLINE_LOGFILES,PRIMARY_ROLE)
db_unique_name=jiangsu''";
sql channel prmy1 "alter system set log_archive_max_processes=4";
sql channel prmy1 "alter system set fal_client=shanghai";
sql channel prmy1 "alter system set fal_server=jiangsu";
sql channel prmy1 "alter system set standby_file_management=AUTO"; - sql channel prmy1 "alter system archive log current";
allocate auxiliary channel stby type disk; - sql channel stby1 "alter database recover managed standby database
using current logfile disconnect";
}
上例中如果Primary是RAC,Standby是单实例,则需注意以下:
由于Primary默认会将自身的参数传递给Standby,因此将会把cluster_database=TRUE传递给Standby,因此需显式加上
set cluster_database='FALSE'
另外,有可能会报audit_file_dest无法创建的错误,因此最好事先创建好该目录,并直接显式加上
set audit_file_dest=''
2016.3.1 添加
set standby_archive_dest='+FRA'
不设置这个参数,备库的归档路径默认在?/dbs/arch
2016.6.13 添加
Primary端需要修改spfile参数并重启:
点击(此处)折叠或打开
- alter system set DB_FILE_NAME_CONVERT='/oradata/jiangsu/','/oradata/shanghai/' scope=spfile;
当库特别大且正在运行时,不可先以read only打开库,需要先运行DG,待同步后再取消同步-只读打开库-重新同步。
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/22621861/viewspace-1374443/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/22621861/viewspace-1374443/