Oracle备份恢复方案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Oracle 备份恢复方案
第一章基础知识
一、备份内容:
备份数据库一般包括备份数据库文件、控制文件、归档重做日志文件和INIT.OTRA文件,如果有可能,备份还应包括可执行代码和配置文件。
二、备份方法分类:
主要的备份方法有物理备份、逻辑备份和恢复管理器(RMAN)备份。
1.物理备份是实际物理数据库文件从一处拷贝到另一处的备份,它使用操作系统提供的拷贝命令来完成,包括操作系统备份(NT下一般不用)、冷备份和热备份;
2.逻辑备份是利用SQL从数据库中抽取数据并存入二进制文件,这些数据可以重新导入原来的数据库,或者以后导入其它数据库,ORACLE提供的EXPORT/IMPORT工具可用于进行数据库的导入和导出。
3.恢复管理器RMAN(Recovery Manager)为Oracle 8新引入,能够完成数据库的备份与恢复任务,既可以在图形用户界面GUI中使用,也可以在CLI (命令行)中使用。
三种方法各有长短,DBA应该综合灵活运用。
第二章物理备份和恢复
一、冷备份步骤如下:
1、关闭数据库实例:
命令行下关闭数据库有三种方式:normal,immediate,和abort,对于备份而言,immediate方式最好,因为这种方式既避免了normal方式下因用户忘记退出而造成的等待,且因为Oracle进行了回滚和检查点操作,可以保证数据库的一致和完整性。
推荐在控制面板的服务窗口下关闭专用服务,可以彻底的关闭数据库,这里的数据库服务名为OracleServiceZZYD。
2、拷贝所有与数据库相关的物理文件:包括控制文件、重做日志文件和数据库文件,这里拷贝目录E:\ZZYD即可,另外最好把监听器配置文件
(d:\orace\ora81\network\admin\目录下的listener.ora和tnsnames.ora)也拷贝下来。
3、完成拷贝后重新启动数据库。
二、热备份步骤:
热备份是一个复杂的过程,这是因为每个表空间都是一个完整的备份过程。
具体步骤如下:
1、将某个表空间设置为备份模式:
alter tablespace YD_DATA bigin backup;
2、拷贝与表空间相关的所有数据库文件;
3、取消该表空间的备份模式:
alter tablespace YD_DATA end backup;
4、重复步骤1到3,直到所有的表空间都备份完毕;
5、拷贝控制文件;
6、拷贝联机重做日志。
三、恢复实例
假设由于系统瘫痪而重新安装了操作系统,那么安装Oracle软件之后不需要重新生成数据库即可实现原来数据的恢复,步骤如下:
1、把备份的内容拷贝到原来的目录下;
2、在命令行下重新创建和启动实例:
C:\>oradim -new -sid ZZYD -intpwd oracle -startmode auto -pfile e:\zzyd\pfile\init.ora
3、检查控制面板下的服务项已经起来;
4、配置网络或使用备份的listener.ora和tnsnames.ora文件重新启动监听器(注意:如果用Net8 Easy Config配置网络,一定要在文件listener.ora里加入相应的内容
(SID_DESC =
(GLOBAL_DBNAME = zzyd)
(ORACLE_HOME = d:\Oracle\Ora81)
(SID_NAME = ZZYD)
)
否则,智能代理将无法检测到该实例,便不能用OEM进行管理)
5、用其他方法对冷备份以来的数据库操作进行恢复。
如果是由于某种误操作导致数据库不能正常使用的情况,则恢复时先关闭数据库,再把e:\zzyd的备份替换现在的目录,再重启数据库即可。
第三章逻辑备份和恢复
一、注意事项:逻辑备份(导出/导入)相对来说较为简单,需注意的事项有
1、导出一致性,可有两种方法实现:
1)在导出过程中使用户不能连到数据库:
svrmgr> alter system enable restricted session
或暂时停止监听服务
2)导出时设置CONSISTENT=Y,导出过程中用户可以使用数据库,但速度较慢。
2、导出和导入时注册表中的HKEY_LOCAL_MACHINE/SOFTWHERE/ ORACLE/HOME0/NLS_LANG语言设置要相同,否则会因字符集转换错误而不能进行导入。
二、导出
导出工作于三种模式,但同时只能使用一种,否则会提示有冲突:
用户模式OWNER=ownerlist
表模式TABLES=tablelist
完全数据库模式FULL=Y
下面是电业局用电MIS服务器用到的两个导出命令行:
exp system/manager@zzyd OWNER=dbo file=f:\backup\zzyd_data.dmp consistent=y log=f:\backlog\dmpzzyddata.log
exp system/manager@zzyd file=f:\backup\zzyd_sys.dmp consistent=y log=f:\backlog\dmpzzydsys.log TABLES=(PBCATCOL,PBCATEDT, PBCATFMT,PBCATTBL,PBCATVLD)
我们把导出写成了批处理文件(c:\bakscript\expzzyd.bat),导出日志(f:\backlog\dmpzzyddata.log和f:\backlog\dmpzzydsys.log)记录了导出的整个过
程。
注:两次同样的导出,第二次会把第一次的到处文件覆盖,而用RMAN不会有同样的问题。
三、导入
导入与导出是互逆的,对应也有三种模式。
它可以在ASCII码和EBCDIC 码之间进行转换,以实现数据能在不同平台之间进行移动。
值得注意的是,当原来的表空间已经充满数据时,这是导入会引起数据冲突,解决办法时重建空的表空间。
下面是郑州电业局用电MIS服务器:
imp system/manager@yd file=f:\dmpyd\system0727.dmp log=f:\dmpyd\impsys.log ignore=y commit=y full=y
imp dbo/dbo1021@yd file=f:\dmpyd\yd_data0727.dmp log=f:\dmpyd\impdata.log ignore=y commit=y full=y
第四章恢复管理器RMAN
一、RECOVERY MANAGER简介:
1、RECOVERY MANAGER为ORACLE 8新引进。
既可以在图形用户界面GUI中使用,也可以在CLI(命令行)中使用,虽然在GUI中更加直观和容易理解,但在CLI中更加灵活和可靠,建议用户使用CLI进行备份和恢复操作。
2、RMAN能够建立除逻辑备份(EXPORT)以外的所有类型的备份,具体包括:数据库备份(完全备份和增量备份)、表空间备份、数据文件备份、控制文件备份和归档日志备份。
3、RMAN工作时要使用恢复目录(RECOVERY CATALOG),备份操作信息被自动登记到RECOVERY CATALOG中,数据库进行恢复时要使用这些信息。
恢复目录需使用专用的数据库,如果恢复目录建立在要进行备份的数据库中,则一旦该数据库出现故障,恢复目录就不能使用,恢复工作也就无法完成。
4、一般为区别起见,完整备份和增量备份采用不同的CHANNEL,恢复时先利用完整备份ALLOCAT CHANNEL,然后RESTORE DATABASE;再顺次利用各个增量备份ALLOCATE他们的CHANNEL,然后RESTORE DATABASE;
都完成后,进行一次RECOVER DATABASE。
5、RECVOERY CATALOG 支持三种备份:备份集、数据文件拷贝(也成为快照拷贝)和操作系统备份。
备份集用BACKUP命令创建,快照拷贝使用RECOVERY MANAGER的COPY命令创建,这两种备份操作都自动登记到恢复目录中,操作系统备份要使用RECOVERY MANAGER的CATALOG命令登记到恢复目录中。
二、DBMS_BACKUP_RESTORE PACKAGE
此程序包为备份/恢复所必须使用的,DBMSBKRS.SQL脚本创建;正常情况下,已被CATPROC.SQL脚本调用过。
若不存在,会出现ORA-406错误。
三、RMAN的配置:
1、利用数据库创建助手(如ORACLE DATABASE ASSISTANT)创建一个专用数据库RCV:这个数据库用来存储RMAN的有关操作信息,在进行数据库恢复时要用到这些信息:
SVRMGR> connect internal/oracle@rcv
连接成功。
2、创建RMAN用户:
SVRMGR> create tablespace rcvdata
2> datafile
3> 'd:\Oracle\Oradata\rcv\rcvdata.dbf' size 50M;
语句已处理。
SVRMGR> create tablespace rcvtemp
2> datafile
3> 'd:\Oracle\Oradata\rcv\rcvtemp.dbf' size 20M;
语句已处理。
SVRMGR> create user rman identified by rman
2> temporary tablespace rcvtemp
3> default tablespace rcvdata
4> quota unlimited on rcvdata;
语句已处理。
SVRMGR> grant recovery_catalog_owner to rman;
语句已处理。
SVRMGR> grant connect,resource to rman;
语句已处理。
SVRMGR>
3、修改注册表HKEY_LOCAL_MACHINE/SOFTWARE/ORACLE/HOME0目录下的NLS_LANG项为America_America.ZHS16CGB231280(修改注册表后,显示变为英文,如不修改,以后数据库的恢复工作将难以进行)
4、把ZZYD的初始化文件INIT.ORA作如下修改并重新启动该数据库:
#mts_dispatchers = "(protocol=TCP)(DISP=1)(mul=OFF)(pool=OFF)"
#mts_max_dispatchers = 5
#mts_servers = 1
#mts_max_servers = 20
5、启动RMAN,提示没有安装恢复目录
SVRMGR> exit
Server Manager complete.
C:\>rman catalog rman/rman@rcv
Recovery Manager: Release 8.1.5.0.0 - Production
RMAN-06008: connected to recovery catalog database
RMAN-06428: recovery catalog is not installed
6、创建恢复目录
RMAN> create catalog tablespace rcvdata;
RMAN-06431: recovery catalog created
7、重新连接目标数据库和恢复目录数据库并进行注册:
RMAN> exit
Recovery Manager complete.
C:\>rman target internal/oracle@zzyd catalog rman/rman@rcv
Recovery Manager: Release 8.1.5.0.0 - Production
RMAN-06005: connected to target database: ZZYD (DBID=4191796885)
RMAN-06008: connected to recovery catalog database
RMAN> register database;
RMAN-03022: compiling command: register
RMAN-03023: executing command: register
RMAN-08006: database registered in recovery catalog
RMAN-03023: executing command: full resync
RMAN-08029: snapshot controlfile name set to default value: %ORACLE_HOME%\DATABA
SE\SNCF%ORACLE_SID%.ORA
RMAN-08002: starting full resync of recovery catalog
RMAN-08004: full resync complete
RMAN>
8、检验RMAN已经可以使用。
注:一个数据库只能被注册一次,如果恢复目录创建失败或注册失败,应该先把现在的恢复目录删除,然后重新创建和注册,删除方法如下:RMAN> drop catalog;
RMAN-06435: recovery catalog owner is rman
RMAN-06436: enter DROP CATALOG command again to confirm catalog removal
RMAN> drop catalog;
RMAN-06432: recovery catalog dropped
四、使用RMAN备份实例:
做完了RMAN的配置工作,以后就可以使用它进行数据库的备份和恢复了,在命令行下执行如下命令:
C:\>rman target internal/oracle@zzyd catalog rman/rman@rcv
Recovery Manager: Release 8.1.5.0.0 - Production
RMAN-06005: connected to target database: ZZYD (DBID=4191796885)
RMAN-06008: connected to recovery catalog database
RMAN>
然后直接输入命令行或调用事先写好的备份脚本就可以进行工作了。
这里为了方便用户,我们写了如下备份脚本和脚本调用批处理文件,并对程序运行结果
做了完整记录,具体介绍如下:
1、数据库的完全备份
备份脚本:c:\backupscript\bakdbfull.txt
脚本调用批处理文件:c:\ backupscript \bakdbfull.bat 执行结果记录文件:f:\backlog\bakdbfull.log
2、数据零级增量备份:
备份脚本:c:\ backupscript \bakinc0.txt
脚本调用批处理文件:c:\ backupscript \bakinc0.bat
执行结果记录文件:f:\backlog\bakinc0.log
3、数据库一级增量备份:
备份脚本:c:\ backupscript \bakinc1.txt
脚本调用批处理文件:c:\ backupscript \bakinc1.bat
执行结果记录文件:f:\ backlog \bakinc1.log
4、数据库二级增量备份:
备份脚本:c:\ backupscript \bakinc2.txt
脚本调用批处理文件:c:\ backupscript \bakinc2.bat
执行结果记录文件:f:\backlog\bakinc2.log
5、控制文件的备份:
备份脚本:c:\ backupscript \contr.txt
脚本调用批处理文件:c:\ backupscript \ contr.bat
执行结果记录文件:f:\backlog\ contr.log
6、归档日志的备份:
备份脚本:c:\ backupscript \ bakarchall.txt
脚本调用批处理文件:c:\ backupscript \bakarchall.bat 执行结果记录文件:f:\backlog\ bakarchall.log
7、表空间的备份(这里以表空间YD_DATA为例):
备份脚本:c:\ backupscript \ tbs.txt
脚本调用批处理文件:c:\ backupscript \baktbs.bat
执行结果记录文件:f:\backlog\ tbs.log
8、数据文件的备份(这里以表空间YD_DATA的6个数据文件为例):
备份脚本:c:\ backupscript \ datafile.txt
脚本调用批处理文件:c:\ backupscript \datafile.bat
执行结果记录文件:f:\backlog\ datafile.log
9、在线重做日志及过去一天归档日志的备份:
备份脚本:c:\ backupscript \ onlinelog.txt
脚本调用批处理文件:c:\ backupscript \onlinelog.bat
执行结果记录文件:f:\backlog\ onlinelog.log
五、使用RMAN进行数据库恢复实例:
实例1:系统表丢失的恢复验证过程:
1、模拟丢失系统表文件。
1)把目标数据库SHUTDOWN:
C:\>svrmgrl
Oracle Server Manager Release 3.1.5.0.0 - Production
(c) Copyright 1997, Oracle Corporation. All Rights Reserved.
Oracle8i Release 8.1.5.0.0 - Production
With the Java option
PL/SQL Release 8.1.5.0.0 - Production
SVRMGR> connect internal/oracle@zzyd;
Connected.
SVRMGR> shutdown immediate;
Database closed.
Database dismounted.
ORACLE instance shut down.
SVRMGR>
2)把目标数据库的系统表数据文件E:\ZZYD\SYSTEM01.DBF重命名为:SSYSTEM01.DBF;
3)重新启动目标数据库时,数据库不再能打开,出现如下信息:
SVRMGR> startup pfile=e:\zzyd\pfile\init.ora;
ORACLE instance started.
Total System Global Area 468557772 bytes
Fixed Size 65484 bytes
Variable Size 450641920 bytes
Database Buffers 17776640 bytes
Redo Buffers 73728 bytes
Database mounted.
ORA-01157: cannot identify/lock data file 1 - see DBWR trace file
ORA-01110: data file 1: 'E:\ZZYD\SYSTEM01.DBF'
SVRMGR>
2、利用RMAN进行恢复
这时可以发现,系统指出数据库因系统文件丢失错误而无法打开,下面根据做过的数据库备份进行恢复:
1)打开恢复管理器:
SVRMGR> exit;
Server Manager complete.
C:\>rman target internal/oracle@zzyd catalog rman/rman@rcv
Recovery Manager: Release 8.1.5.0.0 - Production
RMAN-06005: connected to target database: ZZYD (DBID=4191048776)
RMAN-06008: connected to recovery catalog database
RMAN>
2)运行系统表恢复脚本文件:
RMAN> @c:\backup\rec.txt
RMAN> run{
2> allocate channel dev1 type disk;
3> restore tablespace system;
4> recover tablespace system;
5> alter database open;
6> release channel dev1;
7> }
RMAN-03022: compiling command: allocate
RMAN-03023: executing command: allocate
RMAN-08030: allocated channel: dev1
RMAN-08500: channel dev1: sid=10 devtype=DISK
RMAN-03022: compiling command: restore
RMAN-03022: compiling command: IRESTORE
RMAN-03023: executing command: IRESTORE
RMAN-08016: channel dev1: starting datafile backupset restore
RMAN-08502: set_count=34 set_stamp=403871091 creation_time=25-JUL-00 RMAN-08089: channel dev1: specifying datafile(s) to restore from backup set RMAN-08523: restoring datafile 00001 to E:\ZZYD\SYSTEM01.DBF
RMAN-08089: channel dev1: specifying datafile(s) to restore from backup set RMAN-08523: restoring datafile 00001 to E:\ZZYD\SYSTEM01.DBF
RMAN-08023: channel dev1: restored backup piece 1
RMAN-08511: piece handle=F:\BACKUP\INC_LEVEL0_T% params=NULL RMAN-08024: channel dev1: restore complete
RMAN-03023: executing command: partial resync
RMAN-08003: starting partial resync of recovery catalog
RMAN-08005: partial resync complete
RMAN-03022: compiling command: recover
RMAN-03022: compiling command: recover(1)
RMAN-03022: compiling command: recover(2)
RMAN-03022: compiling command: recover(3)
RMAN-03023: executing command: recover(3)
RMAN-08054: starting media recovery
RMAN-08515: archivelog filename=E:\ZZYD\ARCHIVE\ZZYDARC00858.001 thread=1 sequen ce=858
RMAN-08515: archivelog filename=E:\ZZYD\ARCHIVE\ZZYDARC00859.001 thread=1 sequen ce=859
RMAN-08515: archivelog filename=E:\ZZYD\ARCHIVE\ZZYDARC00860.001 thread=1 sequen ce=860
RMAN-08055: media recovery complete
RMAN-03022: compiling command: recover(4)
RMAN-03022: compiling command: alter db
RMAN-06400: database opened
RMAN-03022: compiling command: release
RMAN-03023: executing command: release
RMAN-08031: released channel: dev1
RMAN> **end-of-file**
RMAN>
3)检查E:\ZZYD\SYSTEM01.DBF已经恢复,数据库运行正常。
实例2:不包括回滚段的数据文件丢失后的恢复验证过程:
1、把目标数据库SHUTDOWN:
C:\>svrmgrl
Oracle Server Manager Release 3.1.5.0.0 - Production
(c) Copyright 1997, Oracle Corporation. All Rights Reserved.
Oracle8i Release 8.1.5.0.0 - Production
With the Java option
PL/SQL Release 8.1.5.0.0 - Production
SVRMGR> connect internal/oracle@zzyd;
Connected.
SVRMGR> shutdown immediate;
Database closed.
Database dismounted.
ORACLE instance shut down.
SVRMGR>
2、模拟丢失数据文件:
数据文件E:\ZZYD\YDDATA\DATA01.DBF重命名为:E:\ZZYD\YDDATA\DDATA01.DBF,
数据文件E:\ZZYD\YDDATA\DATA02.DBF重命名为:E:\ZZYD\YDDATA\DDATA02.DBF;
3、重新启动目标数据库时,数据库不再能打开,出现如下信息:
SVRMGR> startup pfile=e:\zzyd\pfile\init.ora;
ORACLE instance started.
Total System Global Area 468557772 bytes
Fixed Size 65484 bytes
Variable Size 450641920 bytes
Database Buffers 17776640 bytes
Redo Buffers 73728 bytes
Database mounted.
ORA-01157: cannot identify/lock data file 7 - see DBWR trace file
ORA-01110: data file 7: 'E:\ZZYD\YDDATA\DATA01.DBF'
SVRMGR>
4、打开恢复管理器:
SVRMGR> exit;
Server Manager complete.
C:\>rman target internal/oracle@zzyd catalog rman/rman@rcv
Recovery Manager: Release 8.1.5.0.0 - Production
RMAN-06005: connected to target database: ZZYD (DBID=4191048776)
RMAN-06008: connected to recovery catalog database
RMAN>
5、首先试着直接恢复表空间yd_data
RMAN> run{
2> recover tablespace yd_data;
3> }
RMAN-03022: compiling command: recover
RMAN-03022: compiling command: recover(1)
RMAN-03022: compiling command: recover(2)
RMAN-03026: error recovery releasing channel resources
RMAN-00571:
=========================================================== RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571:
=========================================================== RMAN-03002: failure during compilation of command
RMAN-03013: command type: recover
RMAN-03002: failure during compilation of command
RMAN-03013: command type: recover(2)
RMAN-06094: datafile 7 must be restored
RMAN>
6、由此可见,在恢复表空间前必须先恢复数据文件,重复2、3、4步骤,然后运行恢复脚本文件:
RMAN> @c:\mydoc\recdat.txt
RMAN>
RMAN> run{
2> allocate channel dev1 type disk;
3> restore datafile 7;
4> restore datafile 8; 注:1
5> recover tablespace yd_data;
6> alter database open;
7> sql'alter tablespace yd_data online';
8> release channel dev1;
9> }
RMAN-03022: compiling command: allocate
RMAN-03023: executing command: allocate
RMAN-08030: allocated channel: dev1
RMAN-08500: channel dev1: sid=10 devtype=DISK
RMAN-03022: compiling command: restore
RMAN-03022: compiling command: IRESTORE
RMAN-03023: executing command: IRESTORE
RMAN-08016: channel dev1: starting datafile backupset restore
RMAN-08502: set_count=37 set_stamp=403884136 creation_time=25-JUL-00 RMAN-08089: channel dev1: specifying datafile(s) to restore from backup set RMAN-08523: restoring datafile 00007 to E:\ZZYD\YDDATA\DATA01.DBF RMAN-08023: channel dev1: restored backup piece 1
RMAN-08511: piece handle=F:\BACKUP\INCTAB_LEVEL0_T% params=NULL
RMAN-08024: channel dev1: restore complete
RMAN-03023: executing command: partial resync
RMAN-08003: starting partial resync of recovery catalog
RMAN-08005: partial resync complete
RMAN-03022: compiling command: restore
RMAN-03022: compiling command: IRESTORE
RMAN-03023: executing command: IRESTORE
RMAN-08016: channel dev1: starting datafile backupset restore
RMAN-08502: set_count=37 set_stamp=403884136 creation_time=25-JUL-00 RMAN-08089: channel dev1: specifying datafile(s) to restore from backup set RMAN-08523: restoring datafile 00008 to E:\ZZYD\YDDATA\DATA02.DBF RMAN-08023: channel dev1: restored backup piece 1
RMAN-08511: piece handle=F:\BACKUP\INCTAB_LEVEL0_T% params=NULL
RMAN-08024: channel dev1: restore complete
RMAN-03023: executing command: partial resync
RMAN-08003: starting partial resync of recovery catalog
RMAN-08005: partial resync complete
RMAN-03022: compiling command: recover
RMAN-03022: compiling command: recover(1)
RMAN-03022: compiling command: recover(2)
RMAN-03022: compiling command: recover(3)
RMAN-03023: executing command: recover(3)
RMAN-08054: starting media recovery
RMAN-08515: archivelog filename=E:\ZZYD\ARCHIVE\ZZYDARC00860.001 thread=1 sequen ce=860
RMAN-08055: media recovery complete
RMAN-03022: compiling command: recover(4)
RMAN-03022: compiling command: alter db
RMAN-06400: database opened
RMAN-03022: compiling command: sql
RMAN-06162: sql statement: alter tablespace yd_data online
RMAN-03023: executing command: sql
RMAN-03022: compiling command: release
RMAN-03023: executing command: release
RMAN-08031: released channel: dev1
RMAN> **end-of-file**
RMAN>
7、检验两个数据文件都已经恢复。
注:虽然系统只显示错误:
ORA-01157: cannot identify/lock data file 7 - see DBWR trace file
ORA-01110: data file 7: 'E:\ZZYD\YDDATA\DATA01.DBF'
但是,若不在恢复脚本中加进:restore datafile 8;
那么在恢复进行过程中,会提示错误:datafile 8 must be restored,这是可以单独执行针对datafile 8的恢复。
第五章备份工作的自动化
一、AT介绍:
AT是一个NT操作系统的任务定时执行程序,经过测试,只对批处理文件有效,具体情况可以查看NT的帮助。
通过AT把备份任务添加到操作系统的任务表里自动完成,可以减少日常的备份任务,DBA只需要检查备份完成的记录即可。
二、AT添加批处理文件:
C:\backupscript\job.bat
第六章备份规划
一、配置要求
服务器端:
运行英文NT4.0(SP5)操作系统
数据库运行在ARCHIVELOG模式下;
保留独立的归档日志文件保存空间大于3GB;
保留独立的备份目的空间大于2GB;
运行ORACLE INTELLIGENTAGENT;
管理工作站:
运行中文NT4.0(SP5)操作系统;
配置磁带机、数据磁带、清洗带;
创建一个用于保存恢复目录的小型数据库RCV;
安装Oracle Enterprise Manager;
二、例行备份时间表:
三、日常维护任务:
(1)建立严格的维护记录制度,记录对数据库维护的每一步操作、时间及返回信息;
(2)检查归档日志空间占用情况:e:\zzyd\archive\目录下,每次把完全备份导入到磁带机后就把完全备份之前的归档日志文件删除(注意归档日志文件的日期和时间);
(3)检查备份完成情况,备份文件目录:f:\backup\,备份日志目录:f:\backlog\;(4)检查表空间使用情况,预计增长速度,提前扩大容量。
可以通过OEM下的\tools\Database applications\ Storage manger查看表空间及数据文件的占用情况并为表空间增加数据文件;
(5)周期性同步数据库信息(rman>resync catalog)到RECOVERY CATALOG 中;
(6)如果更改了数据库的配置(如增加/删除/更名数据文件等等),要立即进行备份,数据库变更操作要尽量安排在休息日进行。
(7)在变更了服务器的时钟后,必须立即进行完全数据库备份!(不要轻易改变服务器时间);
(8)口令文件、控制文件、初始化文件单独COPY出来;
口令文件:D:\Oracle\Ora81\下PWDzzyd.ORA、rcv.ORA;
控制文件:E:\zzyd\CONTROL01.CTL和CONTROL02CTL;
初始化文件:E:\zzyd\pfile\init.ora;
(9)在纸上记录各备份通道的定义、格式信息;
第七章常见故障解决
1.internal帐户和密码丢失:表现为无法用internal帐户连接到数据库。
原因1:忘记密码
解决办法:
1)用备份的口令文件替换旧的口令文件D:\Oracle\Ora81\下PWDzzyd.ORA
2)重新生成新的口令文件,在生成之前一定要先删除旧口令文件
命令:D:\> ORAPWD file=D:\Oracle\Ora81\Database\PWDzzyd.ORA password=<password> entries=5
原因2:数据库损坏
考虑是否需要重新恢复数据库。
2.OEM无法打开:检查控制面板中的OracleOratoolsmanagersever是否启动。
因为在这里OEM的数据仓库(repository)是建立在数据库ZZYD中的,所以该数据库也必须处于打开状态。