日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

mysql可以使用dataguard_逻辑DataGuard的配置

發(fā)布時間:2024/10/14 数据库 64 豆豆
生活随笔 收集整理的這篇文章主要介紹了 mysql可以使用dataguard_逻辑DataGuard的配置 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

1.Primary數(shù)據(jù)庫生成LogMiner字典信息(生成之前,確保待轉(zhuǎn)換的物理Standby停止REDO應(yīng)用) ORCLPRI_LG execute dbms_logstdby.build; PL/SQL procedure successfully completed. 2.邏輯Standby更名 ORCLSTD_LG show parameter db_name NAME TYPE VALUE -----

1.Primary數(shù)據(jù)庫生成LogMiner字典信息(生成之前,確保待轉(zhuǎn)換的物理Standby停止REDO應(yīng)用)

ORCLPRI_LG >execute dbms_logstdby.build;

PL/SQL procedure successfully completed.

2.邏輯Standby更名

ORCLSTD_LG >show parameter db_name

NAME TYPE VALUE

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

db_name string orcl

ORCLSTD_LG >alter database recover to logical standby ORCLLDG;

alter database recover to logical standby ORCLLDG

*

ERROR at line 1:

ORA-19953: database should not be open

ORCLSTD_LG >shutdown immediate

ORA-01507: database not mounted

ORACLE instance shut down.

ORCLSTD_LG >alter database recover to logical standby ORCLLDG;

alter database recover to logical standby ORCLLDG

*

ERROR at line 1:

ORA-01034: ORACLE not available

ORCLSTD_LG >startup mount

ORACLE instance started.

Total System Global Area 167772160 bytes

Fixed Size 1218316 bytes

Variable Size 62916852 bytes

Database Buffers 100663296 bytes

Redo Buffers 2973696 bytes

Database mounted.

ORCLSTD_LG >alter database recover to logical standby ORCLLDG;

Database altered.

ORCLSTD_LG >show parameter db_name

NAME TYPE VALUE

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

db_name string orcl

ORCLSTD_LG >shutdown immediate

ORA-01507: database not mounted

ORACLE instance shut down.

ORCLSTD_LG >startup mount

ORACLE instance started.

Total System Global Area 167772160 bytes

Fixed Size 1218316 bytes

Variable Size 62916852 bytes

Database Buffers 100663296 bytes

Redo Buffers 2973696 bytes

Database mounted.

3.重啟生效

ORCLSTD_LG >show parameter db_name

NAME TYPE VALUE

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

db_name string ORCLLDG

ORCLSTD_LG >select database_role from v$database;

DATABASE_ROLE

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

LOGICAL STANDBY

4.創(chuàng)建本地和遠(yuǎn)程歸檔路徑

修改Primary spfile:

orcl.__db_cache_size=92274688

orcl.__java_pool_size=4194304

orcl.__large_pool_size=4194304

orcl.__shared_pool_size=58720256

orcl.__streams_pool_size=4194304

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

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

*.compatible='10.2.0.1.0'

*.control_files='/u01/app/oracle/oradata/orcl/control01.ctl','/u01/app/oracle/oradata/orcl/control02.ctl','/u01/app/oracle/oradata/orcl/control03.ctl'#Restore Controlfile

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

*.db_block_size=8192

*.db_domain=''

*.db_file_multiblock_read_count=16

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

*.db_name='orcl'

*.db_recovery_file_dest='/u01/app/oracle/flash_recovery_area'

*.db_recovery_file_dest_size=2147483648

*.db_unique_name='orclpre'

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

*.fal_client='orcl_192.168.1.222'

*.fal_server='orcls_192.168.1.223'

*.job_queue_processes=10

*.log_archive_config='dg_config=(orclpre,orclldg)'

*.log_archive_dest_1='location=/u01/arch_orcl'

*.log_archive_dest_2='service=orcls_192.168.1.223

lgwr async valid_for=(online_logfiles, primary_role) db_unique_name=orclldg'

*.log_archive_dest_state_2='ENABLE'

*.log_archive_format='archive_%t_%s_%r.arclog'

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

*.open_cursors=300

*.pga_aggregate_target=16777216

*.processes=150

*.remote_login_passwordfile='EXCLUSIVE'

*.sga_target=167772160

*.standby_file_management='auto'

*.undo_management='AUTO'

*.undo_tablespace='UNDOTBS1'

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

lgwr async:保證Primary到邏輯Standby異步傳輸

修改Standby spfile:

orcl.__db_cache_size=96468992

orcls.__db_cache_size=100663296

orclstd.__db_cache_size=50331648

orcl.__java_pool_size=4194304

orcls.__java_pool_size=4194304

orclstd.__java_pool_size=4194304

orcl.__large_pool_size=4194304

orcls.__large_pool_size=4194304

orclstd.__large_pool_size=4194304

orcl.__shared_pool_size=54525952

orcls.__shared_pool_size=54525952

orclstd.__shared_pool_size=104857600

orcl.__streams_pool_size=4194304

orcls.__streams_pool_size=0

orclstd.__streams_pool_size=0

*.audit_file_dest='/u01/app/oracle/admin/orclstd/adump'

*.background_dump_dest='/u01/app/oracle/admin/orclstd/bdump'

*.compatible='10.2.0.1.0'

*.control_files='/u01/app/oracle/oradata/orclstd/orclstd01.ctl','/u01/app/oracle/oradata/orclstd/orclstd02.ctl','/u01/app/oracle/oradata/orclstd/orclstd03.ctl'

*.core_dump_dest='/u01/app/oracle/admin/orclstd/cdump'

*.db_block_size=8192

*.db_domain=''

*.db_file_multiblock_read_count=16

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

*.db_name='ORCLLDG'#db_name

*.db_recovery_file_dest='/u01/app/oracle/flash_recovery_area'

*.db_recovery_file_dest_size=2147483648

*.db_unique_name='orclldg'

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

*.fal_client='orcl_192.168.1.223'

*.fal_server='orcls_192.168.1.222'

*.job_queue_processes=10

*.log_archive_config='dg_config=(orclpre,orclldg)'

*.log_archive_dest_1='location=/u01/arch_ldg valid_for=(online_logfiles,all_roles)

db_unique_name=orclldg'

*.log_archive_dest_2='service=orcl_192.168.1.222

arch valid_for=(online_logfiles, primary_role)

db_unique_name=orclpre'

*.log_archive_dest_3='location=/u01/arch_std valid_for=(standby_logfiles,standby_role)

db_unique_name=orclldg'

*.log_archive_dest_state_2='enable'

*.log_archive_format='archive_%t_%s_%r.arclog'

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

*.open_cursors=300

*.pga_aggregate_target=16777216

*.processes=150

*.remote_login_passwordfile='EXCLUSIVE'

*.sga_target=167772160

*.standby_file_management='auto'

*.undo_management='AUTO'

*.undo_tablespace='UNDOTBS1'

*.user_dump_dest='/u01/app/oracle/admin/orclstd/udump'

ORCLSTD_LG >create spfile from pfile='/u01/pfile';

File created.

ORCLSTD_LG > startup mount

ORACLE instance started.

Total System Global Area 167772160 bytes

Fixed Size 1218316 bytes

Variable Size 62916852 bytes

Database Buffers 100663296 bytes

Redo Buffers 2973696 bytes

Database mounted.

ORCLSTD_LG > alterd database open;

SP2-0734: unknown command beginning "alterd dat..." - rest of line ignored.

SQL> alter database open;

alter database open

*

ERROR at line 1:

ORA-01589: must use RESETLOGS or NORESETLOGS option for database open

ORCLSTD_LG > alter database open resetlogs;

Database altered.

開始應(yīng)用REDO數(shù)據(jù)

ORCLSTD_LG >alter database start logical standby apply;

Database altered.

ORCLSTD_LG >alter database stop logical standby apply;

Database altered.

ORCLSTD_LG >select * from v$logfile;

GROUP# STATUS TYPE

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

MEMBER

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

IS_

---

3 ONLINE

/u01/app/oracle/oradata/orclstd/redo03.log

NO

2 ONLINE

/u01/app/oracle/oradata/orclstd/redo02.log

NO

GROUP# STATUS TYPE

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

MEMBER

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

IS_

---

1 ONLINE

/u01/app/oracle/oradata/orclstd/redo01.log

NO

ORCLSTD_LG >alter database add standby logfile group 4 '/u01/app/oracle/oradata/orclstd/stdredo01.log' size 50m;

Database altered.

ORCLSTD_LG >alter database add standby logfile group 5 '/u01/app/oracle/oradata/orclstd/stdredo02.log' size 50m;

Database altered.

ORCLSTD_LG >alter database add standby logfile group 6 '/u01/app/oracle/oradata/orclstd/stdredo03.log' size 50m;

Database altered.

重新執(zhí)行:

ORCLSTD_LG >alter database start logical standby apply immediate;

Database altered.

測試:

Primary:

SQL> select * from scott.test;

no rows selected

SQL> insert into scott.test values(1);

1 row created.

SQL> insert into scott.test values(2);

1 row created.

SQL> insert into scott.test values(3);

1 row created.

SQL> commit;

Commit complete.

Standby:

SQL> select * from scott.test;

ID

----------

1

2

3

邏輯Standby創(chuàng)建(轉(zhuǎn)換)成功……

總結(jié):

一、Physical Standby,Logical Standby (物理Standby及邏輯Standby)

Physical standby直接從主庫接受archived log,然后直接做基于block的物理恢復(fù)(更新或調(diào)整變化的block),所以physical standby在物理文件一級完全都等同于主庫。physical standby恢復(fù)只是底層的block apply, OS層面的工作,數(shù)據(jù)庫SCHEMA,包括索引都是一樣的。它是直接應(yīng)用REDO或歸檔實(shí)現(xiàn)同步的 。不會涉及temp ,undo等。物理STANDBY可能的模式:只讀模式(OPEN

READONLY)和恢復(fù)模式(MANANGED RECOVERY)。

在邏輯STANDBY中,邏輯信息是相同的,但物理組織和數(shù)據(jù)結(jié)構(gòu)可以不同,它和主庫保持同步的方法是將接收的REDO轉(zhuǎn)換成SQL語句,然后在STANDBY上執(zhí)行SQL語句(SQL

Apply)。邏輯STANDBY除災(zāi)難恢復(fù)外還有其它用途,比如用于用戶進(jìn)行查詢和報(bào)表。

在9i R2之前,data guard的服務(wù)器只能運(yùn)行在read only或者recover模式, 一個physical standby database在物理上完全等同主庫,當(dāng)physical standby database正在做恢復(fù)的時候,不能打開用作其他用途。 而logical standby database只是在logical上等同需要恢復(fù)的schema, 所以在恢復(fù)的時候,可以同時打開做report(做查詢動作),也可以用戶和主庫不一樣的

數(shù)據(jù)對象等等,極大了提高了備用庫的利用率。

二、Dataguard

都是Standby。在Oracle 9i之前稱為Standby,9i或之后的Standby被改名為Data guard。不過功能上也有了很多的改進(jìn)和區(qū)別 。

三、Standby下LGWR / ARCH傳輸

查看數(shù)據(jù)庫保護(hù)模式:

SQL> select DATABASE_ROLE,PROTECTION_MODE,PROTECTION_LEVEL from v$database;

1.最大性能(maximize performance):這是data guard默認(rèn)的保護(hù)模式。primay上的事務(wù)commit前不需要從standby上收到反饋信息(主數(shù)據(jù)庫的提交操作不等待STANDBY),該模式在primary故障時可能丟失數(shù)據(jù),但standby對primary的性能影響最小。 可以使用LGWR ASYNC或者ARCH兩種傳輸模式。

ARCH傳輸模式:Primary DB上的online redo log寫滿或其他條件引起redo log寫歸檔的時候,redo log生成的archived log file寫到本地歸檔目錄的同時,寫入了Standby歸檔目錄。只是Primary db上的online redo log切換不必等Standby上的寫歸檔動作結(jié)束。

2.最大可用(maximize availability):在正常情況下,最大可用模式和最大保護(hù)模式一樣;在standby不可用時,最大可用模式會自動降低成最大性能模式,所以standby故障不會導(dǎo)致primay不可用。在問題糾正之后,Standby和主數(shù)據(jù)庫進(jìn)行再同步,至少有一個standby可用的情況下,即使primary down機(jī),也能保證不丟失數(shù)據(jù)。(不過當(dāng)問題修復(fù),再同步之前有必要FAILOVER,那么有些數(shù)據(jù)可能會丟失)。最大可用性模式Standby必須配置Standby

Redo log,Oracle推薦最大可用模式使用LGWR ASYNC(異步)模式傳輸。

采用最大可用的data guard模式,主庫往備庫傳遞在線日志(online redo log)信息,在線日志信息寫入備用庫的standby redo log,這些standby redo log歸檔后,備用庫應(yīng)用歸檔日志。

LGWR還分為LGWR ASYNC(異步)和LGWR SYNC(同步)兩種。

最大保護(hù)

最大可用

最大性能

進(jìn)程

LGWR

LGWR

LGWR或ARCH

網(wǎng)絡(luò)傳輸模式

SYNC

SYNC

LGWR時設(shè)置ASYNC

磁盤寫操作

AFFIRM

AFFIRM

NOAFFIRM

備用日志

YES

物理備用需要

LGWR和物理備用時需要

備用庫類型

物理Standby

物理或邏輯

物理或邏輯

最大保護(hù)(maximize protection):最高級別的保護(hù)模式。primay上的事務(wù)在commit前必須確認(rèn)redo已經(jīng)傳遞到至少一個standby上,如果所有standby不可用,則primary會掛起。該模式能保證零數(shù)據(jù)丟失。對于最大保護(hù)和最高可用性模式,Standby數(shù)據(jù)庫必須配置standby redo log,并且oracle推薦所有數(shù)據(jù)庫都使用LGWR ASYNC模式傳輸。

本文原創(chuàng)發(fā)布php中文網(wǎng),轉(zhuǎn)載請注明出處,感謝您的尊重!

總結(jié)

以上是生活随笔為你收集整理的mysql可以使用dataguard_逻辑DataGuard的配置的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。