跟以前的配置一样重新安装oracle,oracle的版本也要和以前的一样,实例名也要一样。
安装完成后,把这两个文件夹覆盖过去,覆盖前先停止数据库服务
安装完成后,把这两个文件夹覆盖过去,覆盖前先停止数据库服务
解决方案 »
- windows下 安装后的 Oracle SQL Developer 不能用,出现一个对话框提示:Enter the full pathname for jav
- 连击删除的按钮,会产生什么后果?
- [函数]关于汉字字符串的字符截取问题?
- 谁帮忙看一下这是什么问题 ora-01033: ORACLE initialzation or shutdown in progress
- 从字符串截取字符
- win2002下面能装Oracle9i Database Release 2 Enterprise/Standard/Personal Edition for Windows NT/2000/XP 这个版本嘛?
- bzszp(SongZip),请你帮忙
- oracle 如何用sql实现split功能?
- 导入数据乱码问题
- oracle12C连接问题
- 招聘经验丰富Oracle兼职教师!北京 农科院附近 100元/月 起 mail:[email protected]
- ******************表字段太多对性能有什么影响?******************
不好使啊,我把新数据库的两文件夹备出来,把旧的考进去,服务到是能起,操作出错,提示
数据库没有打开...,
我再把新备出的文件考回去,也这个提示啊!
c:> sqlplus /nolog
sql>connect / as sysdba
sql>startup force
备份方案:采用OS冷备份
1.连接数据库并创建测试表
SQL*Plus: Release 8.1.6.0.0 - Production on Tue May 6 13:46:32 2003
(c) Copyright 1999 Oracle Corporation. All rights reserved.
SQL> connect internal/password as sysdba;
Connected.
SQL> create table test(a int);
Table created
SQL> insert into test values(1);
1 row inserted
SQL> commit;
Commit complete
2.备份数据库
SQL> @coldbak.sql 或在DOS下 svrmgrl @coldbak.sql
3.再插入记录
SQL> insert into test values(2);
1 row inserted
SQL> commit;
Commit complete
SQL> select * from test;
A
---------------------------------------
1
2
4.关闭数据库
SQL> shutdown immediate;
Database closed.
Database dismounted.
ORACLE instance shut down.
5.毁坏一个或多个数据文件,如删除user01.dbf
C:\>del D:\ORACLE\ORADATA\TEST\USERS01.DBF
模拟媒体毁坏
6.重新启动数据库,会发现如下错误
SQL> startup
ORACLE instance started.
Total System Global Area 102020364 bytes
Fixed Size 70924 bytes
Variable Size 85487616 bytes
Database Buffers 16384000 bytes
Redo Buffers 77824 bytes
Database mounted.
ORA-01157: cannot identify/lock data file 3 - see DBWR trace file
ORA-01110: data file 3: 'D:\ORACLE\ORADATA\TEST\USERS01.DBF'
在报警文件中,会有更详细的信息
Errors in file D:\Oracle\admin\test\bdump\testDBW0.TRC:
ORA-01157: cannot identify/lock data file 3 - see DBWR trace file
ORA-01110: data file 3: 'D:\ORACLE\ORADATA\TEST\USERS01.DBF'
ORA-27041: unable to open file
OSD-04002: unable to open file
O/S-Error: (OS 2) 系统找不到指定的文件。
7.拷贝备份复原到原来位置(restore过程)
C:\>xcopy d:\database\*.* d:\oracle\oradata\test/H/R/S
8.打开数据库,检查数据
SQL> alter database open;
Database altered.
SQL> select * from test;
A
---------------------------------------
1
这里可以发现,数据库恢复成功,但在备份之后与崩溃之前的数据丢失了。
说明:
1、非归档模式下的恢复方案可选性很小,一般情况下只能有一种恢复方式,就是数据库的冷备份的完全恢复,仅仅需要拷贝原来的备份就可以(restore),不需要recover。
2、这种情况下的恢复,可以完全恢复到备份的点上,但是可能是丢失数据的,在备份之后与崩溃之前的数据将全部丢失。
3、不管毁坏了多少数据文件或是联机日志或是控制文件,都可以通过这个办法恢复,因为这个恢复过程是Restore所有的冷备份文件,而这个备份点上的所有文件是一致的,与最新的数据库没有关系,就好比把数据库又放到了一个以前的“点”上。
4、对于非归档模式下,最好的办法就是采用OS的冷备份,建议不要用RMAN来作冷备份,效果不好,因为RMAN不备份联机日志,restore不能根本解决问题。
5、如果没有备份联机日志,如RMAN的备份,就需要利用不完全恢复(until cancel)的方法来重新创建联机日志文件