拓扑园

  • O&M
    • Universal部署
    • PHP+VUE+Laravel相关
  • Oracle性能优化
  • Oracle项目案例
    • Oracle近期项目案例(目录)
    • Oracle实战问题解析(目录)
    • Oracle数据库名变更流程(2种方式)
    • Oracle数据库目录更换流程(使用Oracle的clone工具)
    • Oracle数据库迁移方案(目录)
    • 标准化文档系列
  • Oracle基础知识
    • LLL的Oracle培训(分类)
    • LLL的docker培训(分类)
    • 标准化文档系列--(分类)
    • Oracle核心经典分析(分类)
    • 图灵小队----(分类并包含以下文章)
    • --MySQL8.0/Oracle/Memcached/Redis等安装配置于RHEL/OL6/7/8.X系列-运行环境最优配置
    • --PG安装配置于RHEL/9X系列-运行环境最优配置
    • --自动维护任务详解-开启、关闭信息统计收集(统计信息)
    • --图灵小队—Oracle/PostgreSQL下创建一个用户测试表(自行定义数据行)
    • --图灵小队-Oracle存储过程导出表的明细_UTL_FILE(文章)
    • --图灵小队-Oracle数据库删除/卸载操作指南(文章)
    • --图灵小队-Oracle常用性能查询SQL语句(文章)
    • --图灵小队-Oracle数据库上线前检查(文章)
    • --图灵小队-Oracle常用SQL语句(文章)
    • --图灵小队—Linux/Oracle脚本/MySQL合集(持续更新)
    • --图灵小队-Oracle技巧记录(文章)
    • ADG
    • RAC
    • ASM
    • OGG
    • RMAN
    • EXPDP/IMPDP
    • 工厂数据导入导出系列
  • MySQL
    • MySQL数据库规范
    • MySQL项目案例
    • MySQL安装配置
    • MYSQL集群项目
    • MySQL常见处理
    • MySQL-Sysbench专题
    • MySQL-Percona Toolkit专题
  • Linux
    • Shell编程
    • kubernetes
    • docker
    • Linux
    • PHP
    • Nginx
    • haproxy
    • mail
    • 网站
    • 域名
    • 网址收藏
  • 数据中心
    • 新框架系统集合
    • 工作文档
    • EBS数据文件扩容
    • VMware虚拟化
    • EBS系列
    • 大数据
    • SVN
    • zabbix
    • SAP
    • 备份相关
    • FC交换机
    • SVN
  • K-Studing
    • D8-Python学习
    • Oracle/MySQl等面试题
    • LG-MySQL
    • LG-Docker/K8S
    • LG-PostgreSQL
    • LG-ORACLE_BBED
    • LG-ORACLE
    • LG-Elasticsearch(ES)+ELK
    • Oracle-19C-OCP
    • WERN_ORACLE培训
    • redis数据库
    • Nginx培训学习系列
  • 其他
    • 外研英语4年级下册-听力
    • 影视系列
    • 如何使用iTunes软件通过抓包下载旧版本的ios的app
天高任鸟飞
Oracle/MySQL数据库恢复/数据迁移/生产规范报告技术交流:TEL:18562510581(微信同号);加微信入群
  1. 首页
  2. Oracle
  3. ADG
  4. 正文

ADG配置—测试—第一次—linux

2020年1月27日 1923点热度 0人点赞 0条评论

目录

      • 1、虚拟机系统:   Centos 6.8(64位)
      • 2、数据库版本:   Oracle 11g R2 11.2.0.3 (64位)
      • 3、IP地址规划:
      • 4、安装完成后可以通过以下命令查询:
      • 5、ORACLE 11g ADG新特性
    • 二、安装数据库软件前的系统配置(主库和备库端都要做下列操作)
      • 1.基本配置:
      • 2、安装数据库(主机和备机都安装相同的数据库版本,且目录名一致)
  • ######开始搭建Dataguard#######
    • 三、主库
      • 1:将数据库改为强制日志模式(此步骤只在主库上做)
      • 2:创建密码文件 (此步骤只在主库上做,修改sys密码)
      • 3:创建standby redolog日志组(此步骤只在主库上做)
      • 4:修改主库的spfile参数文件(此步骤只在主库上做)
      • 5:用修改过的pfile重新创建一个spfile,用于重启数据库    (此步骤只在主库上做)
      • 6:修改监听文件,添加静态监听        (主库、备库都要做)
      • 7:编辑网络服务名配置文件tnsnames.ora  
    • 四、备库
        • 1、在备库端,修改pfile参数文件        (只在备库端做)
        • 2、在备库端手工创建所需的目录    (备库端做,不提前创建的话恢复时会报错!)
        • 3、用修改后的pfile创建一个spfile,用于启动数据库        (备库端做)
        • 4、监听修改
      • 5、编辑网络服务名配置文件tnsnames.ora  
    • 五、备库恢复
      • 1、利用RMAN在备库上恢复主库            (备库端做)
      • 2、尝试开启备库
      • 3、检查测试:
      • 6、查看日志应用情况:
      • 7、检查命令-备库
      • 8、Open Read Only standby数据库并且开启实时日志应用(备库)

oracle 11g ADG实施手册(亲测,已成功部署多次)

一:实验环境介绍

1、虚拟机系统:   Centos 6.8(64位)

2、数据库版本:   Oracle 11g R2 11.2.0.3 (64位)

3、IP地址规划:

(1)主数据库:

IP:172.18.1.207

SID:pri(主备机可以相同,可以不相同,一般为instance_name)

db_name:orcl(这个是唯一的,且主备需要一致)即为global database name

db_unique_name:pri(建议主备机不相同,可以更改)

(2)备份数据库:

IP:172.18.1.208

SID:std(主备机可以相同,可以不相同,一般为instance_name)

db_name:orcl(这个是唯一的,且主备需要一致)即为Global Database name

db_unique_name:std(建议主备机不相同,可以更改)

已建好的服务器上述三个参数可以通过SQL>show parameter name找到。

如果db_unique_name是一样的,修改即可

方法一:通过alter system set DB_UNIQUE_NAME='XXX' scope=spfile; 重启生效。可能会出现报错:ORA-02065: illegal option for ALTER SYSTEM,使用方法二即可。

方法二:如

SQL> create pfile='/oracle/p1.ora' from spfile;

SQL> shutdown immediate;

vim /oracle/p1.ora

 *.db_unique_name=orcl_m1

SQL>create spfile from pfile='/oracle/p1.ora';

SQL> startup;

SQL> show parameter name;--查看即可

4、安装完成后可以通过以下命令查询:

(1)select dbid,name,open_mode,db_unique_name from v$database;

(2)select instance_name from v$instance;

    172.18.1.207“

172.18.1.208

5、ORACLE 11g ADG新特性

关于Active database duplication方式:(必看)

在Oracle 10g下,我们可以使用RMAN duplicate 命令创建一个具有不同DBID 的复制库。 到了Oracle 11gR2, RMAN 的duplicate 有2种方法实现:

1. Active database duplication     (本文所使用的方式,适用于11gR2之后的版本)

2. Backup-based duplication        (传统方式,10g,11g通用)

Active database duplication 通过网络,直接copy target 库到auxiliary 库,然后创建复制库。这种方法就不需要先用RMAN 备份数据库,然后将备份文件发送到auxiliary端。

这个功能的作用是非常大的。 尤其是对T级别的库。 因为对这样的库进行备份,然后将备份集发送到备库,在进行duplicate 的代价是非常大的。 一备份要占用时间,二要占用备份空间,三在网络传送的时候,还需要占用带宽和时间。所以Active database duplicate 很好的解决了以上的问题。 它对大库的迁移非常有用。

如果是从RAC duplicate 到单实例,操作是一样的。 如果是从单实例duplicate 到RAC。 那么先duplicate 到 单实例。 然后将单实例转换成RAC。

二、安装数据库软件前的系统配置(主库和备库端都要做下列操作)

1.基本配置:

最好使用新装的系统(这里以centos 6.8为例),系统要求最低配置1G内存,2Gswap分区,根分区20G以上,装好系统后先配置好yum,IP地址,/etc/sysconfig/network文件中的主机名,以及/etc/hosts文件中的IP地址和主机名的对应关系。

主库IP:172.18.1.207

主库主机名:PRI_ADG

备库IP:172.18.1.208

备库主机名:STD_ADG

2、安装数据库(主机和备机都安装相同的数据库版本,且目录名一致)

######开始搭建Dataguard#######

三、主库

1:将数据库改为强制日志模式(此步骤只在主库上做)

[oracle@pri ~]$ sqlplus / as sysdba

查看当前是否强制日志模式:SYS@pri> select name,log_mode,force_logging from v$database;

修改为日志模式:SYS@pri> alter database force logging;

再次查看是否强制模式:SYS@pri> select name,log_mode,force_logging from v$database;

image.png

2:创建密码文件 (此步骤只在主库上做,修改sys密码)

    注意:两端分别创建自己的密码文件好像有问题,备库的密码文件需要跟主库一致,否则导致日志传输不到备库,有待验证。

    将主库的密码文件直接copy到备库,重命名后使用。

[oracle@pri ~]$ cd $ORACLE_HOME/dbs

[oracle@pri dbs]$ orapwd file=orapwpri password=oracle force=y

这条命令可以手动生成密码文件,force=y的意思是强制覆盖当前已有的密码文件(如果有可以不建立)

image.png

将主库的密码文件copy给备库(从orapwpri到orapwstd),并重命名

[oracle@pri dbs]$ scp orapwpri 172.18.1.208:$ORACLE_HOME/dbs/orapwstd

image.png

image.png

image.png

3:创建standby redolog日志组(此步骤只在主库上做)

原则:

(1):standby redolog的文件大小(默认50M)与primary 数据库redolog 文件大小(默认50M)相同

(2):standby redolog日志文件组的个数(默认3个)依照下面的原则进行计算:

Standby redo log组数公式>=(每个instance日志组个数+1)*instance实例个数

 

假如只有一个实例节点,这个节点有三组redolog,所以Standby redo log组数>=(3+1)*1 =4,所以至少需要创建4组Standby redo log

查看当前线程与日志组的对应关系及日志组的大小:

SYS@pri> select thread#,group#,bytes/1024/1024 from v$log;

image.png

如上,我现在的环境有三组redolog,每个日志组的大小都是50M,

所以Standby redo log组数>=(3+1)*1== 4

所以至少需要创建4组Standby redo log,大小均为50M

(thread:线程,只有在多实例数据库才有用的参数,例如RAC环境,单实例不考虑)

查看当前有哪些日志组及其成员:

SYS@pri> col member for a50

SYS@pri> select group#,member from v$logfile;

image.png

先在主机端(PRI_ADG),手动创建standby log日志组所需的目录:(创建新目录只是为了便于区分,并非必须)

[oracle@PRI_ADG dbs]$ cd /home/oracle/app/oracle/oradata/

[oracle@PRI_ADG  oradata]$ mikdir standbylog

image.png

新建4个日志组作为standby redolog日志组,大小与原来的日志组一致:

由于已经存在group1-3,,所以group号只能从4开始:

alter database add standby logfile group 4 '/home/oracle/app/oracle/oradata/standbylog/std_redo04.log' size 50m;
alter database add standby logfile group 5 '/home/oracle/app/oracle/oradata/standbylog/std_redo05.log' size 50m;
alter database add standby logfile group 6 '/home/oracle/app/oracle/oradata/standbylog/std_redo06.log' size 50m;
alter database add standby logfile group 7 '/home/oracle/app/oracle/oradata/standbylog/std_redo07.log' size 50m;

查看standby 日志组的信息:

SYS@pri> select group#,sequence#,status, bytes/1024/1024 from v$standby_log;

image.png

查看当前有哪些日志组及其成员:

SYS@pri> set pagesize 100
SYS@pri> col member for a60
SYS@pri> select group#,member from v$logfile order by group#;

image.png

4:修改主库的spfile参数文件(此步骤只在主库上做)

(1)查看spfile的路径:

SYS@pri> show parameter spfile;

(2)用spfile创建一个pfile,用于修改:

SYS@pri> create pfile  from spfile;
(3)修改主库的pfile:/home/oracle/app/oracle/product/11.2.0/db_1/dbs/initpri.ora

以下内容是需要新增加的:

*.db_unique_name='pri'    #DG主库和备库的db_name必须一致,db_unique_name不一致
*.log_archive_config='dg_config=(pri,std)' #pri主数据库SID,std备份数据库SID
*.log_archive_dest_1='location=/home/oracle/app/oracle/arch valid_for=(all_logfiles,all_roles) db_unique_name=pri' #主数据库的归档日志路径和SID
*.log_archive_dest_2='service=std LGWR ASYNC valid_for=(online_logfiles,primary_role) db_unique_name=std' #备份数据库的SID (1)用于备库切换主库时使用
*.log_archive_dest_state_1=enable
*.log_archive_dest_state_2=enable
*.log_archive_max_processes=4
*.fal_client='pri'  #主数据库的SID----解决归档丢失的问题(2)用于备库切换主库时使用
*.fal_server='std'# 备份数据库的SID,----解决归档丢失的问题(3)用于备库切换主库时使用
*.db_file_name_convert='/home/oracle/app/oracle/oradata/std','/home/oracle/app/oracle/oradata/pri' #备库信息在前,主库信息在后,第一个目录是备份数据库数据文件路径(备份服务器上有此目录),第二个是主数据库数据文件路径
*.log_file_name_convert='/home/oracle/app/oracle/oradata/std','/home/oracle/app/oracle/oradata/pri' #第一个目录是备份数据库数据文件路径(备份服务器上有此目录),第二个是主数据库数据文件路径
*.standby_file_management='auto'

修改完毕,保存退出

 手工创建/home/oracle/app/oracle/arch:       

[oracle@pri dbs]$ mkdir –p /home/oracle/app/oracle/arch

172.18.1.207(主库)

image.png

image.png

172.18.1.208(备库)

image.png

5:用修改过的pfile重新创建一个spfile,用于重启数据库    (此步骤只在主库上做)

(1)关闭数据库:

SQL> shutdown immediate;

(2)在关闭数据库状态下,用修改过的pfile重新创建一个spfile:

SQL> create spfile from pfile;   #此时把数据库改为归档模式:(如果当初建库时选择了启用归档,则此步骤忽略),由于当前数据库已关闭,首先需要把数据库启动到mount状态
SQL> startup mount;       
SQL> alter database archivelog;    启用归档模式
SQL> alter database open;        OPEN数据库
SQL> archive log list;            查看是否启用归档模式
SQL> archive log list;

image.png

如上,归档路径已经改为/home/oracle/app/oracle/arch,证明对pfile的修改已生效

(3)查看当前数据库是否使用spfile启动:   

SQL> show parameter spfile;

image.png

如上,若能看到spfile的路径,则证明数据库是使用spfile启动的,若没有值,则说明是用pfile启动的。

(4)确认数据库已经启用归档模式和强制日志模式:

SYS> select name,log_mode,force_logging from v$database;

image.png

6:修改监听文件,添加静态监听        (主库、备库都要做)

[oracle@pri ~]$ cd $ORACLE_HOME/network/admin

[oracle@pri admin]$ vim listener.ora     添加的内容如下红色字体部分:【注;listtener.ora中的GLOBAL_DBNAME 配置,代表静态注册,就是监听lsnrctl status中的Service "orcl"等,也就是址tnsnames.ora中需要配置的SERVICE_NAME,用于外部连接】

# listener.ora Network Configuration File: /home/oracle/app/oracle/product/11.2.0/db_1/network/admin/listener.ora
# Generated by Oracle configuration tools.
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 172.18.1.207)(PORT = 1521))
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
)
)

SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (GLOBAL_DBNAME = pri)
      (ORACLE_HOME = /home/oracle/app/oracle/product/11.2.0/db_1)
      (SID_NAME = pri)
    )
  )
ADR_BASE_LISTENER = /home/oracle/app/oracle

7:编辑网络服务名配置文件tnsnames.ora  

[oracle@PRI_ADG admin]$ vim /home/oracle/app/oracle/product/11.2.0/dbhome_1/network/admin/tnsnames.ora

# tnsnames.ora Network Configuration File: /home/oracle/app/oracle/product/11.2.0/db_1/network/admin/tnsnames.ora

# Generated by Oracle configuration tools.
pri =
(DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 172.18.1.207)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = pri)
    )
)

std =
(DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 172.18.1.208)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
     (SERVICE_NAME = std)
    )
)

  )

保证主库和备库的tnsnames.ora文件中的内容完全相同,也可以把修改后的文件直接传给备库。

[oracle@ora11g admin]$ scp tnsnames.ora 172.18.1.208:$ORACLE_HOME/network/admin

tnsnames.ora 100% 925 0.9KB/s 00:00

配置完后,确保在任意一端上都能tnsping通对方:

[oracle@PRI_ADG admin]$ tnsping std

image.png

[oracle@STD_ADG admin]$ tnsping pri

image.png

 

四、备库

1、在备库端,修改pfile参数文件        (只在备库端做)

首先,在主库端把pfile拷贝给备库端的$ORACLE_HOME/dbs目录下,并重命名:

[oracle@PRI_ADG admin]$ scp $ORACLE_HOME/dbs/initpri.ora 172.18.1.208:$ORACLE_HOME/dbs/initstd.ora

image.png

然后在备库端进行修改:

[oracle@STD_ADG dbs]$ vim /home/oracle/app/oracle/product/11.2.0/dbhome_1/dbs/initstd.ora

以下为ADG增加的内容

*.db_unique_name='std'
*.log_archive_config='dg_config=(std,pri)'
*.log_archive_dest_1='location=/home/oracle/app/oracle/arch valid_for=(all_logfiles,all_roles) db_unique_name=std'
*.log_archive_dest_2='service=pri LGWR ASYNC valid_for=(online_logfiles,primary_role) db_unique_name=pri' #(1)用于备库切换主库时使用
*.log_archive_dest_state_1=enable
*.log_archive_dest_state_2=enable
*.log_archive_max_processes=4
*.fal_client='std' #(3)用于备库切换主库时使用#自己作为备机时填的信息,此处client端填自己的tnsnames的名称;
*.fal_server='pri' #(2)用于备库切换主库时使用#自己作为备机时填的信息,此处server端填对方的tnsnames的名称;
 *.db_file_name_convert='/home/oracle/app/oracle/oradata/pri','/home/oracle/app/oracle/oradata/std' 
*.log_file_name_convert='/home/oracle/app/oracle/oradata/pri','/home/oracle/app/oracle/oradata/std'  
*.standby_file_management='auto' 注意:整个搭建过程最需要留意的就是主库和备库的PFILE配置,建议修改完后仔细对照主备库PFILE的区别

2、在备库端手工创建所需的目录    (备库端做,不提前创建的话恢复时会报错!)

mkdir -pv /home/oracle/app/oracle/admin/std/adump
mkdir -pv  /home/oracle/app/oracle/diag/rdbms/std/std/trace
mkdir -pv  /home/oracle/app/oracle/arch
mkdir -pv  /home/oracle/app/oracle/oradata/std
mkdir -pv  /home/oracle/app/oracle/oradata/standbylog
mkdir -pv  /home/oracle/app/oracle/flash_recovery_area

3、用修改后的pfile创建一个spfile,用于启动数据库        (备库端做)

(1)确保数据库为关闭状态:SQL> shutdown immediate

[oracle@STD_ADG dbs]$ sqlplus / as sysdba

(2) SYS > create spfile from pfile;

File created.

(3)将数据库启动到nomount状态:

SYS > startup nomount;

image.png

4、监听修改

[oracle@pri ~]$ cd $ORACLE_HOME/network/admin

[oracle@pri admin]$ vim listener.ora     添加的内容如下红色字体部分:

# listener.ora Network Configuration File: /u01/app/oracle/product/11.2.0/db_1/network/admin/listener.ora
# Generated by Oracle configuration tools.
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.11.121)(PORT = 1521))
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
)
)

SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (GLOBAL_DBNAME = std)
      (ORACLE_HOME = /home/oracle/app/oracle/product/11.2.0/dbhome_1)
      (SID_NAME = std)
    )
  )

ADR_BASE_LISTENER = /home/oracle/app/oracle

5、编辑网络服务名配置文件tnsnames.ora  

[oracle@PRI_ADG admin]$ vim /home/oracle/app/oracle/product/11.2.0/dbhome_1/network/admin/tnsnames.ora

# tnsnames.ora Network Configuration File: /home/oracle/app/oracle/product/11.2.0/db_1/network/admin/tnsnames.ora

# Generated by Oracle configuration tools.
pri =
(DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 172.18.1.207)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = pri)
    )
)

std =
(DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 172.18.1.208)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
     (SERVICE_NAME = std)
    )
)

五、备库恢复

1、利用RMAN在备库上恢复主库            (备库端做)

[oracle@std ~]$ rman target sys/oracle@pri auxiliary sys/oracle@std

原库:sys/oracle@pri

备库:sys/oracle@std

image.png

RMAN> duplicate target database for standby from active database --【nofilenamecheck 这个参数先不用加】;

这条命令可以直接恢复数据文件,standby控制文件,standby日志组,非常霸道,查看如下日志:

同步日志

上述备库数据同步完成,下面进行登录检查测试

2、尝试开启备库

登陆并查看数据库当前状态:

[oracle@std ~]$ sqlplus / as sysdba

SYS@std> startup
SYS@std> select status from v$instance;
STATUS
------------
MOUNTED        (RMAN恢复完直接就是mount状态)


3、检查测试:

(1)、检查Dataguard 状态

select database_role,protection_mode,protection_level,open_mode from v$database;

(2)、启动dataguard数据库同步(备库执行),开启后,数据开始从主库同步至备库[最好手动执行一下SQL> alter system switch logfile;手动归档,数据会立即传输到备库]

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

(3)、关闭datagurade数据同步(备库执行),关闭后,数据不再同步至备库(如果关闭了数据同步功能,即使archivelog从主库同步过来,也不会像备库表中写入数据)。

SQL>alter database recover managed standby database cancel;

(4)、主备库检查dataguard 状态【查看archivelog序列号是否一致,下面两种都可以查看】:

SQL>select unique thread#,max(sequence#) over(partition by thread#)last from v$archived_log; SQL>archive log list;

(5)、检查dataguard日志:

主库日志:tail -100f /home/oracle/app/oracle/diag/rdbms/pri/pri/trace/alert_std.log

备库日志:tail -100f /home/oracle/app/oracle/diag/rdbms/std/std/trace/alert_std.log

或使用命令:SQL>select * from v$dataguard_status;

6、查看日志应用情况:

SYS@std> set pagesize 100

SYS@std> select sequence#,applied from v$archived_log order by 1;

image.png

如上,如果发现有个NO的,也是正常的,说明该日志在主库上还没有归档,可以在主库上运行alter system switch logfile;命令来进行日志切换,再到备库查看日志应用情况

至此,DataGuard的搭建成功!

注:ADG——物理standby database的日常维护

另:ADG的工作原理(ADG备机可以工作在mounted状态下,也可以运行在read-only 状态下;而DG的备机只能运行在mounted状态下)

##########################################################################################################################################################################################################################################################################################################################################################################################################################################

7、检查命令-备库

(1)查看standby启动的DG进程

SQL> select process,client_process,sequence#,status from v$managed_standby;

SQL> select process,client_process,sequence#,status from v$managed_standby;

PROCESS   CLIENT_P  SEQUENCE# STATUS
--------- -------- ---------- ------------
ARCH      ARCH             92 CLOSING
ARCH      ARCH             93 CLOSING
ARCH      ARCH              0 CONNECTED      //归档进程 
ARCH      ARCH             95 CLOSING
RFS       ARCH              0 IDLE
RFS       LGWR             96 IDLE     //归档传输进程 
RFS       UNKNOWN           0 IDLE
RFS       UNKNOWN           0 IDLE
MRP0      N/A              96 WAIT_FOR_LOG    //日志应用进程 
9 rows selected.

image.png

(2)查看数据库的保护模式(主库+备库):

#主库:

SQL> select database_role,protection_mode,protection_level,open_mode from v$database;

image.png

#standby 备库端查看,也是一样的。

SQL> select database_role,protection_mode,protection_level,open_mode from v$database;

image.png

(3)查看DG的日志信息

SQL> select * from v$dataguard_status;

8、Open Read Only standby数据库并且开启实时日志应用(备库)

(1)关闭并完全打开

image.png

(2) SQL> select database_role,protection_mode,protection_level,open_mode from v$database;

只读模式

image.png

(3) SQL> select process,client_process,sequence#,status from v$managed_standby;

image.png

SQL> recover managed standby database using current logfile disconnect from session;--使用using current logfile参数,可以实时同步主库的更新

image.png

SQL> select process,client_process,sequence#,status from v$managed_standby;

image.png

六:相关知识补充:

1:DataGuard的三种数据保护模式:

select database_role,protection_mode,protection_level,open_mode from v$database;通过此语句查看

(1)MAXIMIZE PROTECTION(最大保护模式):

最大数据保护与无数据分歧,LGWR将同时传送到备用节点,在主节点事务确认之前,备用节点也必须完全收到日志数据。如果网络不好,引起LGWR不能传送数据,将引起严重的性能问题,导致主节点DOWN机。

(2)MAXIMIZE AVAILABILITY(最大可用模式):

无数据丢失模式,允许数据分歧,允许异步传送。正常情况下运行在最大保护模式,在主节点与备用节点的网络断开或连接不正常时,自动切换到最大性能模式,主节点的操作还是可以继续的。在网络不好的情况下有较大的性能影响。

(3)MAXIMIZE PERFORMANCE(最大性能模式):

这种模式应当可以说是从8i继承过来的备用服务器模式,异步传送,无数据同步检查,可能丢失数据,但是能获得主节点的最大性能。

 

本作品采用 知识共享署名 4.0 国际许可协议 进行许可
标签: 暂无
最后更新:2021年5月22日

admin

这个人很懒,什么都没留下

打赏 点赞
< 上一篇
下一篇 >

文章评论

您需要 登录 之后才可以评论

COPYRIGHT © 2022 拓扑园. ALL RIGHTS RESERVED.

Theme Kratos Made By Seaton Jiang

鲁ICP备2021020523号

鲁ICP备2021020523号