所谓“冷备份”即直接拷贝数据文件备份,比较方便,但必须要在数据库关闭状态。
对于重装了系统和Oracle数据库重装之后的还原比较重要
以下是本人的还原经验:
由于我完整保存了 数据文件、控制文件和联机文件,且重新安装之后的结构与之前的一模一样,所以比较简单
示例:
D:\oracle_old\product\10.2.0\oradata 先前数据库文件备份
.DBF 的是数据文件
.CTL的是控制文件
.LOG的是日志文件
.ROL是回滚数据文件
首先需要停止新建实例服务(即关闭数据库),
1)Copy原数据库的数据文件、控制文件和日志文件到D:\oracle\product\10.2.0\oradata 。
2)重启数据库;
Cmd>sqlplus /nolog
Sql>conn as sysdba
用户名:system
密码:(此处密码为新创建数据库的密码)
Sql>shutdown immediate
Sql>startup nomount
Sql>alter database mount;
此时看数据库是不是能mount起来,有时会提示没有口令文件PWDdemo.ora文件找不到。查看对应的目录(database下)会发现该文件是存在的。此时需要注意,该口令文件是新安装数据库后创建实例时生成的口令文件,不是以前所用数据库的口令文件,而现在,我们是用以前数据库的控制文件和数据文件来打开以前的数据库,所以此时需要重新创建一个口令文件。
Sql>shutdown immediate
Sql>host orapwd file=D:\oracle\product\10.2.0\db_1\database\PWDorcl.ora password=oracle
Entries=10 (放在database 目录下)
Sql>startup nomount
Sql>alter database mount;
Sql>alter database open;
打开数据库
success
startup nomount 打开参数文件 这时候只能访问有关内存配置的表
alter database mount 打开控制文件 能访问有关数据库结构信息的一些表
alter database open 打开数据库 可以访问数据库内的所有内容了,包括用户建立的表