Oracle数据库热备份(联机备份)示例
必须将日志置为归档方式
SQL>archive log list; --查看日志归档方式.
Database log mode No Archive Mode
Automatic archival Disabled
Archive destination USE_DB_RECOVERY_FILE_DEST
Oldest online log sequence 106
Current log sequence 108
SQL>alter system set log_archive_start=true scope=spfile --启用自动归档
SQL>shutdown immediate
SQL>startup mount --启动数据库,打开控制文件,不打开数据文件
SQL>alter database archivelog --将数据库切换到归档方式
SQL>alter database open; --打开数据库
SQL>archive log list;
Database log mode Archive Mode
Automatic archival Enabled
Archive destination USE_DB_RECOVERY_FILE_DEST
Oldest online log sequence 106
Next log sequence to archive 108
Current log sequence 108
SQL>alter tablespace tt begin backup; --tt表空间备份.
SQL>alter tablespace tt end backup;
SQL>alter system archive log current; --将当前联机日志归档,切换日志.
SQL>alter system switch logfile; --切换第二个日志
SQL>alter system switch logfile; --切换第三个日志
SQL>shutdown immediate;
如果tt.dbf文件损坏.
SQL>startup
ORA-01157:cannot identify/lock data file 6 - see DBWR trace file
ORA-01110:data file 6: 'C:\ORACLE\ORADATA\TEST\TT.DBF'
SQL>SELECT * FROM v$recover_file;
FILE# ONLINE ONLINE_ERROR CHANGE# TIME
---------- ------- ------------------------- ----------- -------------
6 ONLINE ONLINE FILE NOT FOUND 0
SQL>alter database datafile 6 offline drop;
SQL>alter database open;
--将备份文件恢复到原路径
SQL>recover datafile 6;
SQL>alter database datafile 6 online;
SQL>alter database backup controlfile to trace; --备份控制文件 to \udmp\.
SQL>start c:\create_ctl.sql --重新生成控制文件
--日志文件丢失
SQL>recover database until cancel
SQL>alter database open resetlogs