1.冷备份的实施
以管理员身份登陆数据库,查询当前数据库所有数据文件,控制文件和联机重做日志文件的文职:
SELECT NAME FROM V$DATAFILE;
SELECT NAME FROM V$CONTROLFILE;
SELECT NAME FROM V$LOGFILE;
关闭数据库:
CONNECT / AS SYSDBA;
SHUTDOWN NORMAL;
复制所有数据文件、重做日志文件和控制文件到备份磁盘,可以直接 在操作系统中复制、粘贴,也可以使用操作系统命令进行,还可以在SQL命令行中添加host关键字直接使用操作系统命令:
HOST COPY
其中:
:源文件名称。
:目标路径名称。
重新启动Oracle数据库。
2.热备份的实施
热备份是在数据库已启动且正常运行的情况下进行的,在备份的同时,用户可以对数据库进行正常操作。
执行热备份的步骤如下:
(1)以管理员身份登陆数据库:
CONNECT / AS SYSDBA
(2)查看数据库是否出入归档模式下:
ARCHIVE LOG LIST;
(3)如果当前数据库日志模式是非归档模式下,要设置其为归档模式。首先使用以下命令将数据库设置成为自动归档。
ALTER SYSTEM SET log_archive_start_true scope=spfile;
关闭数据库
SHUTDOWN IMMEDIATE;
再启动数据库到mount状态:
STARTUP MOUNT;
设置数据库为归档模式;
ALTER DATABASE ARCHIVELOG;
确定数据库处于归档模式下;
ARCHIVE LOG LIST;
(4)打开数据库:
ALTER DATABASE OPEN;
(5)以表空间为单位,开始备份数据文件。
以管理员身份登陆,确定想要备份的表空间所包含的数据文件。通过查询数据字典DBA_DATE_FILES,可以得到数据文件和表空间的对应关系:
SELECT TABLESPACE_NAME,FILE_NAME
FORM SYS.DBA_DATE_FILES
WHERE TABLESPACE_NAME='';
设置表空间为备份模式,在复制表空间的数据文件之前,必须将表空间设置称为备份模式:
ALTER TABLESPACE BEGIN BACKUP;
(6)表空间备份结束,返回正常模式:
ALTER TABLESPACE END BACKUP;
(7)归档当前的联机重做日志文件,命令如下:
ALTER SYSTEM ARCHIVE LOG CURRENT;
也可以通过日志切换完成
ALTER SYSTEM SWITCH LOGFILE;
(8)备份空值文件
ALTER DATABASE BACKUP CONTROLFILE TO 'D:\BACKUO' REUSE;
ALTER DATABASE BACKUP CONTROLFILE TO TRACE;
(9)备份归档日志文件
SLECT THREAD#,SEQUENCE#,NAME FROM V$ARCHIVED_LOG