winXP 双机standby 实现

操作系统: Windows
Oracle版本:10.2.0.1

主库SID:romlong  winxp   Oracle版本:10.2.0.1

从库SID: romlong  winxp  Oracle版本:10.2.0.1

1,准备

  原主数据库primary必须处于archive状态:

  Archive log list:  察看主数据库是否处于归档状态

  如不是archive 模式 修改为 archive 模式

   a   shudown  immediate

   b   startup mount

   c   alter database archivelog

   d   alter database open

   e   alter database force logging;

2,将primaray romlong 关闭,然后拷贝其所有的数据文件,redo 文件控制文件可以不拷贝,用 alter database backup  standby controlfile to ‘F:\backup’

可以通过FTP 软件将文件传到standby database

3,在 standby database 上建立文件夹 udump, archive ,bdump,adump,cdump

4,配置primary 和 standby database tnsname 文件

Primary tnsnames.ora

# tnsnames.ora Network Configuration File: E:\oracle\product\10.2.0\db_1\network\admin\tnsnames.ora

# Generated by Oracle configuration tools.

ROMLONG =

  (DESCRIPTION =

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

    (CONNECT_DATA =

      (SERVER = DEDICATED)

      (SERVICE_NAME = romlong)

    )

  )

STANDBY =

  (DESCRIPTION =

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

    (CONNECT_DATA =

      (SERVER = DEDICATED)

      (SERVICE_NAME = standby)

    )

  )

EXTPROC_CONNECTION_DATA =

  (DESCRIPTION =

    (ADDRESS_LIST =

      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))

    )

    (CONNECT_DATA =

      (SID = PLSExtProc)

      (PRESENTATION = RO)

    )

  )

Standby..

# tnsnames.ora Network Configuration File: F:\oracle\product\10.2.0\db_1\network\admin\tnsnames.ora

# Generated by Oracle configuration tools.

STANDBY =

  (DESCRIPTION =

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

    (CONNECT_DATA =

      (SERVER = DEDICATED)

      (SERVICE_NAME = standby)

    )

  )

ROMLONG =

  (DESCRIPTION =

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

    (CONNECT_DATA =

      (SERVER = DEDICATED)

      (SERVICE_NAME = romlong)

    )

  )

 

 

EXTPROC_CONNECTION_DATA =

  (DESCRIPTION =

    (ADDRESS_LIST =

      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))

    )

    (CONNECT_DATA =

      (SID = PLSExtProc)

      (PRESENTATION = RO)

    )

  )

用tnsping 进行测试看是否可以相互连接

5,修改pfile 参数

Primary database

 Create pfile form. spfile

得到pfile 并作出相应更改

romlong.__db_cache_size=176160768

romlong.__java_pool_size=4194304

romlong.__large_pool_size=4194304

romlong.__shared_pool_size=88080384

romlong.__streams_pool_size=8388608

*._allow_resetlogs_corruption=TRUE

*.audit_file_dest='E:\oracle\product\10.2.0/admin/romlong/adump'

*.background_dump_dest='E:\oracle\product\10.2.0/admin/romlong/bdump'

*.compatible='10.2.0.1.0'

*.control_files='E:\oracle\product\10.2.0\oradata\romlong\control01.ctl','E:\oracle\product\10.2.0\oradata\romlong\control02.ctl','E:\oracle\product\10.2.0\oradata\romlong\control03.ctl'

*.core_dump_dest='E:\oracle\product\10.2.0/admin/romlong/cdump'

*.db_block_size=8192

*.db_domain=''

*.db_file_multiblock_read_count=16

*.db_unique_name='romlong'

*.db_name='romlong'

*.db_recovery_file_dest='E:\oracle\product\10.2.0/flash_recovery_area'

*.db_recovery_file_dest_size=2147483648

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

*.job_queue_processes=10

*.open_cursors=300

*.pga_aggregate_target=95420416

*.processes=150

*.remote_login_passwordfile='EXCLUSIVE'

*.sga_target=287309824

*.undo_management='AUTO'

*.undo_tablespace='UNDOTBS1'

*.user_dump_dest='E:\oracle\product\10.2.0/admin/romlong/udump'

log_archive_dest_1='location=E:\oracle\product\10.2.0\flash_recovery_area\ROMLONG\ARCHIVELOG 

   valid_for=(all_logfiles,all_roles) db_unique_name=romlong'

log_archive_dest_2='SERVICE=standby

    valid_for=(online_logfiles,primary_role) db_unique_name=standby'

STANDBY_ARCHIVE_DEST='E:\oracle\product\10.2.0\flash_recovery_area\ROMLONG\ARCHIVELOG'

LOG_ARCHIVE_DEST_STATE_1=ENABLE

LOG_ARCHIVE_DEST_STATE_2=ENABLE

log_archive_config='dg_config=(romlong,standby)'

fal_server='standby'

fal_client='romlong'

standby_file_management='auto'

db_file_name_convert='E:\oracle\product\10.2.0\oradata\romlong\','F:\oracle\product\10.2.0\oradata\standby\'

log_file_name_convert='E:\oracle\product\10.2.0\oradata\romlong\','F:\oracle\product\10.2.0\oradata\standby\'

LOCK_NAME_SPACE='standby'

红色为添加的参数 其中log_archive_dest_1和STANDBY_ARCHIVE_DEST建议保持一致

通过primary 的pfile 修改成 standby 的pfile

romlong.__db_cache_size=176160768

romlong.__java_pool_size=4194304

romlong.__large_pool_size=4194304

romlong.__shared_pool_size=88080384

romlong.__streams_pool_size=8388608

*._allow_resetlogs_corruption=TRUE

*.audit_file_dest='F:\oracle\product\10.2.0\oradata\standby\adump'

*.background_dump_dest='F:\oracle\product\10.2.0\oradata\standby\bdump'

*.compatible='10.2.0.1.0'  --于主数据库保持一致

*.control_files='F:\oracle\product\10.2.0\oradata\standby\control01.ctl','F:\oracle\product\10.2.0\oradata\standby\control02.ctl','F:\oracle\product\10.2.0\oradata\standby\control03.ctl'

*.core_dump_dest='F:\oracle\product\10.2.0\oradata\standby\cdump'

*.db_block_size=8192

*.db_domain=''

*.db_file_multiblock_read_count=16

*.db_unique_name='standby' –必须的参数

*.db_name='romlong'

*.db_recovery_file_dest='F:\oracle\product\10.2.0/flash_recovery_area'

*.db_recovery_file_dest_size=2147483648

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

*.job_queue_processes=10

*.open_cursors=300

*.pga_aggregate_target=95420416

*.processes=150

*.remote_login_passwordfile='EXCLUSIVE'

*.sga_target=287309824

*.undo_management='AUTO'

*.undo_tablespace='UNDOTBS1'

*.user_dump_dest='F:\oracle\product\10.2.0\oradata\standby\udump'

*.log_archive_dest_1='location=F:\oracle\product\10.2.0\oradata\standby\archive 

     valid_for=(all_logfiles,all_roles) db_unique_name=standby'

*.log_archive_dest_2='SERVICE=standby

     valid_for=(online_logfiles,primary_role) db_unique_name=romlong'

*.STANDBY_ARCHIVE_DEST='F:\oracle\product\10.2.0\oradata\standby\archive'

LOG_ARCHIVE_DEST_STATE_1=ENABLE

LOG_ARCHIVE_DEST_STATE_2=ENABLE

log_archive_config='dg_config=(romlong,standby)' –与主数库相反

fal_server='standby'

fal_client='romlong'

standby_file_management='auto'

db_file_name_convert='E:\oracle\product\10.2.0\oradata\romlong\','F:\oracle\product\10.2.0\oradata\standby\'

log_file_name_convert='E:\oracle\product\10.2.0\oradata\romlong\','F:\oracle\product\10.2.0\oradata\standby\'

LOCK_NAME_SPACE='standby'

6,建立 实例

 Oradim –new –sid standby –intpwd oracle 其中密码应改和primary 数据库一致才可以!如果出现 insufficient privileges 则需要在两个数据库中重新建立pwd文件

Orapwd  file=%oracle_home%\database\PWD.ora password=oracle entries=10

启动primary 数据库

7,启动standby database

 Set oracle_sid=standby 

 Sqlplus /nolog

 Conn sys/orace@standby as sysdba

 Startup nomount

 Alter database  mount standby database

 Alter database recover managed standby database disconnect from session

 察看standby 数据库archive 目录下是否有归档数据传入!如果没有察看prrimary 数据库下的altert 文件!分析错误原因!

8,

alter database recover managed standby database cancel;

alter database open read only;

维护standby数据库
当primary 数据库失败时,将standby 数据库激活:取消(cancel)恢复执行以下操作:
sql> connect internal/password;
sql> startup nomount pfile=’c:\oracle\admin\pstest\pfile\init.ora’;
sql> alter database mount standby database;
sql> alter database activate standby database;
shutdown standby 数据库;
sql> shutdown immediate
重起Standby Database;
sql > startup
问题:
1. 关于tnsnames.ora文件
Primary Database和Standby Database上的tnsnames.ora文件内容可以是相同的,其目的是为了建立两个Oracle连接名,一个连自己,一个连对方;这两个连接名对应各自服务器上的初始化参数文件中的一下内容中的primary和standby:
FAL_SERVER=primary 注:Standby Server连接Primary Server的数据库连接名
FAL_CLIENT=standby 注:Primary Server连接Standby Server的数据库连接名
2. 关于初始化文件中的LOG_ARCHIVE_MIN_SUCCEED_DEST参数
在上面的配置文件中,此参数的值为2,如果设置为1的话,将不能正常同步归档日志;
3. 关于初始化文件中的LOG_ARCHIVE_DEST_2参数
LOG_ARCHIVE_DEST_2= 'SERVICE=standby' 注:到Standby Database的数据库连接名
在Primary Server和Standby Server上的初始化文件中的这个参数分别只的是指向对方的数据库连接名。
4. 关于启动关闭顺序
启动的时候,先从库的listener,然后启动从库,然后启动主库的listener 接着是主库 关闭的时候正好相反,先关闭主库,然后是从库。
5. 一些常用的view
V$ARCHIVE_DEST_STATUS 这里面会纪录到standby 的状态和恢复到那个日志
V$ARCHIVE_GAP 这里面会纪录当前从库mrp进程恢复需要的胆识还没有传到从库得日志
V$ARCHIVED_LOG 这里面会纪录所有已经归档到从库的日志,并且记录该日志是否已经恢复
V$DATABASE 会纪录系统的保护状态和是否处于force logging状态
V$MANAGED_STANDBY (Physical Standby Databases Only) 会纪录当前从库的一些进程情况和进程的process id,如rfs,mrp等
V$STANDBY_LOG (Physical Standby Databases Only) 会纪录当前从库的standby redo log的一些情况。

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

转载于:http://blog.itpub.net/10574250/viewspace-246202/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值