[20180423]flashback tablespace与snapshot standby.txt
[20180423]flashback tablespace与snapshot standby.txt
--//缺省建立表空间是打开flashback on,如果某个表空间flashback off,在dg启动snapshot standby时注意,可能"回不来",
--//通过测试说明问题.
1.环境:
SCOTT@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
2.设置备库tea表空间关闭flashback.
SCOTT@book> alter tablespace tea flashback off;
Tablespace altered.
SCOTT@book> select * from v$tablespace;
TS# NAME INC BIG FLA ENC
------------ --------- --- --- --- ---
0 SYSTEM YES NO YES
1 SYSAUX YES NO YES
2 UNDOTBS1 YES NO YES
4 USERS YES NO YES
3 TEMP NO NO YES
6 EXAMPLE YES NO YES
7 TEA YES NO NO
7 rows selected.
--//tea表空间FLASHBACK_ON设置为NO.注意这些信息应该记录在控制文件,你可以发现备库还是On .
--//备库:
SYS@bookdg> select flashback_on from v$database;
FLASHBACK_ON
------------------
NO
SYS@bookdg> select * from v$tablespace;
TS# NAME INC BIG FLA ENC
---------- -------------------- --- --- --- ---
0 SYSTEM YES NO YES
1 SYSAUX YES NO YES
2 UNDOTBS1 YES NO YES
4 USERS YES NO YES
3 TEMP NO NO YES
6 EXAMPLE YES NO YES
7 TEA YES NO YES
7 rows selected.
--//备库还是yes,tea表空间.
SYS@bookdg> alter tablespace tea flashback off;
alter tablespace tea flashback off
*
ERROR at line 1:
ORA-16000: database open for read-only access
--//无法在open read only修改.
SYS@bookdg> startup mount
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.
SYS@bookdg> alter tablespace tea flashback off;
Tablespace altered.
SYS@bookdg> select * from v$tablespace;
TS# NAME INC BIG FLA ENC
---------- -------------------- --- --- --- ---
0 SYSTEM YES NO YES
1 SYSAUX YES NO YES
2 UNDOTBS1 YES NO YES
4 USERS YES NO YES
3 TEMP NO NO YES
6 EXAMPLE YES NO YES
7 TEA YES NO NO
7 rows selected.
--//OK,现在成功.
3.备库打开snapshot standby:
--//参考http://blog.itpub.net/267265/viewspace-2134547/
--//实际上就是保证存储点,只要闪回区足够,许多dml操作没有问题,在转换physical standby时,返回原来的存储点;
--//备库:
SYS@bookdg> alter database convert to snapshot standby;
Database altered.
SYS@bookdg> select database_role from v$database;
DATABASE_ROLE
----------------
SNAPSHOT STANDBY
SYS@bookdg> alter database open ;
Database altered.
SCOTT@bookdg> create table tt1 tablespace tea as select * from dba_objects;
Table created.
--//在主库也产生一些日志对于tea表空间:
SCOTT@book> create table empx tablespace tea as select * from emp;
Table created.
--//现在转换为physical standby
--//备库:
SYS@bookdg> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.
SYS@bookdg> startup mount
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.
SYS@bookdg> alter database convert to physical standby ;
alter database convert to physical standby
*
ERROR at line 1:
ORA-38753: Cannot flashback data file 6; no flashback log data.
ORA-01110: data file 6: '/mnt/ramdisk/book/tea01.dbf'
--//可以发现备库的数据文件6无法转换,这个应该引起足够重视,在备库转换为snapshot standby时,注意检查表空间是否flashvback是否都是on的状态.
$ oerr ora 38753
38753, 00000, "Cannot flashback data file %s; no flashback log data."
// *Cause: An attempt to perform a FLASHBACK DATABASE failed because the file
// does not have enough flashback log data to cover the time to
// flash back. Either the file did not have flashback generation
// enabled for it, or had flashback generation turned off for it
// some time during the time span of the flashback.
// *Action: The file cannot be flashed back. The file must be taken offline
// or the tablespace dropped before continuing with the FLASHBACK
// DATABASE command.
4.恢复:
--//简单一点,主库tea表空间设置为read only;
--//主库:
SCOTT@book> alter tablespace tea read only;
Tablespace altered.
$ scp /mnt/ramdisk/book/tea01.dbf oracle@192.168.100.40:/mnt/ramdisk/book/
tea01.dbf 100% 40MB 40.0MB/s 00:01
--//备库:
SYS@bookdg> alter database convert to physical standby ;
alter database convert to physical standby
*
ERROR at line 1:
ORA-38753: Cannot flashback data file 6; no flashback log data.
ORA-01110: data file 6: '/mnt/ramdisk/book/tea01.dbf'
--//不行:
SYS@bookdg> alter tablespace tea flashback on;
Tablespace altered.
SYS@bookdg> alter database convert to physical standby ;
alter database convert to physical standby
*
ERROR at line 1:
ORA-19926: Database cannot be converted at this time
--//根本不能这样转换.
SYS@bookdg> alter tablespace tea offline;
alter tablespace tea offline
*
ERROR at line 1:
ORA-01109: database not open
SYS@bookdg> alter database datafile 6 offline;
Database altered.
--//关闭备库重来.
SYS@bookdg> startup mount
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.
SYS@bookdg> alter database convert to physical standby ;
Database altered.
SYS@bookdg> shutdown immediate
ORA-01507: database not mounted
ORACLE instance shut down.
SYS@bookdg> startup mount
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.
SYS@bookdg> alter database datafile 6 online;
Database altered.
SYS@bookdg> alter database recover managed standby database using current logfile disconnect ;
Database altered.
SYS@bookdg> @ &r/dg/dg
PROCESS PID STATUS CLIENT_P GROUP# THREAD# SEQUENCE# BLOCK# BLOCKS DELAY_MINS
--------- ------- ------------ -------- ------ ------- ---------- ---------- ---------- ----------
ARCH 2394 CONNECTED ARCH N/A 0 0 0 0 0
ARCH 2396 CONNECTED ARCH N/A 0 0 0 0 0
ARCH 2398 CONNECTED ARCH N/A 0 0 0 0 0
RFS 2403 IDLE UNKNOWN N/A 0 0 0 0 0
RFS 2405 IDLE LGWR 2 1 789 50 1 0
ARCH 2400 CLOSING ARCH 4 1 788 1 183 0
MRP0 2407 APPLYING_LOG N/A N/A 1 789 50 102400 0
7 rows selected.
--//日志开始传输并应用.
SYS@bookdg> alter database recover managed standby database cancel ;
Database altered.
SYS@bookdg> alter database open read only;
Database altered.
SYS@bookdg> alter database recover managed standby database using current logfile disconnect ;
Database altered.
SYS@bookdg> select count(*) from scott.empx;
COUNT(*)
----------
14
SYS@bookdg> select count(*) from scott.tt1;
select count(*) from scott.tt1
*
ERROR at line 1:
ORA-00942: table or view does not exist
--//测试时建立的表不存在.
--//主库执行:
SCOTT@book> alter tablespace tea read write;
Tablespace altered.
SCOTT@book> delete from empx where rownum=1;
1 row deleted.
SCOTT@book> commit ;
Commit complete.
--//在备库检查,发现少一条记录.
SYS@bookdg> select count(*) from scott.empx;
COUNT(*)
----------
13
总结:
--//这个在以后工作中注意,在转换snapshot standby,注意表空间flaashback是否在on状态.
[20180423]flashback tablespace与snapshot standby.txt的更多相关文章
- 聊聊Oracle 11g的Snapshot Standby Database(上)
Oracle 11g是Data Guard的重要里程碑版本.在11g中,Active DataGuard.Advanced Compression等特性大大丰富了Data Guard的功能和在实践领域 ...
- Oracle 11g中的snapshot standby特性
在Oracle 11g中,data guard最吸引人的,除了active data guard的实时查询特性(即可以以只读方式打开物理standby数据库的同时MRP进程能继续做recover),快 ...
- 聊聊Oracle 11g的Snapshot Standby Database(下)
3.Snapshot Standby行为研究 下面我们分析一下Snapshot Standby的工作性质和行为性质.我们在主库方向研究当前状态. --主库日志情况 SQL> select gro ...
- Snapshot Standby
INTRODUCTION Snapshot standby database是ORACLE 11g的新特性.允许Physical standby短时间的使用read write模式. Snapshot ...
- snapshot standby database
快照备库接收和归档主库发送来的redo,但是不会应用:切换成physical standby之后会自动开启redo apply.快照standby不可以参加主备切换:在最大保护性模式下,如果只有一个备 ...
- 转 Oracle Transportable TableSpace(TTS) 传输表空间 说明
############1 迁移数据库的集中方法 三.相关技术 迁移方式 优势 不足1 Export and import • 对数据库版本,以及系统平台没有要求 • 不支持并发,速度慢• 停机时 ...
- V4 Reduce Transportable Tablespace Downtime using Cross Platform Incremental Backup (Doc ID 2471245.1)
V4 Reduce Transportable Tablespace Downtime using Cross Platform Incremental Backup (Doc ID 2471245. ...
- Oracle 11.2.0.4.0 Dataguard部署和日常维护(6)-Dataguard Snapshot篇
1. 检查当前主备库同步状态 on primary select ads.dest_id,max(sequence#) "Current Sequence", max(log_se ...
- [Oracle] 临时将Physical Standby激活
Oracle 10g/11g下如何将物理Standby库临时激活用于测试 在实际运营环境中, 我们经常碰到类似这样的需求: 譬如想不影响现网业务评估DB补丁在现网环境中运行的时间, 或者是想在做DB切 ...
随机推荐
- Mac下命令行批量重命名
日常中碰到需要批量修改文件名怎么办?嗯,来终端先 案例:将Users/case目录下所有html文件修改为php文件 步骤: 1.进入目标文件夹 $ cd Users/case 2.执行以下命令 $ ...
- 开源API测试工具 Hitchhiker v0.10 - 中文版
Hitchhiker 是一款开源的支持多人协作的 Restful Api 测试工具,支持自动化测试, 数据对比,压力测试,支持脚本定制请求,可以轻松部署到本地,和你的team成员一起协作测试Api. ...
- Oracle 插入时间时 报错:ORA-01861: 文字与格式字符串不匹配 的解决办法
一.写sql的方式插入到Oracle中 往oracle中插入时间 '2007-12-28 10:07:24'如果直接按照字符串方式,或者,直接使用to_date('2007-12-28 10:07: ...
- dotnet new 命令使用模板生成Angular应用
dotnet new 命令使用模板快速生成单页应用,本文以Angular应用为例. 最新版.NET Core SDK RC4 最大改动是更新了 dotnet new 命令. dotnet new 默认 ...
- 讲解ontouchstart、ontouchend、onclick区别和坑点
今天要讲的这个并不复杂,我用一个例子来讲解吧 <div id="box"></div> var box = document.querySelector(& ...
- leetcode — container-with-most-water
/** * Source : https://oj.leetcode.com/problems/container-with-most-water/ * * Created by lverpeng o ...
- 前端错误监控,sentry入门配置详细教程
一.前言 最近经理说要把公司项目结合sentry用起来,然后组长不想做,老员工也不想做,分配任务就这么分配给我了,很荣幸接锅,摸索了几天,了解了一些基本配置,深一点的玩法可能还得实践一段时间,这里对于 ...
- 设计node.js搭建多人博客的思路(不讲数据库)
1.1.4:搭建多人博客 1.功能分析 搭建一个简单的多人注册,登录,发表文章及登出功能的博客 2.设计目标 未登录:主页左侧导航显示home.login.register,右侧显示已发表文章,发表日 ...
- 操作Linux系统环境变量的几种方法
一.使用environ指针输出环境变量 代码如下: #include<stdio.h> #include<string.h> #define MAX_INPUT 20 /* 引 ...
- T-SQL:是NULL不是NULL(七)
首先SQL SERVER 是一个三值逻辑 即谓词计算结果为TRUE,FALSE,UNKNOWN 标准的谓词都是遵循这种规则的 如 slary>0 会返回计算结果为TRUE 结果的行拒绝FALS ...