oracle数据库附加操作

D:\ORACLE\ORADATA\ORCL\REDO03.LOG 被不正确的文件覆盖了
属于联机日志损坏,修复一下就好了
c:\cd oracle9\ora92\bin 总之是 bin 文件进去就行
c:\......bin>sqlplus /nolog
SQL>connect sys/sting as sysdba
SQL> shutdown abort ; ORACLE 例程已经关闭
SQL> startup nomount ; ORACLE 例程已经启动。
SQL>startup 数据库装载完毕之后会提示出错的联机日志块
进行不完全恢复:
SQL> recover database until cancel 仿佛要多做几次
以sys登录为sysdba
sqlplus /NOLOG
SQL>connect sys/用户口令as sysdba
SQL>shutdown normal
SQL>startup mount
SQL>alter database open
SQL>shutdown normal
SQL>startup
结果出现
SQL> alter database open
2 ;
alter database open
看看是哪个数据文件出现问题 ,然后不断反复尝试

SQL> alter database create datafile XXX; XXX 表示错误的数据文件号
SQL> alter database datafile XXX offline drop; 重复上述步骤,并且不断陆连接,直到不报错为止
也许能用的上的:
SQL>alter database clear unarchivelog logfile group XXX, XXX表示你的日志文件组,进行恢复
SQL>alter database open resetlogs; 从新打开数据库用日志文件
其他人的回答
方法 一
重新创建同名的dbf文件,在从备份文件里进行恢复
如果这个文件不需要了,
shutdown immediate
startup mount
alter database datafile 'c:\xxx.dbf' drop offline (这里的语法记的不是很清楚,自己查一下)
alter database open
方法 二
[Q]丢失一个数据文件,但是没有备份,怎么样打开数据库
[A]如果没有备份只能是删除这个数据文件了,会导致相应的数据丢失。
SQL>startup mount
--ARCHIVELOG模式命令
SQL>Alter database datafile 'file name' offline;
--NOARCHIVELOG模式命令
SQL>Alter database datafile 'file name' offline drop;
SQLl>Alter database open;
注意:该数据文件不能是系统数据文件
SQL>select group#,sequence#,archived,status from v$log; 查看连机日志文件的一些属性
我进行操作的步骤,如下
SQL> alter database clear unarchived logfile group 1
2 /
alter database clear unarchived logfile group 1
*
ERROR 位于第 1 行:
ORA-01624: 线程1的紧急恢复需要日志1
ORA-00312: 联机日志 1 线程 1: 'D:\ORACLE\ORADATA\OEMREP3\REDO01.LOG'
SQL> recover database until cancel
ORA-00283: 恢复会话因错误而取消
ORA-01124: 无法恢复数据文件 1 - 文件在使用中或在恢复中
ORA-01110: 数据文件 1: 'D:\ORACLE\ORADATA\OEMREP3\SYSTEM01.DBF'

更换数据库文件路径
此过程用sqlplus以sys登录后进行如下步骤:

◆1、将数据文件offline:

alter database datafile 'D:\ORACLE\PROD

UCT\10.2.0\DBFILES\DSBI\DS.ORA' offline

注:如提示正在使用,重启数据库再进行此操作。

◆2、copy数据文件(DS.ORA)到新的目录文件

◆3、alter database datafile 'D:\ORACLE\PRODUCT\10.2.0\DBFILES\DSBI\DS.ORA' online

此时可能提示错误:

ORA-01113: 文件 5 需要介质恢复

ORA-01110: 数据文件 5: 'D:\ORACLE\PRODUCT\10.2.0\DBFILES\DSBI\DS.ORA'
前提:从别的计算机得到一份数据库(矿总院药品价表等等数据库).
目的:把数据库里面的数据附加到本地数据库,从而可以查看数据库中的数据,取之应用.
必须了解信息:
原数据库全局数据库名称:oracle,SID:ORCL.
原数据库存放路径:E:\oracle\oracdata\
本地数据库的安装路径是D:\oracle\

数据库物理移动位置

实现步骤:
一、把数据库相关文件copy到本地E:\oracle\oracdata\下面,(确保文件不能缺少).

二、修改初始化文件init.ora,路径在D:\oracle\admin\oracle\pfile\init.ora
查找control_files = ("D:\oracle\oradata\oracle\control01.ctl", "D:\oracle\oradata\oracle\control02.ctl", "D:\oracle\oradata\oracle\control03.ctl")

修改为:
control_files = ("E:\oracle\oradata\oracle\control01.ctl", "E:\oracle\oradata\oracle\control02.ctl", "E:\oracle\oradata\oracle\control03.ctl")

三、重新启动实例.观察E:\oracle\oradata\oracle\下面的控制文件时间是否改变,如如果改变,说明控制文件已经附加成功.

四、修改字符集.
打开注册表查找: [HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\HOME0]修改
"NLS_LANG"="AMERICAN_https://www.360docs.net/doc/4e1837485.html,7ASCII",原来"NLS_LANG"="SIMPLIFIED CHINESE_CHINA.ZHS16GBK",
目的是为了避免中文在数据库里面出现乱码的现象.

五、启动svrmgrl.
Svrmgrl>shutdown immediate;
重新启动实例.

六、改变数据库文件.
引用内容SVRMGR> alter database rename file 'D:\oracle\oradata\oracle\INDX01.DBF' to 'E:\oracle\oradata\oracle\INDX01.DBF’;
SVRMGR> alter database rename file 'D:\oracle\oradata\oracle\DR01.DBF' to 'E:\oracle\oradata\oracle\ DR01.DBF’;

SVRMGR> alter database rename file 'D:\oracle\oradata\oracle\RBS01.DBF' to 'E:\oracle\oradata\oracle\ RBS01.DBF’;

SVRMGR> alter database rename file 'D:\oracle\oradata\oracle\SYSTEM01.DBF' to 'E:\oracle\oradata\oracle\ SYSTEM01.DBF’;

SVRMGR> alter database rename file 'D:\oracle\oradata\oracle\TEMP01.DBF' to 'E:\oracle\oradata\oracle\ TEMP01.DBF’;

SVRMGR> alter database rename file 'D:\oracle\oradata\oracle\USERS01.DBF' to 'E:\oracle\oradata\oracle\ USERS01.DBF’;

SVRMGR> alter database rename file 'D:\oracle\oradata\oracle\TOOLS01.DBF' to 'E:\oracle\oradata\oracle\ TOOLS01.DBF’;

SVRMGR> alter database rename file 'D:\oracle\oradata\oracle\REDO01.LOGF' to 'E:\oracle\oradata\oracle\ REDO01.LOG’;

SVRMGR> alter database rename file 'D:\oracle\oradata\oracle\REDO02.LOGF' to 'E:\oracle\oradata\oracle\ REDO02.LOG’;

SVRMGR> alter dat

abase rename file 'D:\oracle\oradata\oracle\REDO02.LOGF' to 'E:\oracle\oradata\oracle\ REDO02.LOG’;

七、重新启动数据库实例.
八、修改密码文件.pwdorcl.ora(文件名根据SID名称改变),路径D:\oracle\ora81\database.
一般先备份一下密码文件.然后把改文件删除.
然后用orapwd命令重新生成密码文件.
C:\>orapwd file= D:\oracle\ora81\database\pwdorcl.ora password=oracle entries=5;
说明:file是生成的密码文件的完整的路径名称.password是新密码.

九、重新启动数据库.检查是否可以正常运行,如果运行失败,检查步骤是否全部符合.
◆4、set autorecovery on

◆5、recover datafile 5;这个5就是3中提到的数据文件 5

提示:完成介质恢复

◆6、alter database datafile 'D:\ORACLE\PRODUCT\10.2.0\DBFILES\DSBI\DS.ORA' online

◆7、the end。



相关文档
最新文档