备份测试发现的一个现象。请留意!

SQL> truncate table t1;

 

Table truncated.

 

SQL> alter tablespace undotbs1 begin backup;

 

Tablespace altered.

 

-- cp undotbs01.dbf….

 

SQL> insert into t1 values(1);

 

1 row created.

 

SQL> commit;

 

Commit complete.

 

SQL> insert into t1 values(2);

 

1 row created.

 

SQL> select * from t1;

 

         X

----------

         1

         2

 

--注意这里只提交了前面1这条数据

 

SQL> alter tablespace undotbs1 end backup;

 

Tablespace altered.

 

SQL> shutdown abort

ORACLE instance shut down.

SQL> startup nomount

ORACLE instance started.

 

--还原备份的undo表空间文件

 

Total System Global Area  125829120 bytes

Fixed Size                  1266176 bytes

Variable Size              71306752 bytes

Database Buffers           50331648 bytes

Redo Buffers                2924544 bytes

SQL> CREATE CONTROLFILE REUSE DATABASE "ORCL" NORESETLOGS  ARCHIVELOG

  2      MAXLOGFILES 16

  3      MAXLOGMEMBERS 3

  4      MAXDATAFILES 100

  5      MAXINSTANCES 8

  6      MAXLOGHISTORY 292

  7  LOGFILE

  8    GROUP 1 (

  9      '/oracle/app/oradata/orcl/redo01.log',

 10      '/oracle/app/oradata/orcl/redo01_02.log'

 11    ) SIZE 10M,

 12    GROUP 2 (

 13      '/oracle/app/oradata/orcl/redo02.log',

 14      '/oracle/app/oradata/orcl/redo02_02.log'

 15    ) SIZE 10M,

 16    GROUP 3 (

 17      '/oracle/app/oradata/orcl/redo03.log',

 18      '/oracle/app/oradata/orcl/redo03_02.log'

 19    ) SIZE 10M

 20  -- STANDBY LOGFILE

 21  DATAFILE

 22    '/oracle/app/oradata/orcl/system01.dbf',

 23    '/oracle/app/oradata/orcl/undotbs01.dbf',

 24    '/oracle/app/oradata/orcl/sysaux01.dbf',

 25    '/oracle/app/oradata/orcl/users01.dbf',

 26    '/oracle/app/oradata/orcl/example01.dbf',

 27    '/oracle/app/oradata/orcl/tbs01.dbf'

 28  CHARACTER SET ZHS16GBK

 29  ;

 

Control file created.

 

SQL> recover database

Media recovery complete.

SQL> alter database open;

 

Database altered.

 

SQL> select * from t1;

 

         X

----------

         1

         2

 

大家这个地方是不是觉得奇怪,insert 2的时候没有提交commit也恢复回来了。

 

 

现象:

Insert into t1 values(2)没有显示commit

但是恢复后t1中却有2这条数据

原因为后边的alter tablespace undotbs1 end backup隐示提交了

因此:DDLDCL会提交前面的事务,大家一定要小心这一点。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/25937377/viewspace-702055/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/25937377/viewspace-702055/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值