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

本文介绍了一种当Oracle的参数文件(SPFILE或PFILE)丢失或损坏时的快速恢复方法。通过阅读alert日志文件获取历史参数配置,并利用这些参数启动数据库,解决了因参数文件缺失导致的数据库无法启动的问题。

          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

 

        复制以前成功启动的参数语句(如上代码段)到一个文本中,只需把dispatchers = (PROTOCOL=TCP) (SERVICE=alaskaXDB)的值加上''(单引号),变成dispatchers = '(PROTOCOL=TCP) (SERVICE=alaskaXDB)',保存为c:/pfile.txt

             然后运行,startup pfile='c:/pfile.txt';  即可

             是不是很快速,很另类呢!如你所愿。

                                                                                             ——EOF——

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值