tablespace backup模式一个没用的技术

简介:

最近在看oracle恢复和备份机制。对oracle的beginbackup和endbackup,感觉很新鲜。就做了一些小实验。结果,一头雾水。不知道为什么要有这个技术。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
sys@CISCOSYS>  alter  tablespace users  begin  backup;
sys@CISCOSYS>  select  file#,status,change#  from  v$backup;
FILE# STATUS                CHANGE#
---------- ------------------ ----------
NOT  ACTIVE                  0
NOT  ACTIVE                  0
NOT  ACTIVE                  0
4 ACTIVE                5465260
5 ACTIVE                5465260
NOT  ACTIVE                  0
NOT  ACTIVE                  0
NOT  ACTIVE            5218407
NOT  ACTIVE                  0
10  NOT  ACTIVE                  0
10  rows  selected.
v$backup.change#:SCN号,却不是查询出来的SCN号?

查询出4,5,好数据文件。及找出表空间下的一个表,尝试进行操作。

结果发现可以操作。(在此,就不明白既然知道是backup模式,怎么还允许操作呢)

1
2
3
4
5
6
7
8
//查询某个表空间下的表
sys@CISCOSYS>  select  table_name ,TABLESPACE_NAME   from  dba_tables  where  TABLESPACE_NAME= 'USERS'  and  owner= 'SCOTT' ;
TABLE_NAME                     TABLESPACE_NAME
------------------------------ ------------------------------
DEPT                           USERS
EMP                            USERS
BONUS                          USERS
SALGRADE                       USERS
1
2
3
4
5
发现处于backup 状态的表空间,依然可以修改数据。
sys@CISCOSYS>  insert  into  scott.dept  values (50, 'IT' , 'BeiJing' );
1 row created.
sys@CISCOSYS>  commit ;
Commit  complete.

backup最大的作业就是锁定文件头。这有什么用呢。?疑问

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
sys@CISCOSYS>  alter  system  checkpoint ;
System altered.
checkpoint  之后,未backup的数据文件,都刷新了,但backup的数据文件依然没有变化
sys@CISCOSYS>  select  name ,checkpoint_change#  from  v$datafile;
NAME                            CHECKPOINT_CHANGE#
------------------------------ ------------------
D:\ORACLE\PRODUCT\10.2.0\ORADA            5465836
TA\ORCL\SYSTEM01.DBF
D:\ORACLE\PRODUCT\10.2.0\ORADA            5465836
TA\ORCL\UNDOTBS01.DBF
D:\ORACLE\PRODUCT\10.2.0\ORADA            5465836
TA\ORCL\SYSAUX01.DBF
D:\ORACLE\PRODUCT\10.2.0\ORADA            5465260
TA\ORCL\USERS01.DBF
D:\ORACLE\PRODUCT\10.2.0\ORADA            5465260
TA\ORCL\ST
D:\ORACLE\PRODUCT\10.2.0\ORADA            5465836
TA\ORCL\ADMIN_TBS.DBF
D:\ORACLE\PRODUCT\10.2.0\ORADA            5465836
TA\ORCL\TBS_STREAM01.DBF
D:\ORACLE\PRODUCT\10.2.0\ORADA            5465836
TA\ORCL\TBS.DBF
D:\ORACLE\PRODUCT\10.2.0\ORADA            5465836
TA\ORCL\UNDO99.DBF
D:\ORACLE\PRODUCT\10.2.0\ORADA            5465836
TA\ORCL\USERS02.DBF
10  rows  selected.

即使checkpoint文件头也不会变。

最后关闭backup模式,所有文件头一致了。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
sys@CISCOSYS> alter tablespace USERS end backup;
Tablespace altered.
end bakcup 之后 所有数据文件的文件头一致了。
sys@CISCOSYS> select name,checkpoint_change# from v$datafile;
NAME                           CHECKPOINT_CHANGE#
------------------------------ ------------------
D:\ORACLE\PRODUCT\10.2.0\ORADA            5465836
TA\ORCL\SYSTEM01.DBF
D:\ORACLE\PRODUCT\10.2.0\ORADA            5465836
TA\ORCL\UNDOTBS01.DBF
D:\ORACLE\PRODUCT\10.2.0\ORADA            5465836
TA\ORCL\SYSAUX01.DBF
D:\ORACLE\PRODUCT\10.2.0\ORADA            5465836
TA\ORCL\USERS01.DBF
D:\ORACLE\PRODUCT\10.2.0\ORADA            5465836
TA\ORCL\ST
D:\ORACLE\PRODUCT\10.2.0\ORADA            5465836
TA\ORCL\ADMIN_TBS.DBF
D:\ORACLE\PRODUCT\10.2.0\ORADA            5465836
TA\ORCL\TBS_STREAM01.DBF
D:\ORACLE\PRODUCT\10.2.0\ORADA            5465836
TA\ORCL\TBS.DBF
D:\ORACLE\PRODUCT\10.2.0\ORADA            5465836
TA\ORCL\UNDO99.DBF
D:\ORACLE\PRODUCT\10.2.0\ORADA            5465836
TA\ORCL\USERS02.DBF
10 rows selected.

期间,对数据文件进行了热备,恢复时,也没发现啥用。照样需要介质恢复datafile4,5才可以启动。

1
2
3
4
5
6
sys@CISCOSYS>  alter  database  open ;
alter  database  open
*
ERROR  at  line 1:
ORA-01113: file 5 needs media recovery
ORA-01110: data file 5:  'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\ST'


本文转自 randy_shandong 51CTO博客,原文链接:http://blog.51cto.com/dba10g/1301618,如需转载请自行联系原作者
相关文章
|
11月前
|
存储 NoSQL 关系型数据库
【赵渝强老师】什么是NoSQL数据库?
随着大数据技术的兴起,NoSQL数据库(Not Only SQL)得到广泛应用。它不局限于二维表结构,允许数据冗余。常见的NoSQL数据库包括Redis、MongoDB和HBase。Redis是基于内存的高性能数据库,采用单线程模型和多路复用I/O,支持高效的数据结构。MongoDB使用BSON格式存储文档,查询语言强大,类似关系型数据库。HBase基于HDFS,适合数据分析,采用列式存储,支持灵活的列族设计。视频讲解及更多内容见下文。
586 79
|
11月前
|
存储 运维 NoSQL
【赵渝强老师】Redis的慢查询日志
Redis慢查询日志用于记录执行时间超过预设阈值的命令,帮助开发和运维人员定位性能问题。每条慢查询日志包含标识ID、发生时间戳、命令耗时及详细信息。配置参数包括`slowlog-max-len`(默认128)和`slowlog-log-slower-than`(默认10000微秒)。实战中可通过`slowlog get`获取日志、`slowlog len`查看长度、`slowlog reset`重置日志。建议线上环境将`slowlog-max-len`设为1000以上,并根据并发量调整`slowlog-log-slower-than`。需要注意的是,慢查询只记录命令执行时间。
539 5
|
Linux Shell 数据安全/隐私保护
Linux更改普通用户密码的三种方法
Linux更改普通用户密码的三种方法
1163 0
|
SQL 存储 Oracle
【赵渝强老师】Hive的分区表
Hive的分区表与Oracle、MySQL类似,通过分区条件将数据分隔存储,提高查询效率。本文介绍了静态分区表和动态分区表的创建与使用方法,包括具体SQL语句和执行计划分析,附带视频讲解。静态分区表需显式指定分区条件,而动态分区表则根据插入数据自动创建分区。
1191 1
|
SQL 监控 Oracle
Oracle数据误删不用怕,跟我来学日志挖掘
Oracle数据误删不用怕,跟我来学日志挖掘
410 0
|
缓存 负载均衡 算法
在Linux中, LVS负载均衡有哪些策略?
在Linux中, LVS负载均衡有哪些策略?
|
运维 监控 Oracle
|
Web App开发 Oracle Java
Linux监控工具介绍系列——OSWatcher Black Box
OSWatcher Balck Box简介   OSWatcher Black Box (oswbb)是Oracle开发、提供的一个小巧,但是实用、强大的系统工具,它可以用来抓取操作系统的性能指标,用于辅助监控系统的资源使用。
2128 0
|
安全 Oracle 关系型数据库