快速修复oracle参数文件的另类方法

DBA的悲哀莫过于没有备份好文件。 eygle称之为DBA的恶梦。此言甚是!

尽管很多人认为对参数文件的备份并不重要,但你往往就因此吃亏!

参数文件,10.2.0 windows版本oracle的spfile和pfile默认在E:\oracle\product\10.2.0\db_1\database目录下,SPFILEsid.ORA和INITsid.ORA,oracle默认用spfile,若spfile损坏,则自动用pfile,如果 两个都坏了,则提示错误。如果没有备份,那怎么办呢?

当然,你可以找到oracle自带的init模板,一个个参数地设置自己系统的参数文件。那这将是一件很糟的事情,它会浪费你宝贵的时间。有什么办法吧?关键是要快速的!

正如题所示,我有个好办法。

从alert_alaska.log警告日志里着手,因为它记录着一直以来数据库运行的情况,当然也包括每次启动的参数信息啦,我们要的就是
引用:
  processes                = 150
  __shared_pool_size       = 75497472
  __large_pool_size        = 4194304
  __java_pool_size         = 4194304
  __streams_pool_size      = 0
  nls_language             = AMERICAN
  nls_territory            = AMERICA
  sga_target               = 167772160
  control_files            = E:\ORACLE\PRODUCT\10.2.0\ORADATA\ALASKA\CONTROL01.CTL, E:\ORACLE\PRODUCT\10.2.0\ORADATA\ALASKA\CONTROL02.CTL, E:\ORACLE\PRODUCT\10.2.0\ORADATA\ALASKA\CONTROL03.CTL
  db_block_size            = 8192
  __db_cache_size          = 79691776
  compatible               = 10.2.0.1.0
  db_file_multiblock_read_count= 16
  db_recovery_file_dest    = e:\oracle\product\10.2.0/alash_recovery_area
  db_recovery_file_dest_size= 1073741824
  log_checkpoints_to_alert = TRUE
  undo_management          = AUTO
  undo_tablespace          = UNDOTBS1
  undo_retention           = 900
  remote_login_passwordfile= EXCLUSIVE
  db_domain                = com.cn
  dispatchers              = '(PROTOCOL=TCP) (SERVICE=alaskaXDB)'   
                                                  #用  '  '  引起它们
  job_queue_processes      = 10
  audit_file_dest          = E:\ORACLE\PRODUCT\10.2.0\ADMIN\ALASKA\ADUMP
  background_dump_dest     = E:\ORACLE\PRODUCT\10.2.0\ADMIN\ALASKA\BDUMP
  user_dump_dest           = E:\ORACLEPRODUCT\10.2.0ADMIN\ALASKA\UDUMP
  core_dump_dest           = E:\ORACLE\PRODUCT\10.2.0\ADMIN\ALASKA\CDUMP
  db_name                  = alaska
  open_cursors             = 300
  pga_aggregate_target     = 16777216