- 最后登录
- 2017-5-4
- 在线时间
- 81 小时
- 威望
- 999
- 金钱
- 2391
- 注册时间
- 2013-9-11
- 阅读权限
- 150
- 帖子
- 1124
- 精华
- 5
- 积分
- 999
- UID
- 1220
|
1#
发表于 2017-4-13 11:28:51
|
查看: 1496 |
回复: 0
我的Oracle10g数据库今天出了问题 把oradata目录下的文件作了一个备份,不小心把这个数据库事例给删了,请高手指导一下怎么把oradata目录下的数据库的数据恢复过来啊
我没有删除整个Oracle的,我是通过Database Configuration Assistant的删除数据库事例的功能把oradata目录下备份的那个事例数据库给删除了,现在有oradata目录下的备份文件,怎么恢复呀
覆盖好象不行,服务是能启动,但用户不能登陆
密码文件怎么建呀,指导指导啊,一个月写的存储过程全没了哦
创建了服务,可是服务测试连接失败,我用PLSQL Developer登陆,报如下所示的错误:ORA-01033: ORACLE initialization or shutdown in progress
我通过orapwd和oradim已经成功的创建了密码文件和服务,用sys用户登陆后发现不能打开用户表,通过PLSQL Developer打开表文件夹时提示"ORA-01219 : 数据库未打开: 仅允许在固定表/视图中查询"
sqlplus /nolog
conn / as sysdba
startup
执行后提示"ORA-01081: 无法启动已在运行的 ORACLE - 请首先关闭它"
我又执行了shutdown操作,再startup 提示错误如下:
SQL> conn as sysdba
请输入用户名: sys
输入口令:
已连接。
SQL> shutdown
ORA-01109: 数据库未打开
已经卸载数据库。
ORACLE 例程已经关闭。
SQL> conn as sysdba
请输入用户名: sys
输入口令:
已连接到空闲例程。
SQL> startup
ORACLE 例程已经启动。
Total System Global Area 289406976 bytes
Fixed Size 1248576 bytes
Variable Size 88081088 bytes
Database Buffers 192937984 bytes
Redo Buffers 7139328 bytes
数据库装载完毕。
ORA-01122: 数据库文件 4 验证失败
ORA-01110: 数据文件 4: 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\HR\USERS01.DBF'
ORA-01207: 文件比控制文件更新 - 旧的控制文件
再执行startup命令 仍提示"ORA-01081: 无法启动已在运行的 ORACLE - 请首先关闭它"的错误,
用PL/DEVLOPER 打开表目录仍提示"ORA-01219 : 数据库未打开: 仅允许在固定表/视图中查询"
没有归档,我是直接COPY oradata目录下的HR目录的所有文件备份的
我是用备份的文件直接覆盖HR目录下的所有文件的,备份的文件有:
CONTROL01.CTL
CONTROL02.CTL
CONTROL03.CTL
EXAMPLE01.DBF
REDO01.LOG
REDO02.LOG
REDO03.LOG
SYSAUX01.DBF
SYSTEM01.DBF
TEMP01.DBF
UNDOTBS01.DBF
USERS01.DBF
是不是当服务在启动的时候,oradata目录下的文件不能全部被覆盖呀,
要不要将这个事例的所有服务停掉,删除oradata/hr目录下的文件后,再复制备份的进来呀
是直接覆盖HR目录,覆盖时HR的服务是启动的, 没有提示任何覆盖错误的提示,就认为是覆盖成功, 这样是不是有问题
启动后报如下提示:
SQL> startup
ORACLE 例程已经启动。
Total System Global Area 289406976 bytes
Fixed Size 1248576 bytes
Variable Size 88081088 bytes
Database Buffers 192937984 bytes
Redo Buffers 7139328 bytes
数据库装载完毕。
ORA-01122: 数据库文件 2 验证失败
ORA-01110: 数据文件 2: 'D:\ORACLE\PRODUCT\10.2.
ORA-01207: 文件比控制文件更新 - 旧的控制文件
里面全部是我写的存储过程呀,写了一个月了,开始是OracleConsoleHR服务启动提示错误3, 由于看错服务名,把这个事例误删除了,晕啊
SQL> select file#,error,recover from v$datafile_header;
FILE# ERROR REC
---------- ----------------------------------------------------------------- ---
1 NO
2 OLD CONTROLFILE
3 NO
4 OLD CONTROLFILE
5 NO
SQL> select * from v$recover_file;
FILE# ONLINE ONLINE_
---------- ------- -------
ERROR CHANGE#
----------------------------------------------------------------- ----------
TIME
--------------
2 OFFLINE OFFLINE
UNKNOWN ERROR 905523438
27-7月 -06
4 ONLINE ONLINE
UNKNOWN ERROR 905572406
27-7月 -06
FILE# ONLINE ONLINE_
---------- ------- -------
ERROR CHANGE#
----------------------------------------------------------------- ----------
TIME
--------------
具体怎么操作呀,详细指点一下,是用这个命令对吗
alter database datafile 4 offline drop;
alter database open
|
|