Linux下Oracle10_Dataguard配置与应用
中国it实验室 【转载】 2009年03月25日 18:18
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命令复制数据库
注意:在从库上面也要在建立一个一模一样的库 采取方法: 从主库复制一份过去
详见: 最下面 使用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命令复制数据库
6.启动物理备库(补充:startup open read only 默认备库就是只读启动)
ps -ef 进程查看 lsnrctl start---主备库--------------------注意监听: startup---主库 测试lsnode2 访问 1 ---sqlplus system/oracle@lsnode1 startup---备库 startup mount; -------------------- Start Redo Apply: alter database recover managed standby database disconnect from session; 到这一步,DataGuard 已经配置好了.--------------------测试:在主库上执行 创建一个表scott_dept_test alter system switch logfile; 或者alter system archive log current;看备库那边有没有接收主库的redo log信息; |
7.验证物理备库是否运行正常
接收主库多少redo log 信息
select sequence#,first_time,next_time from v\$archived_log order by sequence#;select sequence#,applied from v\$archived_log order by sequence#; |
8.管理备库:
当备库处在 read-only状态时, 备库仍然可以接收主库的archivelog信息,也可以redo apply 但是在备库查询时 不能redo apply.------------------------ 取消redo apply or real-time apply; alter database recover managed standby database cancel; (open read-only access; alter database open; 可以查询主库的表了...)-------------------------------又要切换回到执行状态呵 apply:alter database recover managed standby database disconnect from session; alter database recover managed standby database using current logfile; -----启动real-time apply 主备库切换:防止主库损坏时,备库可以及时运行select name,database_role from v\$database; 主库切换: alter database commit to switchover to physical standby with session shutdown;startup nomount; alter database mount standby database; recover managed standby database disconnect;备库执行: alter database commit to switchover to primary; 切换问题: -------------------------------------------- select sequence#,applied from v\$archived_log order by sequence#;查了 redo apply 是 no坏坏公主 21:56:05 SELECT SWITCHOVER_STATUS FROM V\$DATABASE; 为何显示的是RECVOERY NEEDED 坏坏公主 21:59:07 是怎么回事呢 相关回答:原来遇到过,好像是切换前要确认你的的从库是否正常应用了所有的日志,如果从库和主库不同步是切不过去的。有空帮你再测试模拟一下。从库在redo apply yes 时, 主库才能被切换 --------------------------------------------------------------- 快速创建DataGuard --------------需要注意: 前面的配置步骤还是要的 总之 一个原则 保证主从库的一致性使用RMAN duplicate命令复制数据库9月 21, 2007 at 10:17 上午 · Filed under 安装配置 去年刚开始学习RMAN的时候就知道有这个功能,但是由于考试不考这个,书上也没有关于这条命令的详细解释, 1.为新数据库创建服务、初始化参数文件、密码文件、监听,在源数据库配置本地服务名指向新数据库, 注意初始化参数文件中记得指定db_file_name_convert和log_file_name_convert参数,以便后面rman复制数据库的时候知道该把数据文件和日志文件放到哪里去,db_file_name_convert和 log_file_name_convert参数的格式如下:(’源数据库数据文件目录’,'新数据库数据文件目录’)2.在sqlplus中用startup nomount将新数据库启动,然后退出sqlplus,这里一定要退出, (rman也一样quit) 否则会导致后面复制数据库时挂在那里,因为复制数据库过程中有一个步骤是shutdown,而shutdown会等待用户会话结束,所以这里不退出,后面会一直等待,我在这里浪费了不少时间,后来才恍然大悟明白原因3.在源数据库启动rman,连接到target和auxiliary,这里假设新数据库的sid是aux, 创建的本地服务名为dg2,用如下命令启动rmanrman target / auxiliary sys/sys@aux4.为从库创建控制文件备份---------在做这一步之前 最好去删除之前的backup,copy crosscheck backup; -- delete noprompt backup;--crosscheck copy; delete copy backup format '/u01/app/backup/%U.bkp' database plus archivelog; 数据文件 日志文件backup format '/u01/app/backup/%U.bkp' current controlfile for standby; 控制文件scp *.bkp root@dg1:/u01/app/backup --------------下面是默认的 rman>backup current controlfile for standby;5.对源数据库和归档日志做全备份rman>backup database plus archivelog;----------在默认路径 有可能不匹配scp *.bkp root@dg1:/u01/app/backup ---------------6.将备份从源数据库复制到新数据库同样的目录位置rman>duplicate target database for standby nofilenamecheck;注意to auxdb,这里要指定新数据库的sid,duplicate命令完成后,新数据库就可以使用了 ---------------------------------------------- select spid from v\$process where addr=(select paddr from v\$session where sid=(select sid from v\$mystat where rownum<=1)); set pagesize 100 set linesize 200 SQL> show parameter log_archive |
- 相关阅读:
- ·全新配置方案 IBM x3650 M5服务器促销
//server.zol.com.cn/558/5586337.html - ·新疆携手华为企业云 推进"天山云"应用
//server.zol.com.cn/557/5576113.html - ·“天山云”应用促进新疆信息化建设
//server.zol.com.cn/557/5578847.html - ·主流配置2U之选 IBM x3650 M5服务器促销
//server.zol.com.cn/556/5564747.html - ·游戏不支持Linux咋办?3种方法告诉你
//server.zol.com.cn/552/5525279.html