oralce的诊断文件记录了后台遇到重大事件的各种信息。

服务器端的诊断文件分为alertSID.log文件和trace文件。

trace文件分为Backgroup trace files和user trace files。

后台跟踪文件的命名格式:SID_processname_PID.trc

用户跟踪文件的命名格式:SID_ora_PID.trc

这里的SID显示为你自己的实例名。

alertSID.log记录了你所有的操作、重大事件的记录结果、每天的运行记录等。这里就使用alertSID.log文件中的相关内容来创建pfile文件。

1、用show parameter dump查看你的dump文件位置,并找到alertlogSID.log文件。

p_w_picpath

2、查看该文件,vi leatlogSID.log,我这里的SID是guo。

p_w_picpath

3、其中包含有启动参数。

  processes                = 150
  shared_pool_size         = 83886080
  large_pool_size          = 4194304
  java_pool_size           = 4194304
  streams_pool_size        = 0
  sga_target               = 285212672
  control_files            = /u01/app/oracle/oradata/guo/control01.ctl, /u01/app
/oracle/oradata/guo/control02.ctl, /u01/app/newctl.ctl
  db_block_size            = 8192
  db_cache_size            = 188743680
  compatible               = 10.2.0.1.0
  db_file_multiblock_read_count= 16
  db_recovery_file_dest    = /u01/app/oracle/flash_recovery_area
  db_recovery_file_dest_size= 2147483648
  undo_management          = AUTO
  undo_tablespace          = UNDOTBS1
  remote_login_passwordfile= EXCLUSIVE
  db_domain                =
  dispatchers              = (PROTOCOL=TCP) (SERVICE=guoXDB)
  local_listener           = LISTENER_GUO
  job_queue_processes      = 10
  background_dump_dest     = /u01/app/oracle/admin/guo/bdump
  user_dump_dest           = /u01/app/oracle/admin/guo/udump
  core_dump_dest           = /u01/app/oracle/admin/guo/cdump
  audit_file_dest          = /u01/app/oracle/admin/guo/adump
  db_name                  = guo
  open_cursors             = 300
  pga_aggregate_target     = 94371840

我们把上述文件稍微修改一下,也就是把字符串给’’起来。

processes                = 150
shared_pool_size       = 83886080
large_pool_size        = 4194304
java_pool_size         = 4194304
streams_pool_size      = 0
sga_target               = 285212672
control_files            =('/u01/app/oracle/oradata/guo/control01.ctl', '/u01/app/oracle/oradata/guo/control02.ctl', '/u01/app/newctl.ctl')
db_block_size            = 8192
db_cache_size          = 188743680'
compatible               = '10.2.0.1.0’
db_file_multiblock_read_count= 16
db_recovery_file_dest    = '/u01/app/oracle/flash_recovery_area'
db_recovery_file_dest_size= 2147483648
undo_management          = AUTO
undo_tablespace          = 'UNDOTBS1'
remote_login_passwordfile= 'EXCLUSIVE'
db_domain                =''
dispatchers              = ‘(PROTOCOL=TCP) (SERVICE=guoXDB)’
local_listener           = 'LISTENER_GUO'
job_queue_processes      = 10
background_dump_dest     = '/u01/app/oracle/admin/guo/bdump'
user_dump_dest           = '/u01/app/oracle/admin/guo/udump'
core_dump_dest           = '/u01/app/oracle/admin/guo/cdump'
audit_file_dest          = '/u01/app/oracle/admin/guo/adump'
db_name                  = 'guo'
open_cursors             = 300
pga_aggregate_target     = 94371840

好了,我们在pfile的默认路径$ORACLE_HOME/dbs下新建一个pfile文件吧。

vi testpfile.ora,把上面修改过的给粘贴进去。保存退出。

4、启动数据库时,我们用startup pfile= 的方式来启动 如下:

p_w_picpath

好了,无故障启动了。

5、由于Oracle10g以后的版本都是以spfileSID.ora为默认的启动文件,我们把testpfile.ora改为spfileSID.ora,这里的SID改为你自己的实例名。

p_w_picpath

查看$ORACLE_HOME/dbs中的文件,发现已经建立了spfileddd.ora。我的真实spfileguo.ora也在,这里只是演示。

p_w_picpath