ITPub博客

首页 > Linux操作系统 > Linux操作系统 > OS壞掉后的Oracle重建

OS壞掉后的Oracle重建

原创 Linux操作系统 作者:haoyuanfen 时间:2009-04-21 15:29:29 0 删除 编辑

Step 1
保证原有数据库数据文件在原来的位置.

Step 2
copy 原<%oracle_base%>/admin和flash_recovery_area目录到新的<%oracle_base%>目录.
copy password file and init file to <%oracle_home%>/database/

Step 3
创建windows服务
oradim -delete -sid
oradim -new -sid -pfile <<%oracle_home%>/database/init.ora> -startmode m

Step 4
使用REGEDIT创建字符串变量ORACLE_SID为数据库的ORACLE_SID

Step 5
启动监听器/数据库
lsnrctl>start
c:>set ORACLE_SID=
sqlplus /nolog
sql>conn / as sysdba
sql>startup

 

 

如果你新安装的数据库版本和旧的一致的话,你就不需要执行下面的步骤.
如果你新的数据库版本比旧的要高的话,你需要执行下面步骤.
例如: 旧-》10.2.0.1
            新-》 10.2.0.3

不然的话, alert log 发现如下:
Errors in file /admin/szirmdb/udump/szirmdb_ora_2638.trc:
ORA-00704: bootstrap process failure
ORA-39700: database must be opened with UPGRADE option

升级数据字典 (from http://www.freeskydba.com)
如果只安装了升级包,没有进行数据库字典信息升级,启动数据库将报ORA-01092 ORACLE 例程终止。强行断开连接。
(这和Oracle9i有点不同,对Oracle9i做了升级后,不升级数据库字典信息,仍然可以启动数据库使用,但对exp/imp,RMAN之类的工具不能使用)。

1 运行数据库预升级检查( Pre-Upgrade Information Tool)
Conn / as sysdba
STARTUP UPGRADE
SPOOL upgrade_info.log
@?/rdbms/admin/utlu102i.sql
SPOOL OFF

2 进行数据库字典信息升级(Upgrading a Release 10.2 Database)
启动监听器:lsnrctl start
sqlplus /NOLOG
SQL> CONNECT / AS SYSDBA
SQL> STARTUP UPGRADE
SQL> SPOOL patch.log
SQL> @ORACLE_HOME\rdbms\admin\catupgrd.sql
SQL> SPOOL OFF
检查patch.log 文件,如果有问题,重新运行catupgrd.sql。

3 重启动数据库:
SQL> SHUTDOWN IMMEDIATE
SQL> STARTUP

4 运行utlrp.sql脚本重新编译无效PL/SQL包
SQL> @ORACLE_HOME\rdbms\admin\utlrp.sql

5 运行命令检查所有组件是否升级成功:
SQL> SELECT COMP_NAME, VERSION, STATUS FROM SYS.DBA_REGISTRY;
所有输出为VALID表示升级成功.

6 如果使用Oracle Recovery Manager catalog, 需要对catalog进行升级,如下:
  C:\> rman catalog username/password@alias
  RMAN> UPGRADE CATALOG;

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/8111049/viewspace-591165/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2009-04-02

  • 博文量
    55
  • 访问量
    267056