DataGuard 双节点 node1 node2
1.在node2上配置网络 包括 网卡mac地址,ip,dns名 并测试网络
2.在node1上 运行终端terminal命令--env |grep PATH
3.在node1上创建数据库 选择 特殊数据库 类型
4.在node1上 运行终端terminal命令--env |grep ORA
全局数据库名要和配置文件里的Oracle_sid设置的同名.
5.在node1上不设置默认归档日志, alter system set db_recovery_file_dest='' scope=spfile;
同时需要启用arch日志进程 并手工创建归档日志目录及路径
(mkdir -p /u01/app/arch 在DBCA上添加相关归档路径/u01/app/arch)
注意事项: 在更换默认归档路径后,不会立即生效,应重新生成spfile文件
create spfile='' from pfile;
------------------------------------------
创建数据库开始---结束
完成后
1.在node1上 运行终端命令--ps -ef 查看进程,出现oracle相关服务进程
注意:/etc/hosts 查看id,IP 在/etc/hosts下node1和node2都需配置
为主机设置快捷方式 ^_^
2.netca(dbca) -----netmgr & 也可以
主数据库 创建listener
查看listener---在/oracle下执行cd network/admin/
里面有个 listener.ora文件
编辑文件命令 vi listener.ora
3.netca配置tnsname.ora node1和node2都需配置(连接后台服务的)
注意:在从库上面也要在建立一个一模一样的库 采取方法: 从主库复制一份过去
详见: 最下面 使用RMAN duplicate命令复制数据库
ps -ef | more查看配置是否成功也可以在netca界面上看结果
ps -ef |grep oracle 查看进程
-----------------------------------
1.在node2上配置listener,tnsname
2.配置完后 测试两个node的网络互通.---------sqlplus scott/tiger@test2
sqlplus scott/tiger@test1
---------------------------------------
开始配置DataGuard
3.1 配置主库(Primary Database)相关工作:
1.enable forced logging---alter database force logging;
2.create a password file ---配置dbca时 oracle 自动创建
---database不处于open状态时使用,处于open状态是 使用 user$表
3.setting 主库 初始化 参数 ---主要工作
++++++++++++++++
db_unique_name=uqn_node1 --- 自定义命名
log_archive_config='dg_config=(uqn_node1, uqn_node2)'
log_archive_dest_2='SERVICE=lsnode2 ---tnsname
valid_for=(ONLINE_LOGFILES,PRIMARY_ROLE)
db_unique_name=uqn_node2'
LOG_ARCHIVE_DEST_STATE_1=ENABLE
LOG_ARCHIVE_DEST_STATE_2=ENABLE
fal_server=lsnode2
fal_client=lsnode1
STANDBY_FILE_MANAGEMENT=AUTO
*.db_file_name_convert='/u02/oradata/test1','/oradata/test1' *.log_file_name_convert='/u02/oradata/test1','/oradata/test1'
4.enable archiving
shutdown immediate;
startup mount;
alter database archivelog;
alter database open;
3.2 创建主库-备库(Primary-Standby)
1.备份主库数据文件----rman备份 backup database
2.创建控制文件 for the Standby Database
startup mount;
alter database create standby controlfile as '/u01/oradata/test1/standby.ctl';
alter database open;
配置初始化参数 for the Standby Database
4.从主库拷贝文件到备库
包括datafiles,standby control file,initial file
Ps:create pfile from spfile;
前面在创建oracle初始化参数文件时是使用initdgdemo.ora
文件,而之前的spfiledgdemo.ora文件应该删除掉.
删除命令:rm -f spfiledgdemo.ora
cp initdgdemo.ora /u02/oradata
cp orapwdgdemo /u02/oradata
检查一下/u01/oradata目录下的文件
包括arch,dgdemo,initdgdemo.ora,orapwdgdemo,boston.ctl
有两种方式: 1.打包用ftp工具传过去
在/u01目录下 2.scp -r admin oradata root@IP:/u01
5.为备库配置环境
修改配置文件之前先执行一下操作:
先把/oradata/下的控制文件用boston.ctl替换掉,
在dgdemo下
rm -f control0*
mv ../boston.ctl ./control01.ctl
cp control01.ctl control02.ctl
cp control01.ctl control03.ctl
将初始化参数文件拷到/oracle/dbs 下
mv $ORACLE_HOME/dbs/inittest1.ora .
mv $ORACLE_HOME/dbs/orapwtest1 .
setting 备库 初始化 参数
*.db_unique_name=uqn_node2 --- 自定义命名
*.log_archive_config='dg_config=(uqn_node1, uqn_node2)'
*.log_archive_dest_1='location=/u01/app/arch'
*.log_archive_dest_2='SERVICE=lsnode1 ---tnsname
valid_for=(ONLINE_LOGFILES,PRIMARY_ROLE)
db_unique_name=uqn_node1'
*.LOG_ARCHIVE_DEST_STATE_1=ENABLE
*.LOG_ARCHIVE_DEST_STATE_2=ENABLE
*.fal_server=lsnode1
*.fal_client=lsnode2
*.STANDBY_FILE_MANAGEMENT=AUTO
*.db_file_name_convert='/u01/app/oradata','/u01/app/oradata'
*.log_file_name_convert='/u01/app/oradata','/u01/app/oradata'
----------------实例
test1.__db_cache_size=427819008
test1.__java_pool_size=4194304
test1.__large_pool_size=4194304
test1.__shared_pool_size=167772160
test1.__streams_pool_size=0
*.audit_file_dest='/u01/app/admin/test1/adump'
*.background_dump_dest='/u01/app/admin/test1/bdump'
*.compatible='10.2.0.1.0'
*.control_files='/u01/app/oradata/control01.ctl','/u01/app/oradata/control02.ctl','/u01/app/oradata/control03.ctl'
*.core_dump_dest='/u01/app/admin/test1/cdump'
*.db_block_size=8192
*.db_domain=''
*.db_file_multiblock_read_count=16
*.db_name='test1'
*.db_recovery_file_dest_size=2147483648
*.db_recovery_file_dest=''
*.dispatchers='(PROTOCOL=TCP) (SERVICE=test1XDB)'
*.job_queue_processes=10
*.log_archive_start=TRUE
*.open_cursors=300
*.pga_aggregate_target=201326592
*.processes=150
*.remote_login_passwordfile='EXCLUSIVE'
*.sga_target=605028352
*.undo_management='AUTO'
*.undo_tablespace='UNDOTBS1'
*.user_dump_dest='/u01/app/admin/test1/udump'
*.db_unique_name=test1
*.log_archive_config='dg_config=(test1, dubdg)'
*.log_archive_dest_1='location=/u01/app/oradata'
*.log_archive_dest_2='service=dubdg2 valid_for=(online_logfiles,primary_role) db_unique_name=dubdg'
*.log_archive_dest_state_1=enable
*.log_archive_dest_state_2=enable
*.fal_server=dubdg2
*.fal_client=dubdg1
*.standby_file_management=auto
*.db_file_name_convert='/u01/app/oradata','/u01/app/oradata'
*.log_file_name_convert='/u01/app/oradata','/u01/app/oradata'
详见: 最下面 使用RMAN duplicate命令复制数据库