oracle的shutdown命令
shutdown normal:不允许新的连接、等待会话结束、等待事务结束、做一个检查点并关闭数据文件。启动时不需要实例恢复。
shutdown transactional:不允许新的连接、不等待会话结束、等待事务结束、做一个检查点并关闭数据文件。启动时不需要实例恢复。
shutdown immediate:不允许新的连接、不等待会话结束、不等待事务结束、做一个检查点并关闭数据文件。没有结束的事务是自动rollback的。启动时不需要实例恢复。
shutdown abort:不允许新的连接、不等待会话结束、不等待事务结束、不做检查点且没有关闭数据文件。启动时自动进行实例恢复。
四个SCN
– 系统SCN---system SCN
select checkpoint_change# from v$database;
– 控制文件记录的数据文件SCN--datafile SCN
select name,checkpoint_change# from v$datafile;
– 数据文件自己头部的SCN--start SCN
select name,checkpoint_change# from v$datafile_header;
– 控制文件中记录的数据文件结束的SCN--end SCN
select name,last_change# from v$datafile;
rman备份
关闭数据库:shutdown immediate;
启动数据库实例到mount状态:startup mount;
打开数据库:alter database open;
启动 RMAN
rman target / (本地启动 RMAN)
rman target sys/password@DB01 (远程启动 RMAN)
查看oracle日志模式:
archive log list
切换数据库日志模式:
alter database archivelog;(设置数据库为归档日志模式)
alter database noarchivelog;(设置数据库为非归档日志模式)
删除备份
delete backupset;
检查RMAN 的目录以及物理文件,如果物理文件不存在于介质上,将标记为Expired。如果物理文件存在,将维持Available
crosscheck backupset ;(检查备份集和实际的文件)
全库备份
RMAN> backup database;
归档日志备份
RMAN> backup archivelog all;
备份表空间,数据文件
SQL> select name from v$datafile; (查看表空间)
RMAN> backup tablespace test01;
备份控制文件和参数文件
RMAN> backup current controlfile;
RMAN> backup spfile;
显示备份集
RMAN> list backupset;
还原数据库
需要先破坏数据库
RMAN> shutdown abort(关闭数据库)
启动数据库到mount状态
sql> startup mount;
全库恢复
RMAN> restore database;
介质恢复
RMAN> recover database;
打开数据库
RMAN> alter database open;
还原表空间
关闭数据库
RMAN> shutdown abort
启动数据库到mount状态
sql> startup mount;
恢复表空间
RMAN> restore tablespace TEST01;
介质恢复
RMAN> recover datafile 5;(恢复5号文件)
打开数据库
RMAN> alter database open;