熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> Oracle >> 正文

SPFILE參數修改錯誤的解決辦法

2013-11-13 15:40:39  來源: Oracle 

  昨天在火車站一個朋友打電話過來說他將SPFILE修改錯了數據庫無法啟動問我怎麼辦

  我說你創建一個PFILE改一下用PFILE啟動而他說數據庫無法連接是Windows的環境

  Ok這類問題很多很多我描述一下解決辦法供參考

  假如我們修改了以下參數

SQL> alter system set sga_max_size=G scope=spfile;

System altered

    那麼下次啟動如果內存不足數據庫是無法啟動的
SQL> shutdown immediate;
Database closed
Database dismounted
ORACLE instance shut down
SQL> startup
ORA: out of memory
    在UnixLinux上可以連接到數據庫創建pfile
SQL> create pfile from spfile;

File created
    如果在Window上你手上還沒有任何可供參考的參數文件那麼很簡單用記事本(Notepad)編輯一個文件包含如下兩行
[oracle@test dbs]$ cat initeygleora
SPFILE=/opt/oracle/product//dbs/spfileeygleora
sga_max_size=

    第一行指向SPFILE第二行寫上出錯的參數給一個正確的值這個值在實例啟動時會覆蓋之前錯誤的設置
    然後就可以使用這個文件啟動數據庫實例了
SQL> startup pfile=$ORACLE_HOME/dbs/initeygleora
ORACLE instance started

Total System Global Area bytes
Fixed Size                  bytes
Variable Size            bytes
Database Buffers          bytes
Redo Buffers                bytes
Database mounted
Database opened

    如果在Windows上你只能通過服務起停數據庫那麼Oracle缺省的還是會尋找SPFILE一個辦法是將SPFILE改名
    比如將spfileeygleora更改為spfileeygleora然後再pfile裡引用這個參數文件下次startup就不用指定pfile
數據庫可以自動找到這個參數文件啟動數據庫
[oracle@test dbs]$ mv spfileeygleora spfileeygleora
[oracle@test dbs]$ cat initeygleora
SPFILE=/opt/oracle/product//dbs/spfileeygleora
sga_max_size=
數據庫可以自動使用PFILE啟動
SQL> startup
ORACLE instance started

Total System Global Area bytes
Fixed Size                  bytes
Variable Size            bytes
Database Buffers          bytes
Redo Buffers                bytes
Database mounted
Database opened
SQL> show parameter spfile

NAME                                TYPE        VALUE

spfile                              string      /opt/oracle/product//dbs
                                                /spfileeygleora

The End

From:http://tw.wingwit.com/Article/program/Oracle/201311/17118.html
  • 上一篇文章:

  • 下一篇文章:
  • 推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.