ITPub博客

首页 > 数据库 > Oracle > [20190225]测试如何使用dg快速主库.txt

[20190225]测试如何使用dg快速主库.txt

原创 Oracle 作者:lfree 时间:2019-02-25 11:12:57 0 删除 编辑

[20190225]测试如何使用dg快速主库.txt


--//测试主库破坏的情况下,如何通过dg快速主库.


1.环境:

SYS@book> @ ver1

PORT_STRING                    VERSION        BANNER

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

x86_64/Linux 2.4.xx            11.2.0.4.0     Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production


SCOTT@book> create table t as select rownum id,sysdate cdate from dual ;

Table created.


--//dg日志应用正常.检查略.

--//关闭主库,删除里面全部数据文件,日志以及控制文件略.


2.开始恢复:

--//从备库拷贝文件(注停止关闭备库),日志以及控制文件到主库:

$ scp -r /mnt/ramdisk/book/* oracle@192.168.100.78:/mnt/ramdisk/book/

*/

control01.ctl    100%   10MB  10.2MB/s   00:00

control02.ctl    100%   10MB  10.2MB/s   00:00

example01.dbf    100%  346MB  34.6MB/s   00:10

redo01.log       100%   50MB  25.0MB/s   00:02

redo02.log       100%   50MB  50.0MB/s   00:01

redo03.log       100%   50MB  25.0MB/s   00:02

redostb01.log    100%   50MB  50.0MB/s   00:01

redostb02.log    100%   50MB  25.0MB/s   00:02

redostb03.log    100%   50MB  50.0MB/s   00:01

redostb04.log    100%   50MB  25.0MB/s   00:02

sugar01.dbf      100%   10MB  10.0MB/s   00:00

sysaux01.dbf     100%  940MB  36.2MB/s   00:26

system01.dbf     100%  760MB  34.6MB/s   00:22

tea01.dbf        100%   40MB  40.0MB/s   00:01

temp01.dbf       100%  414MB  34.5MB/s   00:12

undotbs01.dbf    100%  865MB  34.6MB/s   00:25

users01.dbf      100%  128MB  32.0MB/s   00:04


--//这样拷贝需要,00+00+10+02+01+02+01+02+01+02+00+26+22+01+12+25+04 = 111秒上下.可以使用tar+pigz

--//我的测试环境机器太老,没有安装pigz.使用gzip代替.

$ cd /mnt/ramdisk


--//$ tar cf - book -I gzip | ssh oracle@192.168.100.78 tar xvf - -I gzip -C /mnt/ramdisk

$ time tar cf - book --use-compress-program gzip | ssh oracle@192.168.100.78 tar xvf - --use-compress-program gzip -C /mnt/ramdisk

...

real    4m28.948s

user    4m26.345s

sys     0m23.483s

--//这样更慢...一些新版本的tar支持-I参数代替--use-compress-program.

--//使用tar注意几点:  1.路径问题, 2.-f参数后面一定要跟文件名,我这里使用管道使用-.前面不要忘记了.

--//我以前犯过一个严重错误tar cf *,不小心忘记加入-,导致*展开的第一个文件破坏了.还好破坏的是控制文件还有1个备份...


--//恢复参数文件以及口令文件略.


3.继续:

--//主库:

SYS@book> startup mount

ORACLE instance started.

Total System Global Area  643084288 bytes

Fixed Size                  2255872 bytes

Variable Size             205521920 bytes

Database Buffers          427819008 bytes

Redo Buffers                7487488 bytes

Database mounted.


SYS@book> alter database recover managed standby database finish;

Database altered.


SYS@book> ALTER DATABASE COMMIT TO SWITCHOVER TO PRIMARY WITH SESSION SHUTDOWN;

Database altered.

--//现在已经转化为主库.


SYS@book> select name,db_unique_name,database_role,flashback_on from v$database;

NAME                 DB_UNIQUE_NAME                 DATABASE_ROLE    FLASHBACK_ON

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

BOOK                 book                           PRIMARY          NO


--//注意检查FLASHBACK_ON=No,有一些dg打开FLASHBACK功能,建议关闭它在主库.


SYS@book> alter database open ;

Database altered.


--//检查:


SYS@book> insert into scott.t  select 2,sysdate from dual ;

1 row created.


SYS@book> commit ;

Commit complete.


SYS@book> select * from scott.t;

        ID CDATE

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

         1 2019-02-25 10:26:16

         2 2019-02-25 11:00:16


--//到备库检查:

SYS@bookdg> startup

ORACLE instance started.


Total System Global Area  634732544 bytes

Fixed Size                  2255792 bytes

Variable Size             197133392 bytes

Database Buffers          427819008 bytes

Redo Buffers                7524352 bytes

Database mounted.

Database opened.


SYS@bookdg> alter database recover managed standby database using current logfile disconnect ;

Database altered.


SYS@bookdg> select * from scott.t;

        ID CDATE

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

         1 2019-02-25 10:26:16

         2 2019-02-25 11:00:16


--//OK,备库也能正常应用日志...

--//写这个文档的目的,主要提供给别人对于采用文件系统的数据库环境,一般db_file_name_convert,log_file_name_convert两边都一样

--//的环境,如何快速恢复的一个方法.一般备库正常接收日志的情况下,主库硬件异常的情况下,这样恢复比较简单.

--//当然,可能遇到一些特殊情况就不好说了.^_^.


--//另外大家还可以参考 http://blog.itpub.net/267265/viewspace-2134343/ => [20170227]快速重建dg测试环境.txt


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

请登录后发表评论 登录
全部评论
熟悉oracle相关技术,擅长sql优化,rman备份与恢复,熟悉linux shell编程。

注册时间:2008-01-03

  • 博文量
    2855
  • 访问量
    6642707