重庆思庄Oracle、KingBase、PostgreSQL、Redhat认证学习论坛

标题: 物理备库切换为逻辑备库步骤 [打印本页]

作者: 王亮    时间: 2020-4-26 15:40
标题: 物理备库切换为逻辑备库步骤
1、停止物理备库日志的应用
停止备库的日志应用
  
SQL> select  open_mode,DATABASE_ROLE from v$database;
  
  
OPEN_MODE                                DATABASE_ROLE
  
----------------------------------------  --------------------------------
  
READ ONLY WITH  APPLY                     PHYSICAL  STANDBY
  
  
SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE CANCEL;
  
  
数据库已更改。
  
2、修改主库配置以支持逻辑备库
在主库中,修改主库参数,并使主库支持逻辑备库
  
SQL> alter system set UNDO_RETENTION=3600;
  
  
System altered.
  
  
SQL> execute DBMS_LOGSTDBY.BUILD;
  
  
PL/SQL procedure  successfully completed.
  
每次搭建逻辑备库,都需要执行这一步
3、物理备库切换到逻辑备库
转换,数据库名称(db_name)会变为新的名字 orcllgdg (以前为orcl)
在备库open的状态时,或切换不了,可将数据库启动到mount状态后再切换。
  
SQL> shutdown  immediate
  
数据库已经关闭。
  
已经卸载数据库。
  
ORACLE 例程已经关闭。
  
SQL> startup  mount
  
ORACLE 例程已经启动。
  
  
Total System  Global Area 1586708480 bytes
  
Fixed Size                  2281616 bytes
  
Variable Size             989859696 bytes
  
Database  Buffers          587202560 bytes
  
Redo Buffers                7364608 bytes
  
数据库装载完毕。
  
SQL> ALTER DATABASE RECOVER TO LOGICAL STANDBY orcllgdg;
  
  
数据库已更改。
  
4、设置备库standby日志接收设置
增加备库的LOG_ARCHIVE_DEST以接收standby日志
  
SQL> alter system set LOG_ARCHIVE_DEST_3='LOCATION=C:\app\wang\fast_recovery_area\orcl\STANDBYLOG  VALID_FOR=(STANDBY_LOGFILES, STANDBY_ROLE) DB_UNIQUE_NAME=orcldg';
  
  
系统已更改。
  
  
参考(本地归档与standblog最好分开,分别存放在各自单独的目录里)
  
alter system set LOG_ARCHIVE_DEST_1='LOCATION=/lisodb/arch_log VALID_FOR=(ONLINE_LOGFILES,  STANDBY_ROLE) DB_UNIQUE_NAME=lisodb';
  
  
alter system set LOG_ARCHIVE_DEST_3='LOCATION=/lisodb/standby_log VALID_FOR=(STANDBY_LOGFILES,  STANDBY_ROLE) DB_UNIQUE_NAME=lisodb';
  
5、打开逻辑备库
将逻辑备库切换到open状态
  
SQL> ALTER DATABASE OPEN RESETLOGS;
  
  
数据库已更改。
  
  
6、启动日志的sql应用
启用sql apply
  
SQL> ALTER DATABASE START LOGICAL STANDBY APPLY IMMEDIATE;
  
  
数据库已更改。
  
7、查看逻辑备库打开模式以及角色
  
SQL> select open_mode,DATABASE_ROLE from v$database;
  
  
OPEN_MODE                                DATABASE_ROLE
  
----------------------------------------  --------------------------------
  
READ WRITE                               LOGICAL  STANDBY
  
  
SQL>
  






欢迎光临 重庆思庄Oracle、KingBase、PostgreSQL、Redhat认证学习论坛 (http://bbs.cqsztech.com/) Powered by Discuz! X3.2