oracle 10G-dataguard安装配置测试

环境:

oracle 10.2.0.1.0 on oracle linux 5.7

主库 sid=brentt 主机名:rac03 ip:192.168.56.30
备库 sid=standby 主机名:ora01 ip:192.168.56.5

[@more@]

一、配置主库:
1.alter database fore logging;
2.创建密码文件(如果不存在)
3.最大可用和最大保护需创建standby redo log,需要比联机日志多一组,而且大小需一致:
ALTER DATABASE ADD STANDBY LOGFILE GROUP 4 ('/u01/oradata/brentt/redo04.log') size 50M;
ALTER DATABASE ADD STANDBY LOGFILE GROUP 5 ('/u01/oradata/brentt/redo05.log') size 50M;
ALTER DATABASE ADD STANDBY LOGFILE GROUP 6 ('/u01/oradata/brentt/redo06.log') size 50M;
ALTER DATABASE ADD STANDBY LOGFILE GROUP 7 ('/u01/oradata/brentt/redo07.log') size 50M;
4.配置tnsname.ora,添加服务命名,例如
standby=
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST =192.168.56.5)(PORT=1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(service_name= standby)
)
)

primary=
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST =192.168.56.30)(PORT=1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(service_name= brentt)
)
5.设置初始化参数,包括
db_name=brentt
db_unique_name=brentt
log_archive_config=dg_config=(brentt,standby) --该参数通过DG_CONFIG属性罗列同一Data Guard中DB_UNIQUE_NAME(含primary,standby,逗号隔开)
LOG_ARCHIVE_DEST_1='location=/u01/arch VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=brentt' --归档到哪里就是哪db_unique_name
fal_server=brentt
fal_client=standby
6.添加远程归档目录
alter system set LOG_ARCHIVE_DEST_2='SERVICE=standby LGWR ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=standby' --此处db_unique_name为standby端的
7.生成rman备份
run {
allocate channel ch1 device type disk;
backup database format '/home/oracle/backup/%U.dbf';
backup archivelog all format '/home/oracle/backup/archive.dbf';
sql "alter database create standby controlfile as ''/home/oracle/backup/control01.ctl''";
release channel ch1;
}
二、创建物理备库:
1.创建备库的相关目录。
2.创建备库的参数文件:
将主库的参数文件拷贝到备库,修改:
db_name=brentt --一个dg中需要保持一致
db_unique_name=standby
log_archive_config=dg_config=(brentt,standby) --该参数通过DG_CONFIG属性罗列同一Data Guard中DB_UNIQUE_NAME(含primary,standby,逗号隔开)
LOG_ARCHIVE_DEST_1='location=/u01/arch'
fal_server=brentt
fal_client=standby
db_file_name_convert='/u01/oradata/brentt', '/u01/oradata/standby'
log_file_name_conver='/u01/oradata/brentt', '/u01/oradata/standby'
standby_file_management=auto
4.将相关文件拷到备库机器中的相应目录,包括:controlfile、pfile、datafile的备份 --原来备份在哪里就还要拷到哪里
5.创建密码文件,密码需要和源库一致
6.创建监听,例如listener.ora内容:
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = /u01/oracle)
(PROGRAM = extproc)
)
(SID_DESC =
(global_dbname= standby)
(ORACLE_HOME = /u01/oracle)
(sid_name = standby)
)
)

LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = ora01)(PORT = 1521))
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0))
)
)
tnsnames.ora的内容和源库一致!
5.启动备库到nomout,再到mount:alter database mount standby database;
6.打开监听
lsnrctl start

三、备库中打开应用日志:
启动 redo 应用
SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE DISCONNECT FROM SESSION;
启动实时应用
SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE USING CURRENT LOGFILE DISCONNECT FROM SESSION;
停止 standby
正常情况下,我们停止也应该是先停止 redo 应用,可以通过下列语句:
SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE CANCEL;
然后再停止 standby 数据库
SQL> SHUTDOWN IMMEDIATE;



查看数据库角色和保护模式:
SQL>select database_role,protection_mode from v$database;
查看归档目的:
SQL>select * from v$archived_dest;
查看归档日志是否应用:
SQL>select * from v$archived_log; --其中applied字段!
取消备库应用日志:
SQL> alter database recover managed standby database cancel;
只读打开备库
SQL>alter database open read only;

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/26675752/viewspace-1060482/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/26675752/viewspace-1060482/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值