在工作中总会有误操作,但是当误操作删除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,从新建完成。