MES中Oracle在线备份与恢复
- 格式:doc
- 大小:376.50 KB
- 文档页数:13
Xxx石化MES系统Oracle在线备份与恢复一、Oracle数据备份简介Oracle数据库有三种标准的备份方法,它们分别是导出/导入(EXP/IMP)、脱机备份(又称“冷备份”)和在线备份(又称“热备份”)。
导出备件是一种逻辑备份,脱机备份和在线备份是物理备份。
下面分别简单介绍这三种标准的备份方法。
1、导出/导入(Export/Import)利用Export可将数据从数据库中提取出来,利用Import则可将提取出来的数据送回到Oracle数据库中去。
2、脱机备份脱机备份发生在数据库已经正常关闭的情况下,当正常关闭时会提供给我们一个完整的数据库。
脱机备份时将关键性文件拷贝到另外的位置的一种说法。
对于备份Oracle信息而言,脱机备份是最快和最安全的方法。
3、在线备份在线备份是在数据库运行的情况下,采用Archivelog mode方式备份数据库的方法。
所以,如果你有昨天夜里的一个脱机备份而且又有今天的在线备份文件,在发生问题时,就可以利用这些资料恢复更多的信息。
在线备份要求数据库在Archivelog方式下操作,并需要大量的存档空间。
一旦数据库运行在Archivelog状态下,就可以做备份了。
在线备份的命令文件由三部分组成:(1)数据文件——表空间的备份:设置表空间为备份状态;备份表空间的数据文件;回复表空间为正常状态。
(2)备份归档log文件:临时停止归档进程;记录下那些在archive redo log目录中的文件;重新启动archive进程;备份归档的redo log文件。
(3)用alter database backup controlfile命令来备份控制文件,如:alter database backup controlfile to trace;alter database backup controlfile to 一个controlfile.bak文件;alter system archive log current;热备份的优点是:(1)可在表空间或数据库文件级备份,备份的时间短;(2)备份时数据库仍可使用;(3)可达到秒级恢复(恢复到某一时间点上);(4)可对几乎所有数据库实例做恢复;(5)恢复是快速的。
热备份的不足是:(1)不能出错,否则后果严重;(2)若热备份不成功,所得结果不可用于时间点的恢复;(3)因难于维护,所以要特别仔细小心,不允许“以失败告终”。
二、Xxx石化MES系统Oracle在线备份xxxx石化MES系统Oracle服务器上有两个数据库:UNIFORMANCE和TOTALPLANT,它们的数据库实例名分别为:UNF和PRD。
需要备份这两个数据库。
Spfile的文件修改:SQL> create pfile='d:\init.ora' from spfile;SQL> create spfile from pfile='d:\init.ora';create spfile from pfile='d:\init.ora'指到---- d:\oracle\ora92\rdbms\归档日志模式1、修改init.ora文件在Oracle数据库实例UNF安装目录下找到init.ora,比如D:\Oracle\admin\UNF\pfile 下,用记事本打开init.ora,找到以下三行,去掉每一句前面的注释符号#:log_archive_start=truelog_archive_dest=d:\oracle\oradata\unf\archivelog_archive_format="LOG_%S.ARC"再根据实际情况修改上面第二行的归档日志文件的存放目录log_archive_dest,因归档日志文件日趋增大,所以需要存放在空间大的磁盘下。
而且要注意:修改的目录是已经存在的目录。
同样,对Oracle数据库实例PRD作以上修改,需要注意的是第二行的归档日志文件的存放目录log_archive_dest要区分开。
推荐的作法是,在系统盘及Oracle安装盘之外、空间大的磁盘下:建立文件夹ArchiveLog,在其目录下分别建立两个文件夹UNF和PRD。
修改后的三行语句如下:(1)对于UNFlog_archive_start=truelog_archive_dest=D:\oracle\archivelog\unflog_archive_format="LOG_%S.ARC"(2)对于PRDlog_archive_start=truelog_archive_dest=D:\oracle\archivelog\prdlog_archive_format="LOG_%S.ARC"2、设置数据库运行模式为归档模式ARCHIVELOG(1)对于UNF在命令窗口中分别输入以下命令(注意:有的命令后面的分号也要输入):sqlplus "sys/change_on_install@uniformance as sysdba"shutdown immediatestartup mountalter database archivelog;alter database open;要显示数据库的当前ARCHIVELOG的状态,可输入命令查看:archive log list;(3)对于PRD在命令窗口中分别输入以下命令(注意:有的命令后面的分号也要输入):sqlplus "sys/change_on_install@totalplant as sysdba"(注意:若是还在SQLPLUS窗口中,要输入命令:conn sys/change_on_install@totalplant as sysdba来登录到TOTALPLANT数据库里。
另外,如果提示权限不足,需要修改Oracle安装目录下的文件sqlnet.ora,比如在目录下:D:\Oracle\Ora92\Network\admin,将其中SQLNET.AUTHENTICATION_SERVICES = (NTS)前面的注释符号#去掉,保存后再运行以上命令登录)shutdown immediatestartup mountalter database archivelog;alter database open;要显示数据库的当前ARCHIVELOG的状态,可输入命令查看:archive log list; (注意:命令后面的分号也要输入)一旦数据库运行在归档模式,就可以在数据库运行的时候备份数据库了。
3、修改脚本文件Honeywell软件中带有命令文件和脚本文件用于执行Uniformance和Totalplant数据库备份,不过我们需要根据实际情况修改其配置。
(1)对于Uniformance数据库备份Honeywell提供了一个call_online_backup.cmd文件用于执行在线备份。
该文件已经存在于安装Oracle数据库时指定的存放目录,为D:\UNF_DB。
用记事本打开改文件,修改其定义的变量。
变量1:CONNSTR连接字符,用于sysdba身份的登录。
比如:sys/change_on_install@uniformance 变量2:BAKDIR备份主目录,在该目录下将会创建一个以当天日期命名的子文件夹,用于存放备份的数据文件和控制文件。
该目录必须是存在的。
注意:该目录一般不要和Oracle目录在同一盘符下。
变量3:LOGDIR备份归档日志文件存放的目录。
该目录必须是存在的,并且不要和Oracle目录在同一盘符下。
变量4:UNF_DBUniformance备份脚本所在目录,一般为:D:\UNF_DB变量5:OUTFILE该输出文件用于存放命令文件call_online_backup.cmd执行时捕获的消息。
它会暂时存放在BAKDIR目录下,当备份完成后,它将转移到BAKDIR子目录下。
最好在每次备份后检查该文件里的错误信息。
call_online_backup.cmd会调用同一目录下的online_backup.cmd,online_backup.cmd会调用同一目录下的cre_tbs_backup.sql,cre_tbs_backup.sql用于创建备份的运行脚本,为了防止归档文件的不断增长导致硬盘空间不足,必须删除已经备份了的归档日志文件。
为达到这一目标,对cre_tbs_backup.sql做如下修改:在 dbms_output.put_line('host copy '||log_dest||'\*.*'||' '||'&2');后添加一行:dbms_output.put_line('host del/q '||log_dest||'\*.*');如下图所示:(2)对于Totalplant数据库备份Honeywell提供了一个call_online_backup.cmd文件用于执行在线备份。
该文件已经存在于安装Oracle数据库Totalplant时指定的存放目录,一般为D:\BFX_DB。
首先用记事本打开改目录下的settings.cmd文件,修改其定义的变量。
变量1:BfxDirBusiness FLEX数据库Totalplant的备份脚本路径。
如:BfxDir = d:\BFX_db变量2:ORACLE_SID为了不使用数据库别名来连接数据库,首先要设置ORACLE_SID的环境变量值为Business FLEX 数据库,默认为PRD。
设置Business FLEX 数据库的sys用户密码、数据库别名:set OraSysPwd=CHANGE_ON_INSTALLset OraDbAlias=TOTALPLANT然后用记事本打开call_online_backup.cmd文件。
变量3:BAKDIR备份主目录,在该目录下将会创建一个以当天日期命名的子文件夹,用于存放备份的数据文件和控制文件。
该目录必须是存在的。
注意:该目录不要和Oracle目录在同一盘符下。
变量4:LOGDIR备份归档日志文件存放的目录。
该目录必须是存在的,并且不要和Oracle目录在同一盘符下。
变量5:OUTFILE该输出文件用于存放命令文件call_online_backup.cmd执行时捕获的消息。
它会暂时存放在BAKDIR目录下,当备份完成后,它将转移到BAKDIR子目录下。
最好在每次备份后检查该文件里的错误信息。