• --:)欢迎访问锋网源码(:--
  • 首页
  • RSS订阅
  • 常用软件
  • 网页模板
  • 网站运作
  • 锋网学院
  • 繁體中文

  • 学院首页
  • 新闻资讯
  • 网站运营
  • 网站开发
  • 美工设计
  • 数据库类
  • 服务器类
  • 网络应用
  • 操作系统
  • 软件教学
编程开发   认证考试   网络安全   文章搜索: 高级搜索
会员登录/控制面版 您的位置: 学院首页 >> 数据库类 >> 文章内容
 

精彩推荐

 
 

本类推荐文章

  • ACCESS集锦
 
 

本类阅读排行

  • 用SQL实现分布式数据复制
  • 数据库聊天室的“无刷新”技..
  • SQL语言快速入门之一 &..
  • 用Access 2000进行班级管理
  • Delphi中的Access技巧集
  • 浅谈ACCESS数据库升迁SQLSER..
  • 如何更改Access默认的中文输..
  • SQL Server 连接基础知识
  • 检查sql字符串中是否有单引号..
  • 基于WEB的数据库查询
  • ORACLE学习笔记--性能优化
  • ACCESS集锦
  • 能否编译mdb文件到exe文件?
  • ado如何使用sql函数?
  • 建立Access 数据库的安全门
  • Oracle数据库维护常用SQL语句..
  • Oracle数据库维护常用SQL语句..
  • 在 Access 中使用“存储过程..
  • Access 的最大容量
  • Vista下安装SQL Server 2005..
 
 

Oracle 10g使用RMAN创建physical standby

  • 日期:2008-08-07     人气:     出处:     作者:
  • 字体大小:
  • 小
  • 中
  • 大

1.试验环境

SQL> select * from v$version;


BANNER

----------------------------------------------------------------

Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Prod

PL/SQL Release 10.2.0.1.0 - Production

CORE 10.2.0.1.0 Production

TNS for Linux: Version 10.2.0.1.0 - Production

NLSRTL Version 10.2.0.1.0 - Production

 

2.确认主库处于归档模式

SQL> archive log list;

Database log mode Archive Mode

Automatic archival Enabled

Archive destination /u02/arch

Oldest online log sequence 154

Next log sequence to archive 156

Current log sequence 156

 

3.创建备库instance

windows平台利用oradim工具创建一个新的instance,

unix/linux平台设置新的ORACLE_SID即可

 


4.准备好主备库的参数文件

主库:

orcl.__db_cache_size=184549376

orcl.__java_pool_size=4194304

orcl.__large_pool_size=4194304

orcl.__shared_pool_size=88080384

orcl.__streams_pool_size=0

*.audit_file_dest='/u01/oracle/admin/orcl/adump'

*.background_dump_dest='/u01/oracle/admin/orcl/bdump'

*.compatible='10.2.0.1.0'

*.control_files='/u01/oracle/oradata/orcl/control01.ctl','

/u01/oracle/oradata/orcl/control02.ctl','

/u01/oracle/oradata/orcl/control03.ctl'

*.core_dump_dest='/u01/oracle/admin/orcl/cdump'

*.db_block_size=8192

*.db_domain=''

*.db_file_multiblock_read_count=16

*.db_name='orcl'

*.dispatchers='(PROTOCOL=TCP) (SERVICE=orclXDB)'

*.job_queue_processes=10

*.log_archive_dest_1='LOCATION=/u02/arch'

*.log_archive_format='%t_%s_%r.dbf'

*.nls_language='SIMPLIFIED CHINESE'

*.nls_territory='CHINA'

*.open_cursors=300

*.pga_aggregate_target=94371840

*.processes=150

*.remote_login_passwordfile='EXCLUSIVE'

*.sga_target=285212672

*.undo_management='AUTO'

*.undo_tablespace='UNDOTBS1'

*.user_dump_dest='/u01/oracle/admin/orcl/udump'

#################################

db_unique_name=node1

service_names=orcl

log_archive_config='dg_config=(node1,node2)'

log_archive_dest_2='service=dbstandby

valid_for=(online_logfiles,primary_role) db_unique_name=node2'

log_archive_dest_state_1=enable

log_archive_dest_state_2=enable

fal_server=dbstandby

standby_file_management=AUTO

 

备库:

orcl.__db_cache_size=184549376

orcl.__java_pool_size=4194304

orcl.__large_pool_size=4194304

orcl.__shared_pool_size=88080384

orcl.__streams_pool_size=0

*.audit_file_dest='/u01/oracle/admin/orcl/adump'

*.background_dump_dest='/u01/oracle/admin/orcl/bdump'

*.compatible='10.2.0.1.0'

*.control_files='/u01/oracle/oradata/orcl/control01.ctl','

/u01/oracle/oradata/orcl/control02.ctl','

/u01/oracle/oradata/orcl/control03.ctl'

*.core_dump_dest='/u01/oracle/admin/orcl/cdump'

*.db_block_size=8192

*.db_domain=''

*.db_file_multiblock_read_count=16

*.db_name='orcl'

*.dispatchers='(PROTOCOL=TCP) (SERVICE=orclXDB)'

*.job_queue_processes=10

*.log_archive_dest_1='LOCATION=/u02/arch'

*.log_archive_format='%t_%s_%r.dbf'

*.nls_language='SIMPLIFIED CHINESE'

*.nls_territory='CHINA'

*.open_cursors=300

*.pga_aggregate_target=94371840

*.processes=150

*.remote_login_passwordfile='EXCLUSIVE'

*.sga_target=285212672

*.undo_management='AUTO'

*.undo_tablespace='UNDOTBS1'

*.user_dump_dest='/u01/oracle/admin/orcl/udump'

#################################

db_unique_name=node2

service_names=orcl

log_archive_config='dg_config=(node1,node2)'

log_archive_dest_2='service=dbprimary

valid_for=(online_logfiles,primary_role) db_unique_name=node1'

log_archive_dest_state_1=enable

log_archive_dest_state_2=enable

fal_server=dbprimary

fal_client=dbstandby

standby_file_management=AUTO

 

5.生成password file

c:/>orapwd file=d:/oracle/ora92/DATABASE/PWDtest.ORA password=pass

或者直接将主库上的密码文件copy一份到备库上

 

6.配置网络

配置主备库的listener.ora,tnsnames.ora。修改完listener.ora后需要重启监听器。


主库:


listener.ora


SID_LIST_LISTENER =

(SID_LIST =

(SID_DESC =

(SID_NAME = PLSExtProc)

(ORACLE_HOME = /u01/oracle/product/10.2.0)

(PROGRAM = extproc)

)

)


LISTENER =

(DESCRIPTION_LIST =

(DESCRIPTION =

(ADDRESS = (PROTOCOL = TCP)(HOST = s1.gti.com)(PORT = 1521))

(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0))

)

)

 

tnsnames.ora


dbprimary =

(DESCRIPTION =

(ADDRESS_LIST =

(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.131)(PORT = 1521))

)

(CONNECT_DATA =

(SERVICE_NAME = orcl)

)

)


dbstandby =

(DESCRIPTION =

(ADDRESS_LIST =

(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.132)(PORT = 1521))

)

(CONNECT_DATA =

(SERVICE_NAME = orcl)

)

)

 

备库:


listener.ora


SID_LIST_LISTENER =

(SID_LIST =

(SID_DESC =

(SID_NAME = orcl)

(ORACLE_HOME = /u01/oracle/product/10.2.0)

)

)


LISTENER =

(DESCRIPTION_LIST =

(DESCRIPTION =

(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.132)(PORT = 1521))

(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0))

)

)


tnsnames.ora


dbprimary =

(DESCRIPTION =

(ADDRESS_LIST =

(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.131)(PORT = 1521))

)

(CONNECT_DATA =

(SERVICE_NAME = orcl)

)

)


dbstandby =

(DESCRIPTION =

(ADDRESS_LIST =

(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.132)(PORT = 1521))

)

(CONNECT_DATA =

(SERVICE_NAME = orcl)

)

)


7.使用rman备份主库


[oracle@s1 ~]$ rman target /


Recovery Manager: Release 10.2.0.1.0 - Production on Thu May 29 19:52:37 2008


Copyright (c) 1982, 2005, Oracle. All rights reserved.


connected to target database: ORCL (DBID=1171867028)


RMAN> backup full format='/u02/db_%U'

database include current controlfile for standby;


...................

 


8.归档主库当前日志

SQL> alter system archive log current;

System altered.

 

9.启动备库到nomount

sqlplus "/ as sysdba"

Connected to an idle instance.

SQL> startup nomount


Total System Global Area 285212672 bytes

Fixed Size 1218992 bytes

Variable Size 96470608 bytes

Database Buffers 184549376 bytes

Redo Buffers 2973696 bytes

 

10.利用rman恢复备库

[oracle@s1 ~]$ rman target /


Recovery Manager: Release 10.2.0.1.0 - Production on Thu May 29 19:53:21 2008


Copyright (c) 1982, 2005, Oracle. All rights reserved.


connected to target database: ORCL (DBID=1171867028)


RMAN> connect auxiliary sys/a@dbstandby


connected to auxiliary database: ORCL (DBID=1171867028, not mount)


RMAN> duplicate target database for standby nofilenamecheck;


.............................

 

如果第8步没有归档当前日志,duplicate时可能出现错误:

RMAN-05507: standby controlfile checkpoint (710256) is more recent than duplicat

ion point in time (709530)

 

至此,备库创建成功。

 

11.将备库置于自动恢复状态

SQL> conn / as sysdba

Connected.

SQL>alter database recover managed standby database disconnect from session;

Media recovery complete.

 

12.switchover


物理STANDBY的SWITCHOVER切换会把当前的一个物理STANDBY切换为PRIMARY数据库,而PRIMARY数据库且变成物理STNADBY数据库。


一般SWITCHOVER切换都是计划中的切换,特点是在切换后,不会丢失任何的数据,而且这个过程是可逆的,整个DATA GUARD环境不会被破坏,原来DATA GUARD环境中的所有物理和逻辑STANDBY都可以继续工作。


在进行DATA GUARD的物理STANDBY切换前需要注意:


确认主库和从库间网络连接通畅;


确认没有活动的会话连接在数据库中;


PRIMARY数据库处于打开的状态,STANDBY数据库处于MOUNT状态;


确保STANDBY数据库处于ARCHIVELOG模式;


如果设置了REDO应用的延迟,那么将这个设置去掉;


确保配置了主库和从库的初始化参数,使得切换完成后,DATA GUARD机制可以顺利的运行。

 

主库:


[oracle@s1 ~]$ sqlplus "/ as sysdba"


SQL*Plus: Release 10.2.0.1.0 - Production on Thu May 29 19:55:02 2008


Copyright (c) 1982, 2005, Oracle. All rights reserved.

 

Connected to:

Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production

With the Partitioning, OLAP and Data Mining options


SQL> alter database commit to switchover to physical standby;


Database altered.


SQL> shutdown immediate;

ORA-01507: database not mounted

 

ORACLE instance shut down.

SQL> startup nomount

ORACLE instance started.


Total System Global Area 285212672 bytes

Fixed Size 1218992 bytes

Variable Size 96470608 bytes

Database Buffers 184549376 bytes

Redo Buffers 2973696 bytes

SQL> alter database mount standby database;


Database altered.


SQL> alter database recover managed standby database disconnect from session;


Database altered.

 

备库:


SQL> alter database commit to switchover to primary;


Database altered.


SQL> shutdown immediate;

ORA-01109: database not open

 

Database dismounted.

ORACLE instance shut down.

SQL> startup

ORACLE instance started.


Total System Global Area 285212672 bytes

Fixed Size 1218992 bytes

Variable Size 96470608 bytes

Database Buffers 184549376 bytes

Redo Buffers 2973696 bytes

Database mounted.

Database opened.

SQL>


至此完成自由切换。

相关文章
  • Oracle 10g实用程序trcsess:跟踪sql语句
  • Oracle 数据库唯一约束中的NULL的处理
  • Oracle Developer 2000中的一些实用语句
  • Oracle 10g DBMS_SCHEDULER的中度解析
  • Oracle 9i中OCCI在VC6下不能DEBUG的问题
  • Oracle 10g手工创建数据库个人经验
  • Oracle 10G里手工建库的全过程
  • Oracle listener静态注册和动态注册总结
  • Oracle DBMS_JOB:每隔特定时间执行特定任务
  • Oracle 2008年7月紧急补丁更新修复多个漏洞
相关软件

  • 网友评论:
  • 查看所有评论
  • 我要发表评论
 

关于本站 | 广告联系 | 版权声明 | 网站地图 | 加入收藏 | 帮助中心 |

Copyright © 2006-2007 fwvv.net  程序支持:木翼  皖ICP备06004916号