读书人

Oracle数据库的备份步骤

发布时间: 2012-09-02 21:00:34 作者: rapoo

Oracle数据库的备份方法

1、引言


# 设置归档日志文件名的格式。%s表示顺序号,%t表示线程号。
log_archive_format = "%oracle_sid%%T%S.ARC"
(2)在sqlplus上运行以下命令
sqlplus>;connect sys/qazwsx as sysdba
sqlplus>;shutdown immediate;
sqlplus>;startup mount exclusive;
sqlplus>;alter database archivelog;
sqlplus>;alter database open;
sqlplus>;shutdown immediate;
(3)执行数据库冷备份
当数据库运行在归档模式下,数据库恢复过程要求使用冷备份时,归档日志是必需的。
(4)正常启动数据库,并确认数据库运行在归档模式
sqlplus >; startup;
sqlplus >; select * from v$database; 其log_mode会显示数据库是否归档模式
sqlplus >; archive log list; 也会显示数据库是否归档模式
如果Oracle数据库运行在归档模式,当进行数据库维护时,可能需要暂停数据库的归档,在完成维护后,再重新启动归档模式。通过以下步骤可以从归档模式转换为非归档模式:
sqlplus>;connect sys/qazwsx as sysdba
sqlplus>;shutdown immediate;
sqlplus>;startup mount exclusive;
sqlplus>;alter database noarchivelog;
sqlplus>;alter database open;
sqlplus >; select * from v$database; 其log_mode会显示数据库是否归档模式
sqlplus >; archive log list; 也会显示数据库是否归档模式
4.2 热备份数据库的步骤
(1)拷贝init.ora文件到备份目录(参数文件在数据库启动后处于关闭状态)。
(2)将需要备份的某个表空间置于开始备份模式。
(3)使用ocopy.exe拷贝表空间,然后将该表空间置于结束备份模式中(ocopy.exe不能用于直接拷贝联机的数据库文件)。
(4)对数据库中的每个表空间执行步骤2和3(可以通过视图dba_tablespaces和v$datafile查看数据库中有哪些表空间和数据文件)。
(5)通过在sqlplus上执行archive log list命令获取当前的日志顺序号,从oldest online log sequence开始到current log sequence的联机redo日志应该是热备份的一部分。
(6)在sqlplus上执行alter system switch logfile;命令来强迫日志切换,以便所有的日志都被归档。
(7)使用alter database backup controlfile to trace;命令获得控制文件的一个备份,可以到%oracle_base%\admin\%oracle_sid%\udump目录中寻找最新的跟踪文件,其中有重建控制文件的全部命令。
(8)使用windows nt的命令从%log_archive_dest%中拷贝归档的日志文件到备份目录。
4.3 热备份数据库的脚本文件hotbackup.bat
 

5、使用export作为备份策略


5.1 export的命令选项说明
Oracle数据库的exp工具提供tables、users、full database、tablespace四种级别的导出方式,把指定的数据库内容导出到一个或者多个oracle二进制文件中,该文件只允许用imp工具来读取,imp的命令选项可用imp help=y来查阅。
您可以通过输入 EXP 命令以及各种自变量来控制“导出”的运行方式。要指定参数,您可以使用关键字:
格式:EXP KEYWORD=value 或 KEYWORD=(value1,value2,...,valueN)
实例:EXP SCOTT/TIGER GRANTS=Y TABLES=(EMP,DEPT,MGR)
或 TABLES=(T1Oracle数据库的备份步骤1,T1Oracle数据库的备份步骤2),如果 T1 是分区表
USERID 必须是命令行中的第一个参数。

下列关键字仅用于可传输的表空间
TRANSPORT_TABLESPACE 导出可传输的表空间元数据 (N)
TABLESPACES 将传输的表空间列表
5.2 export备份数据库的脚本文件expbackup.bat

6、各种备份策略的自动执行方法


不管是冷备份、热备份,还是export备份;不管是\\computername 指定远程计算机。 如果省略这个参数,会计划在本地计算机上运行命令。
id 指定给已计划命令的识别号。
/delete 删除某个已计划的命令。如果省略 id,计算机上所有已计划的命令都会被删除。
/yes 不需要进一步确认时,跟删除所有作业的命令一起使用。
time 指定运行命令的时间。
/interactive 允许作业在运行时,与当时登录的用户桌面进行交互。
/every:date[,...] 每个月或每个星期在指定的日期运行命令。如果省略日期,则默认为在每月的本日运行。
/next:date[,...] 指定在下一个指定日期(如下周四)运行命令。如果省略日期,则默认为在每月的本日运行。
"command" 准备运行的 (2) 每周二20:00执行热备份
at 20:00 /every:T "coldbak.cmd"
(3) 每周一、二、三、四、五21:00执行export备份
at 20:00 /every:M,T,W,Th,F "expbak.cmd"

读书人网 >其他数据库

热点推荐