误删Oracle数据库的参数文件和口令文件

402 阅读1分钟

在工作中总会有误操作,但是当误操作删除Oracle数据库的口令文件或者参数文件时怎么办?

以下为口令文件和参数文件:

[oracle@11g dbs]$ pwd
/home/oracle/app/oracle/product/11.2.0/dbhome_1/dbs
[oracle@11g dbs]$ ll
total 24
-rw-rw----. 1 oracle oinstall 1544 Mar 11 13:46 hc_medex.dat
-rw-r--r--. 1 oracle oinstall 2851 May 15  2009 init.ora
-rw-r-----. 1 oracle oinstall  658 Feb 16 05:17 initmedex.ora
-rw-r-----. 1 oracle oinstall   24 Feb 16 05:17 lkmedex
-rw-r-----. 1 oracle oinstall 1536 Feb 16 05:17 orapwmedex
-rw-r-----. 1 oracle oinstall 3584 Mar 11 14:19 spfilemedex.ora

模拟误操作删除当前目录的全部文件:

[oracle@11g dbs]$ rm -rf *
total 0

重建口令文件:提供目录和密码

[oracle@11gdbs]$orapwd 
file=/home/oracle/app/oracle/product/11.2.0/dbhome_1/dbs/orapwmedex password=oracle

如果数据库是启动的状态删除的参数文件,不要怕,现在参数文件已经写入到内存中了,可以根据内存创建数据库的参数文件:

SQL> create pfile from memory;
File created.

[oracle@11g dbs]$ ll
-rw-rw----. 1 oracle oinstall 1544 Mar 11 16:55 hc_medex.dat
-rw-r--r--. 1 oracle oinstall 5562 Mar 11 16:44 initmedex.ora
-rw-r-----. 1 oracle oinstall   24 Mar 11 16:55 lkmedex
-rw-r-----. 1 oracle oinstall 1536 Mar 11 16:38 orapwmedex

然后从新启动数据库验证一下

SQL> shutdown immediate;
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> startup;
ORACLE instance started.

OK,从新建完成。