(一)DataGuard概要

DataGuard中文称为”数据卫士“,提供了数据库高可用性、数据保护和灾难恢复的功能。DataGuard通过建立primary数据库和standby数据库来确立参照关系,DataGuard将主库(primary)的redo日志传递给备库(standby),然后在备库中应用redo进行同步。

备库又分为2种类型:物理备库和逻辑备库

  • 物理standby是通过块拷贝方式同步,通过接受并应用primary数据库的redo log,以介质恢复的方式同步。在物理备库中,数据是完全相同的,包括schema、表、索引都是一样的。
  • 逻辑standby是通过应用SQL语句进行同步,通过接收primary数据库的redo log并转换成sql语句。

物理备库在实际生产中使用较多,这里记录物理备库的搭建过程。

(二)DataGuard环境规划

  主库 备库
操作系统 redhat 6.7 x86-64(64位) redhat 6.7 x86-64(64位)
服务器名称 primarynode standbynode
IP地址规划 192.168.10.51 192.168.10.52
--------------- ----------------------- ----------------
数据库版本 11.2.0.4 11.2.0.4
db_name adgdb adgdb
db_unique_name adgdb adgdbstandby
instance_name adgdb adgdbstandby
service_name adgdb adgdb
数据库安装 安装数据库软件+创建监听+安装数据库 安装数据库软件+创建监听

常规配置:

( 1 )主库和备库hosts文件配置

[root@primarynode ~]# vim /etc/hosts

127.0.0.1   localhost localhost.localdomain localhost4
::1 localhost localhost.localdomain localhost6
192.168.10.51 primarynode
192.168.10.52 standbynode

(2)主库oracle用户环境配置

[oracle@primarynode ~]$ more .bash_profile
# .bash_profile # Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi # User specific environment and startup programs PATH=$PATH:$HOME/bin ORACLE_SID=adgdb; export ORACLE_SID
ORACLE_BASE=/u01/app/oracle; export ORACLE_BASE
ORACLE_HOME=$ORACLE_BASE/product/11.2./db_1; export ORACLE_HOME
PATH=$ORACLE_HOME/bin:$PATH:$HOME/bin; export PATH
export TEMP=/tmp
export TMPDIR=/tmp
umask export PATH

(3)备库环境变量配置

[oracle@standbynode ~]$ more .bash_profile
# .bash_profile # Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi # User specific environment and startup programs PATH=$PATH:$HOME/bin ORACLE_SID=adgdbstandby; export ORACLE_SID
ORACLE_BASE=/u01/app/oracle; export ORACLE_BASE
ORACLE_HOME=$ORACLE_BASE/product/11.2./db_1; export ORACLE_HOME
PATH=$ORACLE_HOME/bin:$PATH:$HOME/bin; export PATH
export TEMP=/tmp
export TMPDIR=/tmp
umask export PATH

(三)DataGuard主库配置

( 1 )主库启用强制记录日志功能

查询是否启用强制记录日志

select force_logging from v$database;

如果未启用,则使用下面语句来开启强制记录日志

alter database force logging;  --强制记录日志

( 2 )启用归档

查询是否启用归档

archive log list
--或者
select log_mode from v$database;

如果未启用归档,可以按照如下步骤开启归档

----Oracle 11g数据库归档模式开启

--STEP1:以sysdba角色登陆数据库
sqlplus / as sysdba --STEP2:干净的关闭数据库
shutdown immediate --STEP3:将数据库启动到mount状态
startup mount --STEP4:开启归档
alter database archivelog; --STEP5:打开数据库
alter database open

( 3 )主库参数配置
(3.1)db_unique_name


SQL> alter system set db_unique_name = 'adgdb' scope=spfile;

(3.2)log_archive_config

SQL> alter system set log_archive_config='DG_CONFIG=(adgdb,adgdbstandby)' scope=spfile;

(3.3)log_archive_dest_1

SQL> alter system set log_archive_dest_1='LOCATION=/u01/app/oracle/product/11.2.0/db_1/archivelog VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=adgdb' scope=both;

(3.4)log_archive_dest_2

SQL> alter system set log_archive_dest_2='SERVICE=tnsadgdbstandby LGWR SYNC AFFIRM VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=adgdbstandby' scope=spfile;

(3.5)log_archive_dest_state_1

alter system set log_archive_dest_state_1 = ENABLE;

(3.6)log_archive_dest_state_2

alter system set log_archive_dest_state_2 = ENABLE;

(3.7)db_file_name_convert
查看数据文件的位置:

SQL> select name from v$datafile;
NAME
--------------------------------------------------
/u01/app/oracle/oradata/adgdb/system01.dbf
/u01/app/oracle/oradata/adgdb/sysaux01.dbf
/u01/app/oracle/oradata/adgdb/undotbs01.dbf
/u01/app/oracle/oradata/adgdb/users01.dbf
/u01/app/oracle/oradata/adgdb/example01.dbf

如果主库与备库数据文件位置不相同,则需要使用db_file_name_convert来转换。

SQL> alter system set db_file_name_convert='/u01/app/oracle/oradata/adgdbstandby','/u01/app/oracle/oradata/adgdb' scope=spfile;

(3.8)log_file_name_convert

查看在线日志文件的位置:

SQL> select member from v$logfile;
MEMBER
--------------------------------------------------
/u01/app/oracle/oradata/adgdb/redo03.log
/u01/app/oracle/oradata/adgdb/redo02.log
/u01/app/oracle/oradata/adgdb/redo01.log

如果主库与备库在线日志文件位置不相同,则需要使用log_file_name_convert来转换。

SQL> alter system set log_file_name_convert='/u01/app/oracle/oradata/adgdbstandby','/u01/app/oracle/oradata/adgdb' scope=spfile;

(3.9)standby_file_management

SQL> alter system set standby_file_management=auto scope=spfile;

(3.10)fal_client

SQL> alter system set fal_client='tnsadgdb' scope=both;

(3.11)fal_server

SQL> alter system set fal_server='tnsadgdbstandby' scope=both;

( 4 )主库静态监听配置

[oracle@primarynode admin]$ vim listener.ora

# listener.ora Network Configuration File: /u01/oracle/product/11.2./db_1/network/admin/listener.ora
# Generated by Oracle configuration tools. LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = primarynode)(PORT = ))
)
)
) SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(GLOBAL_DBNAME=adgdb)
(SID_NAME = adgdb)
(ORACLE_HOME = /u01/app/oracle/product/11.2./db_1)
)
) ADR_BASE_LISTENER = /u01/oracle

查看监听:
[oracle@primarynode admin]$ lsnrctl status

LSNRCTL for Linux: Version 11.2.0.4. - Production on -APR- ::

Copyright (c) , , Oracle.  All rights reserved.

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=primarynode)(PORT=)))
STATUS of the LISTENER
------------------------
Alias LISTENER
Version TNSLSNR for Linux: Version 11.2.0.4. - Production
Start Date -APR- ::
Uptime days hr. min. sec
Trace Level off
Security ON: Local OS Authentication
SNMP OFF
Listener Parameter File /u01/app/oracle/product/11.2./db_1/network/admin/listener.ora
Listener Log File /u01/app/oracle/product/11.2./db_1/network/log/listener.log
Listening Endpoints Summary...
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=primarynode)(PORT=)))
Services Summary...
Service "adgdb" has instance(s).
Instance "adgdb", status UNKNOWN, has handler(s) for this service...
Instance "adgdb", status READY, has handler(s) for this service...
Service "adgdbXDB" has instance(s).
Instance "adgdb", status READY, has handler(s) for this service...
The command completed successfully

( 5 )主库tnsnames.ora文件配置

[oracle@primarynode admin]$ vim tnsnames.ora

tnsadgdb =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.10.51)(PORT = ))
)
(CONNECT_DATA =
(SERVICE_NAME = adgdb)
)
) tnsadgdbstandby =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.10.52)(PORT = ))
)
(CONNECT_DATA =
(SERVICE_NAME = adgdb)
)
)

(四)DataGuard备库配置

( 1 )密码文件

在dataguard中,主库与备库sys密码需一致。可以将主库的密码文件拷贝到备库中

--登陆到主库,将密码文件复制到备库
[oracle@primarynode ~]$ cd $ORACLE_HOME/dbs
[oracle@primarynode dbs]$ scp orapwadgdb 192.168.10.52:/u01/app/oracle/product/11.2./db_1/dbs
oracle@192.168.10.52's password:
orapwadgdb % .5KB/s : --登陆到备库,修改密码文件的名称
[oracle@standbynode dbs]$ mv orapwadgdb orapwadgdbstandby

或者不拷贝密码文件,直接使用orapwd生成一个新的密码文件,密码需与主库一致:

orapwd file=orapwadgdbstandby password='oracle';

( 2 )初始化参数文件

(2.1)在主库生成初始化参数文件

SQL> create pfile from spfile;
File created.

(2.2)拷贝主库的参数文件到备库并重命名

--在主库上执行复制操作
[oracle@primarynode dbs]$ scp initadgdb.ora 192.168.10.52:/u01/app/oracle/product/11.2./db_1/dbs
oracle@192.168.10.52's password:
initadgdb.ora % .5KB/s : --在备库上执行重命名操作
[oracle@standbynode dbs]$ mv initadgdb.ora initadgdbstandby.ora

(2.3)修改备库的参数文件内容

--将初始化参数中的这些参数做修改,其他参数不用动
db_name='adgdb'
db_unique_name='adgdbstandby'
audit_file_dest='/u01/app/oracle/admin/adgdbstandby/adump'
compatible='11.2.0.4.0'
control_files='/u01/app/oracle/oradata/adgdbstandby/control01.ctl','/u01/app/oracle/oradata/adbdbstandby/control02.ctl'
log_archive_config='DG_CONFIG=(adgdb,adgdbstandby)'
log_archive_dest_1='LOCATION=/u01/app/oracle/product/11.2.0/db_1/archivelog VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=adgdbstandby'
log_archive_desc_2='SERVICE=tnsadgdb LGWR SYNC AFFIRM VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NMAE=adgdb'
db_file_name_convert='/u01/app/oracle/oradata/adgdb','/u01/app/oracle/oradata/adgdbstandby'
log_file_name_convert='/u01/app/oracle/oradata/adgdb','/u01/app/oracle/oradata/adgdbstandby'
fal_client='tnsadgdbstandby'
fal_server='tnsadgdb'
standby_file_management='AUTO'

注意:里面涉及到路径的需要手动创建

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

(2.4)使用pfile文件创建spfile文件

--登陆到idle数据库
sqlplus / as sysdba --创建spfile,可在$ORACLE_HOME/dbs下查看
create spfile from pfile --启动数据库到nomount状态
startup nomount

( 3 )配置静态监听

[oracle@standbynode trace]$ cd /u01/app/oracle/product/11.2.0/db_1/network/admin/
[oracle@standbynode admin]$ touch listener.ora [oracle@standbynode admin]$ vim listener.ora
# listener.ora Network Configuration File: /u01/oracle/product/11.2.0/db_1/network/admin/listener.ora
# Generated by Oracle configuration tools. LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = standbynode)(PORT = 1521))
)
)
) SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(GLOBAL_DBNAME=adgdb)
(SID_NAME = adgdbstandby)
(ORACLE_HOME = /u01/app/oracle/product/11.2.0/db_1)
)
) ADR_BASE_LISTENER = /u01/oracle

备注:备库为什么一定需要使用静态监听
nomount状态下必须使用静态监听才能连接到实例。

( 4 )配置tnsnames.ora文件,直接把主库的拷贝过来即可

[oracle@standbynode trace]$ cd /u01/app/oracle/product/11.2.0/db_1/network/admin/
[oracle@standbynode admin]$ vim tnsnames.ora tnsadgdb =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.10.51)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = adgdb)
)
) tnsadgdbstandby =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.10.52)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = adgdb)
)
)

( 5 )测试网络连通性

在主库与备库上均执行,确保可以正常访问:

tnsping tnsadgdb
tnsping tnsadgdbstandby

在主库:

sqlplus sys/oracle@tnsadgdb as sysdba
sqlpus sys/oracle@tnsadgdbstandby as sysdba

( 6 )参数检查

由于参数配置的较多,需要认真检查参数配置是否正确,主要检查这些参数

1.db_unique_name             :2个节点需要不一样
2.compatible                     :主库与备库兼容性需一致
3.log_archive_config           : 配置主库与备库的db_unique_name
4.log_archive_desc_1,2       :归档日志的路径
5.log_archive_desc_state_2 :
    enable -- 启用log_archive_desc_2
    defer    --禁用log_archive_desc_2
6.db_file_name_convert       :数据文件转换路径
7.log_file_name_convert      :日志文件转换路径
8.standby_file_management :设置为auto
9.log_archive_format          :日志文件格式,两边需一致

( 7 )使用duplicate创建物理standby

(7.1)连接到主库和备库

## 一定要加nocatalog,否则在执行duplicate时会报错
[oracle@primarynode ~]$ rman target sys/oracle@tnsadgdb auxiliary sys/oracle@tnsadgdbstandby nocatalog

(7.2)使用duplicate复制数据库

RMAN> duplicate target database for standby from active database nofilenamecheck;

执行过程见:

RMAN> duplicate target database for standby from active database nofilenamecheck;

Starting Duplicate Db at -APR-
allocated channel: ORA_AUX_DISK_1
channel ORA_AUX_DISK_1: SID= device type=DISK contents of Memory Script:
{
backup as copy reuse
targetfile '/u01/app/oracle/product/11.2.0/db_1/dbs/orapwadgdb' auxiliary format
'/u01/app/oracle/product/11.2.0/db_1/dbs/orapwadgdbstandby' ;
}
executing Memory Script Starting backup at -APR-
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID= device type=DISK
Finished backup at -APR- contents of Memory Script:
{
ctl';
restore clone controlfile to '/u01/app/oracle/oradata/adgdbstandby/control02.ctl' from
'/u01/app/oracle/oradata/adgdbstandby/control01.ctl';
}
executing Memory Script Starting backup at -APR-
using channel ORA_DISK_1
channel ORA_DISK_1: starting datafile copy
copying standby control file channel ORA_DISK_1: datafile copy complete, elapsed time: ::
Finished backup at -APR- Starting restore at -APR-
using channel ORA_AUX_DISK_1 channel ORA_AUX_DISK_1: copied control file copy
Finished restore at -APR- contents of Memory Script:
{
sql clone 'alter database mount standby database';
}
executing Memory Script sql statement: alter database mount standby database contents of Memory Script:
{
set newname for tempfile to
"/u01/app/oracle/oradata/adgdbstandby/temp01.dbf";
switch clone tempfile all;
set newname for datafile to
"/u01/app/oracle/oradata/adgdbstandby/system01.dbf";
set newname for datafile to
"/u01/app/oracle/oradata/adgdbstandby/sysaux01.dbf";
set newname for datafile to
"/u01/app/oracle/oradata/adgdbstandby/undotbs01.dbf";
set newname for datafile to
"/u01/app/oracle/oradata/adgdbstandby/users01.dbf";
set newname for datafile to
"/u01/app/oracle/oradata/adgdbstandby/example01.dbf";
backup as copy reuse
datafile auxiliary format
"/u01/app/oracle/oradata/adgdbstandby/system01.dbf" datafile
auxiliary format
"/u01/app/oracle/oradata/adgdbstandby/sysaux01.dbf" datafile
auxiliary format
"/u01/app/oracle/oradata/adgdbstandby/undotbs01.dbf" datafile
auxiliary format
"/u01/app/oracle/oradata/adgdbstandby/users01.dbf" datafile
auxiliary format
"/u01/app/oracle/oradata/adgdbstandby/example01.dbf" ;
sql 'alter system archive log current';
}
executing Memory Script executing command: SET NEWNAME renamed tempfile to /u01/app/oracle/oradata/adgdbstandby/temp01.dbf in control file executing command: SET NEWNAME executing command: SET NEWNAME executing command: SET NEWNAME executing command: SET NEWNAME executing command: SET NEWNAME Starting backup at -APR-
using channel ORA_DISK_1
channel ORA_DISK_1: starting datafile copy
input datafile file number= name=/u01/app/oracle/oradata/adgdb/system01.dbf
output file name=/u01/app/oracle/oradata/adgdbstandby/system01.dbf tag=TAG20190406T160954
channel ORA_DISK_1: datafile copy complete, elapsed time: ::
channel ORA_DISK_1: starting datafile copy
input datafile file number= name=/u01/app/oracle/oradata/adgdb/sysaux01.dbf
output file name=/u01/app/oracle/oradata/adgdbstandby/sysaux01.dbf tag=TAG20190406T160954
channel ORA_DISK_1: datafile copy complete, elapsed time: ::
channel ORA_DISK_1: starting datafile copy
input datafile file number= name=/u01/app/oracle/oradata/adgdb/example01.dbf
output file name=/u01/app/oracle/oradata/adgdbstandby/example01.dbf tag=TAG20190406T160954
channel ORA_DISK_1: datafile copy complete, elapsed time: ::
channel ORA_DISK_1: starting datafile copy
input datafile file number= name=/u01/app/oracle/oradata/adgdb/undotbs01.dbf
output file name=/u01/app/oracle/oradata/adgdbstandby/undotbs01.dbf tag=TAG20190406T160954
channel ORA_DISK_1: datafile copy complete, elapsed time: ::
channel ORA_DISK_1: starting datafile copy
input datafile file number= name=/u01/app/oracle/oradata/adgdb/users01.dbf
output file name=/u01/app/oracle/oradata/adgdbstandby/users01.dbf tag=TAG20190406T160954
channel ORA_DISK_1: datafile copy complete, elapsed time: ::
Finished backup at -APR- sql statement: alter system archive log current contents of Memory Script:
{
switch clone datafile all;
}
executing Memory Script datafile switched to datafile copy
input datafile copy RECID= STAMP= file name=/u01/app/oracle/oradata/adgdbstandby/system01.dbf
datafile switched to datafile copy
input datafile copy RECID= STAMP= file name=/u01/app/oracle/oradata/adgdbstandby/sysaux01.dbf
datafile switched to datafile copy
input datafile copy RECID= STAMP= file name=/u01/app/oracle/oradata/adgdbstandby/undotbs01.dbf
datafile switched to datafile copy
input datafile copy RECID= STAMP= file name=/u01/app/oracle/oradata/adgdbstandby/users01.dbf
datafile switched to datafile copy
input datafile copy RECID= STAMP= file name=/u01/app/oracle/oradata/adgdbstandby/example01.dbf
Finished Duplicate Db at -APR-

( 8 )添加主库和备库的standby日志组

(8.1)添加standby日志组需要注意的事项

  • standby日志组个数:配置为redo日志组个数+1
  • 在主库与备库都添加standby日志组。主库可以不添加,但是如果后期发生主备切换,还是要添加,所以最好一次性添加。
  • 只查询standby日志组: select * from v$standby_log ;

(8.2)添加主库的standby日志组

alter database add standby logfile group 4 ('/u01/app/oracle/oradata/adgdb/stredo04.log') size 50M;
alter database add standby logfile group 5 ('/u01/app/oracle/oradata/adgdb/stredo05.log') size 50M;
alter database add standby logfile group 6 ('/u01/app/oracle/oradata/adgdb/stredo06.log') size 50M;
alter database add standby logfile group 7 ('/u01/app/oracle/oradata/adgdb/stredo07.log') size 50M;

(8.3)添加备库的standby日志组

alter database add standby logfile group 4 ('/u01/app/oracle/oradata/adgdbstandby/stredo04.log') size 50M;
alter database add standby logfile group 5 ('/u01/app/oracle/oradata/adgdbstandby/stredo05.log') size 50M;
alter database add standby logfile group 6 ('/u01/app/oracle/oradata/adgdbstandby/stredo06.log') size 50M;
alter database add standby logfile group 7 ('/u01/app/oracle/oradata/adgdbstandby/stredo07.log') size 50M;

( 9 )开始同步数据库,在备库上执行

alter database open;  

--方式一:开启实时同步
alter database recover managed standby database using current logfile disconnect from session;
--或简写为:
alter database recover managed standby database using current logfile disconnect; --方式二:开启同步(日志切换时才同步)
alter database recover managed standby database disconnect from session;

至此配置完成。

(五)DataGuard状态查看

( 1 )主库状态查看

SQL> select    open_mode,      --数据库打开模式,如果实时同步,则为:read only with apply,取消同步则为:read only
database_role, --数据库角色,是主库还是备库
protection_mode, --保护模式
protection_level --保护级别
from v$database; OPEN_MODE DATABASE_ROLE PROTECTION_MODE PROTECTION_LEVEL
-------------------- ---------------- -------------------- --------------------
READ WRITE PRIMARY MAXIMUM PERFORMANCE MAXIMUM PERFORMANCE

( 2 )备库状态查看

SQL> select    open_mode,
database_role,
protection_mode,
protection_level
from v$database; OPEN_MODE DATABASE_ROLE PROTECTION_MODE PROTECTION_LEVEL
-------------------- ---------------- -------------------- --------------------
READ ONLY WITH APPLY PHYSICAL STANDBY MAXIMUM PERFORMANCE MAXIMUM PERFORMANCE

(六)DataGuard测试

在主库上创建表lijiaman.test01,并插入数据

SQL> create table test01(id  number,name  varchar2(50));
Table created. SQL> insert into test01 values(1,'lijiaman');
1 row created. SQL> insert into test01 values(2,'gegeman');
1 row created. SQL> commit;

在standby数据库上查询lijiaman.test01表,数据一致

SQL> select db_unique_name from v$database;
DB_UNIQUE_NAME
------------------------------
adgdbstandby SQL> select * from lijiaman.test01;
ID NAME
---------- --------------------
1 lijiaman
2 gegeman

【完】

Oracle 11g DataGuard搭建(一) - 单节点到单节点的更多相关文章

  1. Oracle 10gR2 Dataguard搭建(非duplicate方式)

    Oracle 10gR2 Dataguard搭建(非duplicate方式) 我的实验环境: 源生产库(主库): IP地址:192.168.1.30 Oracle 10.2.0.5 单实例 新DG库( ...

  2. Oracle 11g Dataguard参数详解

    https://www.jb51.net/article/52269.htm注:本文译自<Oracle Data Guard 11g Handbook> Page 78 – Page 88 ...

  3. Oracle 11g dataguard check RTA(real time apply)

    Oracle 11g dataguard check RTA(real time apply) 2017年8月24日 16:38 环境:oracle 11.2.0.1 OEL 5.8 注:以下操作都在 ...

  4. oracle 11g goldengate搭建(一)

    初学ogg,基本了解ogg原理及架构之后,趁热打铁,搭建一个简单的学习环境,以实现目标:将sourcedb数据库的2个表:sourceuser.test01和sourceuser.dept通过ogg分 ...

  5. Oracle 11g Dataguard 配置,维护与详解 (ADG)

    一.前言: 本手册主要记录如何配置,还介绍了配置原因,以及注意要点,已经主备切换,以及故障转移等重要操作步骤,我希望这个文章可以作为进行dataguard配置的一个参考手册. 二.前提 1.主库是归档 ...

  6. oracle 11g dataguard创建的简单方法

    oracle 10g可以通过基于备份的rman DUPLICATE实现dataguard,通过步骤需要对数据库进行备份,并在standby侧进行数据库的恢复.而到了11g,oracle推出了Dupli ...

  7. Oracle 11G DataGuard生产环境又一次启动具体过程

     场景,重新启动数据库,不重新启动linux系统,所以不用考虑监听程序,#linux输入lsnrctl start1 数据库关闭1.1 关闭主库SHUTDOWN IMMEDIATE; SQL> ...

  8. Oracle 11g dataguard check real time apply

    2017年8月24日 16:38 环境:oracle 11.2.0.1 OEL-5.8 注:以下操作都在备库执行 总结方法: 1.FPYJ(125_7)@fpyj123> select open ...

  9. oracle 11G dataguard 恢复

    检查主备机的sys 密码是否一致,忘记密码可以修改,同步 .alter user sys identified by xxx: orapwd file=oraxxx.ora password=admi ...

随机推荐

  1. 《CSS3揭秘》上(边框,投影,渐变,条纹效果,蚂蚁行军)

    最近看了<CSS3揭秘>一书,里面真的是干货满满呀,现将常用到的一些技巧归纳总结,便于日后用到查找.不得不感叹学无止境哦~ 1.边框与背景 半透明边框 .demo{ background- ...

  2. System Test GIS压力测试利器

    System Test是ESRI公司提供一个压力测试软件.能针对ArcGIS Server 地图服务.WMS服务.WFS服务.WCS服务接口进行压力测试.以下是一个针对ArcGIS Server 地图 ...

  3. Idea 快捷键大全【转】

    IntelliJ Idea 常用快捷键列表 Ctrl+Shift + Enter,语句完成“!”,否定完成,输入表达式时按 “!”键Ctrl+E,最近的文件Ctrl+Shift+E,最近更改的文件Sh ...

  4. Python爬虫教程-01-爬虫介绍

    Spider-01-爬虫介绍 Python 爬虫的知识量不是特别大,但是需要不停和网页打交道,每个网页情况都有所差异,所以对应变能力有些要求 爬虫准备工作 参考资料 精通Python爬虫框架Scrap ...

  5. Mac 下VIM配置

    Mac下VIM配置 首先,我们去这里下载MacVim,也可用这个网址:(http://code.google.com/p/macvim/),进入后的界面如下: ____________________ ...

  6. Week2——提交表单后后台的工作

    在我理解看来,发生请求后主要是通过域进行相互间的协调作用的.表单数据可以从request域中获得,也可以通过response域返回数据给前台. 当发起http请求后,已经启动的Tomcat服务器解析收 ...

  7. TF-IDF与余弦相似性的应用:找出相似文章

    "找出相似文章"的一种算法: 利用TF-IDF算法,找出两篇文章的关键词. 每篇文章若干个关键词的相对词频. 生成两篇文章各自的词频向量. 计算两个向量的余弦相似度,值越大就表示越 ...

  8. RoCE、softRoCE与iWRAP

    RoCE - RDMA over Converged Ethernet 以太网在全球互联的广域网中毫无异议的老大,但在高带宽.低延时的专有网络领域却明显混不开.伴随网络融合概念兴起,IETF发布了DC ...

  9. 2.java相对路径与绝对路径

    1.基本概念的理解 绝对路径:绝对路径就是你的主页上的文件或目录在硬盘上真正的路径,(URL和物理路径)例如:C:xyz/test.txt 代表了test.txt文件的绝对路径.http://www. ...

  10. “小小科技女神”与微软DigiGirlz Day的约会

    上周五在微软中国上海科技园举行的微软科技女生夏令营终于在一天“忙碌的轻松中”,伴随着师生和工程师们的欢笑结束了. 本次的微软科技女生夏令营一共有来自上海闵行区七宝中学.莘庄中学和闵行中学的共50名高中 ...