出租车数据库恢复步骤: 前提条件: 1. 保证要恢复的实例能够正常打开。 2. 重建应用表空间,以及应用对象(注:对正式库的数据库对象定义一定要定时备份!)。 3. 在恢复时应注意的事项: 3.1 注意回滚段的使用情况; 3.2 注意硬盘空间的使用情况,因为会产生大量的归档信息,可根据数据量的大小调整REDO的大小。 3.3 为提高恢复速度,可暂时关闭归档。 恢复过程: 1. 使用root用户运行恢复脚本成生器,生成恢复过程中需要使用的文件,格式如下: su - oracle -c "/backup/vmdb/db/vmdbimport.ksh <备份所在相对目录> <目标ORACLE的NET SERVICE名>" 例如: su - oracle -c "/backup/vmdb/db/vmdbimport.ksh mydb.testuser.20070114 targetdb" 切记: A. 请确认目标ORACLE的net service名的正确!! B. 请根据目标ORACLE的相应用户对象,修改相应的密码。 # cat /backup/vmdb/db/vmdbimppasswd.map manage:manage testuser:test 注:文件内容的格式为<用户名>:<密码> 2. 清空要恢复用户拥有表。 select 'truncate table ' || s.table_name || ';' from user_tables s; 然后执行该语句所产生的结果。 3. 关闭要恢复用户的触发器。 select 'alter trigger ' || s.trigger_name || ' disable; 'from user_triggers s 然后执行该语句所产生的结果。 4. 开始恢复。 运行位于/backup/vmdb/db/目录中新生成的脚本,脚本名称格式为:vmdbimpexecuter_<当时日期>.ksh,如: su - oracle -c "/backup/vmdb/db/vmdbimpexecuter_20070115.ksh" 注: 4.1 恢复过程中的每次导入的日志,都位于<备份所在相对目录>中,相应的文件一看即明。 4.2 用户对象中的某些表耗时较长,可暂不作恢复. 5. 开启要恢复用户的触发器。 select 'alter trigger ' || s.trigger_name || ' enable;' from user_triggers s 然后执行该语句所产生的结果。