欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

Linux下Oracle10_Dataguard配置与应用

程序员文章站 2024-02-11 11:36:58
...

DataGuard 双节点 node1 node21.在node2上配置网络 包括 网卡mac地址,ip,dns名 并测试网络2.在node1上 运行终端terminal命令--en

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命令复制数据库

Linux下Oracle10_Dataguard配置与应用