冷备恢复背景
windows server2016下冷备只备份了app/administrator/下面的admin和oradata
冷备恢复流程
1.安装与原库相同的数据库版本oracle 11g 11.2.0.1.0,不创建实例
2.在app/administrator/下面建立flash_recovery_area目录
3.复制数据文件整个文件夹oradata和admin到app/administrator/
4.在app/administrator/admin/orcl/pfile下找到参数文件
修改memory_target参数注意该文件的单位是B(设置过大会出现out_of_memory)
修改各个文件的目录到新目录
5.将init.ora.3957975455的文件更名为initSID(如initORCL)复制到
app/administrator/product/11.2.0/dbhome_1/dbs/
app/administrator/product/11.2.0/dbhome_1/database/(该目录下必须有pfile即initORCL或者spfile文件)
6.收集相关信息
获取原来的数据库名(原pfile中就有)
字符集 SQL>startup nomount; SQL>select userenv('language') from dual;
7.控制文件脚本重建控制文件
先把数据库shutdown
SQL>@C:\rebuild.sql
STARTUP NOMOUNT
CREATE CONTROLFILE REUSE DATABASE "ORCL" NORESETLOGS NOARCHIVELOG
MAXLOGFILES 5
MAXLOGMEMBERS 3
MAXDATAFILES 100
MAXINSTANCES 1
MAXLOGHISTORY 226
LOGFILE
GROUP 1 'C:\APP\Administrator\oradata\orcl\REDO01.LOG' SIZE 50M,
GROUP 2 'C:\APP\Administrator\oradata\orcl\REDO02.LOG' SIZE 50M,
GROUP 3 'C:\APP\Administrator\oradata\orcl\REDO03.LOG' SIZE 50M
DATAFILE
'C:\APP\Administrator\oradata\orcl\SYSTEM01.DBF',
'C:\APP\Administrator\oradata\orcl\SYSAUX01.DBF',
'C:\APP\Administrator\oradata\orcl\UNDOTBS01.DBF',
'C:\APP\Administrator\oradata\orcl\USERS01.DBF'
CHARACTER SET UTF8;
8.介质恢复并开启数据库
recover database;
9.alter database open;
10.重建服务和监听
1)建立服务
cmd
oradim -new -sid ORCL
2)用net configuration为orcl实例新建监听
3)在network\admin下的tnsnames.ora中添加如下片段
ORCL =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = ORCL)
)
)
4)重建口令文件
cmd
orapwd file=<fname> password=<password> entries=<users>
5)重启
数据库startup open
启动数据库服务和监听
参考文献
密码文件丢失与重建
Oracle验证机制分为OS认证和口令文件认证,冷备牵涉到的PWDfile就是口令文件
百度文库,Oracle OS认证与口令文件认证详解
冷备流程
作者:WENG'S LABS,Oracle数据库冷备份与恢复(救命稻草)
重建控制文件
作者:Hoegh, Oracle 11g重建控制文件——控制文件全部丢失,从零开始