oracle怎么增加一个dg备库,如何在单机实现多个dg备库,并切换到其中一个备库...

一.创建第一个DG备库

1.1 修改主库orcl的参数

1.启动归档

如果没有归档:

Sql> startup mount;

Sql>alter database archivelog;

2.开启强制日志

SQL>alter database force logging;

3.设置唯一名字,把主库

SQL>alter system set db_unique_name=pridb scope=spfile;

4.配置log_archive_config

SQL>alter system set log_archive_config='dg_config=(pridb,auxdb)';

5.设置归档目标地

SQL>alter system set log_archive_dest_1='LOCATION=USE_DB_RECOVERY_FILE_DEST valid_for=(all_logfiles,all_roles) db_unique_name=pridb' scope=spfile;

SQL>alter system set log_archive_dest_2='service=auxdb lgwr async    valid_for=(online_logfiles,primary_role) db_unique_name=auxdb';

6.设置提取服务器

SQL>alter system set fal_server=auxdb;

SQL>alter system set fal_client=pridb;

7.设置表空间变化自适应

SQL>alter system set standby_file_management=auto;

1.2 auxdb备库准备

由于在同一台机器,需要设置路径转换

1.创建auxdb参数

*.instance_name='auxdb'

*.db_name='orcl'

*.db_unique_name='auxdb

*.log_archive_config='dg_config=(pridb,auxdb)'

*.db_file_name_convert='/u01/app/oracle/oradata/orcl/','/u01/app/oracle/oradata/auxdb/'

*. log_file_name_convert='/u01/app/oracle/oradata/orcl/','/u01/app/oracle/oradata/auxdb/'

*.log_archive_dest_1='LOCATION=USE_DB_RECOVERY_FILE_DEST valid_for=(all_logfiles,all_roles) db_unique_name=auxdb'

*.log_archive_dest_2='service=pridb lgwr async    valid_for=(online_logfiles,primary_role) db_unique_name=pridb'

*.standby_file_management='AUTO'

*.fal_client='auxdb'

*.fal_server='pridb'

创建对应的路径

mkdir -p /u01/app/oracle/oradata/auxdb/

mkdir -p /u01/app/oracle/admin/auxdb/adump

2.创建spfile

export ORACLE_SID=auxdb

sql>create spfile from pfile='/home/oracle/initauxdb.ora';

3.启动到nomount;

sql>startup nomount;

4.创建口令文件

在本机,直接复制一个即可

cp $ORACLE_HOME/dbs/orapworcl $ORACLE_HOME/dbs/orapwauxdb

4.静态监听

直接修改$ORACLE_HOME/network/admin/listener.ora

...

SID_LIST_LISTENER =

(SID_LIST =

(SID_DESC =

(GLOBAL_DBNAME = auxdb)

(ORACLE_HOME = /u01/app/oracle/product/12.1.0/dbhome_1)

(SID_NAME = auxdb)

)

)

1.3.创建到主备库的连接串

直接修改 $ORACLE_HOME/network/admin/tnsnames.ora

pridb =

(DESCRIPTION =

(ADDRESS_LIST =

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

)

(CONNECT_DATA =

(SERVICE_NAME = pridb)

)

)

auxdb =

(DESCRIPTION =

(ADDRESS_LIST =

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

)

(CONNECT_DATA =

(SERVICE_NAME = auxdb)

)

)

1.4.测试联通性

SQL> conn sys/oracle_4U@pridb as sysdba

Connected.

SQL> conn sys/oracle_4U@auxdb as sysdba

Connected.

SQL>

1.5.开始复制

rman target sys/oracle_4U@pridb auxiliary sys/oracle_4U@auxdb

rman > duplicate target database for standby NOFILENAMECHECK from active database;

1.6.备库处于恢复模式

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

SQL> select process,status from v$managed_standby;

PROCESS   STATUS

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

RFS       IDLE

ARCH      CLOSING

ARCH      CONNECTED

ARCH      CONNECTED

ARCH      CLOSING

RFS       IDLE

RFS       IDLE

MRP0      APPLYING_LOG

RFS       IDLE

9 rows selected.

到此,第一个备库就搭建完成。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值