oracle 介质恢复简介
如果数据文件损坏,会遇到1157 和 1110的错误。这时候需要介质恢复数据库。
恢复数据库需要有相应的备份和备份以来产生的所有的归档日志文件和联机日志文件。
如果在mount到open的时候发现普通的数据文件损坏,数据库会停留在mount状态下,这时候可以执行alter database datafile x offline drop 和alter database open 命令使数据库处于open状态。然后copy备份的数据文件,在执行recover datafile x(如果是人工干预的备份)。 或用rman执行resotre datafile x;recover datafile x;最后不要忘了把数据文件联机alter dabase datafile x online;当然,你不可能使用这种方法来恢复系统数据文件。
如果在open状态下某个普通的数据文件丢失,也可以使用上述方法。不过如果在open状态下system表空间损坏,数据库就崩掉,这时候可以重启数据库在mount下恢复。 也就是说mount状态下是可以恢复普通的表空间也可以恢复system表空间的。
还有,有时候你丢失了多个数据文件,但sqlplus只会提示第一个损坏数据库文件。当你把第一个数据文件恢复完以后,他会提示第二个数据文件需要恢复。为避免这种麻烦,我们可以查询select * from v$recover_file 来查看几个数据文件需要恢复,或者到告警日志文件中查看详细的信息。
相关文档:
oracle表空间操作详解
1
2
3作者: 来源: 更新日期:2006-01-04
5
6
7建立表空间
8
9CREATE TABLESPACE data01
10DATAFILE '/ora ......
-- Create the user
create user SMCQUERY
identified by SMCQUERY;
-- Grant/Revoke role privileges
grant connect to SMCQUERY;
-- Grant/Revoke system privileges
grant select any table to SMCQUERY;
grant debug any procedure to SMCQUERY;
grant debug connect session to SMCQUERY;
grant cr ......
束,索引
1、查找表的所有索引(包括索引名,类型,构成列):
select t.*,i.index_type from user_ind_columns t,user_indexes i where t.index_name = i.index_name and t.table_name = i.table_name and t.table_name = 要查询的表
2、查找表的主键(包括名称,构成列):
select cu.* from user_cons_columns cu ......
分页查询格式:
SELECT * from
(
SELECT A.*, ROWNUM RN
from (SELECT * from TABLE_NAME) A
WHERE ROWNUM <= 40
)
WHERE RN >= 21
其中最内层的查询SELECT * from TABLE_NAME表示不进行翻页的原始查询语句。ROWNUM <= 40和RN >= 21控制分页查询的每页的范围。
上面给出的这个分页查询语句,在大多 ......