[原]表空间热备模式下,数据文件是否仍在写入数据?

在学习备份与恢复这块内容的时候,常见这种理解:表空间如果处于热备份模式,比如说:
alter tablespace sun begin backup;
那么,表空间拥有的数据文件则不会被写入数据。
其实,这是一种错误的理解。
真实情况是什么样子的呢?下面的试验就是答案!


SQL> conn sun/sun
已连接。
SQL> create table test_backup
2 (name varchar2(10) )
3 tablespace sun;

表已创建。

SQL> insert into test_backup
2 values ('nicetomeetu');
values ('nicetomeetu')
*
ERROR 位于第 2 行:
ORA-01401: 插入的值对于列过大


SQL> insert into test_backup
2 values ('nicetoseeu');

已创建 1 行。

SQL> commit;

提交完成。

SQL> select dbms_rowid.rowid_block_number(rowid) blk,name from test_backup;

BLK NAME


---------- ----------


10 nicetoseeu

SQL> alter system checkpoint;
alter system checkpoint
*
ERROR 位于第 1 行:
ORA-01031: 权限不足


SQL> alter tablespace sun begin backup;
alter tablespace sun begin backup
*
ERROR 位于第 1 行:
ORA-01031: 权限不足


SQL> conn / as sysdba
已连接。
SQL> grant dba to sun
2 /

授权成功。

SQL> conn sun/sun
已连接。
SQL> alter tablespace sun begin backup;

表空间已更改。

SQL> select dbms_rowid.rowid_block_number(rowid) blk,name from test_backup;

BLK NAME


---------- ----------


10 nicetoseeu

SQL> update test_backup set name='toseeunice';

已更新 1 行。

SQL> commit;

提交完成。

SQL> select dbms_rowid.rowid_block_number(rowid) blk,name from test_backup;

BLK NAME


---------- ----------


10 toseeunice


SQL> alter tablespace sun end backup;

表空间已更改。

SQL> conn / as sysdba
已连接。
SQL> revoke dba from sun;

撤销成功。


SQL> alter system switch logfile;

系统已更改。

SQL> spool off

结论:表空间处于backup模式,它所拥有的数据文件仍然可以写入数据。
注意:end backup之后,执行switch logfile !

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

转载于:http://blog.itpub.net/593324/viewspace-376193/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值