果果、 发表于 2018-9-13 06:44:16

Oracle数据库的参数文件备份与恢复

  Oracle数据库的参数文件包含两个文件:
  一个是spfile二进制文件名字为spfilesid.ora(其中sid=你数据库的实例名称)。
  另一个是pfile文本文件的参数文件,名字为initsid.ora(其中sid=你数据库的实例名称)。
  默认情况下数据库是只有一个参数文件的,那就是spfile,它是一个二进制文件,通常情况下,我们是无法查看与编辑它的,如果要查看与编辑它的话,我们应startup open打开数据库,用create pfile from spfile;语句来通过spfile创建pfile,再用vi工具修改这个新文件pfile,(例如:cd $ORACLE_BASE/product/10.1.0/db_1/dbs; 再用vi initora10.ora(这里用实例为ora10) 再后通过你修改后的pfile去创建最新的spfile, 用create spfile from pfile;这样新的spfile就产生了。
  所以一个新的数据库实例创建我们首要参数文件。
  通过上面所说的create pfile from spfile来备份我们的参数文件;如查spfile坏掉了我们可以通过pfile来启动数据库;方法如下
  $create pfile from spfile;
  $shutdown immediate;
  $cd $ORACLE_BASE/product/10.1.0/db_1/dbs;
  在这个现在现在是有两个参数文件的一个initora10.ora(pfile),一个spfileora10.ora)
  $rm -rf spfileora10.ora
  $mv initora10.ora initora10.ora.back(为什么还要移动这个pfile呢,为了实验明显就得把他也改名或移走,因为如果数据库在有pfile的情况下,就算spfile坏掉了,数据库也是能启来的,数据库会第一去找spfile再找pfile,所以我们把两个都干掉。看数据库还能启来吗???
  $startup open这个时间就会报错:
  报这个错后。实际数据库就等于没有连接到数据库了要是重新连接就得
  $sqlplus / as sydba;
  现在我们要指定由pfile启动数据库
  $startup open pfile=/u01/app/oracle/product/10.1.0/db_1/dbs/initora10.ora.back;
  哈哈这下数据库就启来了
  我们现在是用的pfile启动的数据库所以还得创建spfile
  $create spfile from pfile;
  这时会说找不到pfile因为我们改名改了名字所以在创建spfile的时间也得指定全路径与文件名:
  这样下次启动数据库,他就找得到spfile了;

页: [1]
查看完整版本: Oracle数据库的参数文件备份与恢复