SuSE 10 Enterprise 下 Oracle 10g 关于找不到initorcl.ora文件和控制文件问题
Oracle無法正常啟動,經過一番學習,總算解決問題,在這里做個筆記,備用!
問題如下:
使用Oracle用戶登錄:
>sqlplus /nolog
然后,
>connect /as sysdba
--提示連接上。
>startup
啟動Oracle提示錯誤如下:
ORA-01078: failure in processing system parameters
LRM-00109: could not open parameter file '/opt/oracle/product/10g/dbs/initorc1.ora'
因為ORACLE在啟動的時候會首先去找spfile文件,如果沒有則會去找pfile,但是2個文件都沒有,所有報錯。
可使用默認的init.ora文件,然后重新配置。
>cd? /opt/oracle/product/10g/dbs
>cp init.ora initorc1.ora
再嘗試啟動Oracle
又出現新的錯誤,如下:
ORA-00371: not enough shared pool memory, should be atleast 62198988 bytes
因為startup的 時候是從pfile里讀取shared pool memory值,所以手動修改為大于62198988的值。
>vi initorcl.ora
shared_pool_size = 70000000
再嘗試啟動,發現又報錯:
SQL> startup;
ORACLE instance started.
Total System Global Area? 104857600 bytes
Fixed Size????????????????? 1217932 bytes
Variable Size????????????? 96471668 bytes
Database Buffers??????????? 4194304 bytes
Redo Buffers??????????????? 2973696 bytes
ORA-00205: error in identifying control file, check alert log for more info
我的理解是默認的控制文件出問題,所以,手工重建一個。把數據庫sstartup到nomount狀態,重建一個新的控制文件:
>startup nomount
ORACLE instance started.
>create controlfile reuse database 'orcl' noresetlogs noarchivelog?
? 2? maxlogfiles 16?
? 3? maxlogmembers 3?
? 4? maxdatafiles 100?
? 5? maxinstances 8?
? 6? maxloghistory 292?
? 7? logfile?
? 8? group 1 '/opt/oracle/oradata/orcl/redo01.log' size 50M,?
? 9? group 2 '/opt/oracle/oradata/orcl/redo02.log' size 50M,
10? group 3 '/opt/oracle/oradata/orcl/redo03.log' size 50M
11? datafile
12?? '/opt/oracle/oradata/orcl/system01.dbf',
13?? '/opt/oracle/oradata/orcl/undotbs01.dbf',
14?? '/opt/oracle/oradata/orcl/sysaux01.dbf',
15?? '/opt/oracle/oradata/orcl/users01.dbf',
16?? '/opt/oracle/oradata/orcl/example01.dbf'
17? character set we8iso8859p1
18? ;
Control file created.
SQL> alter database open;
Database altered.
此時,再啟動Oracle。可以成功啟動,接著啟動Listener,發現我的數據庫(DESC=***)沒有注冊到listener上,所以我連接上去出現以下錯誤:
ORA-12505,TNS:listener does not currently know of SID given in connect descriptor
再次使用Oracle用戶登錄,
>lsnrctl status
發現我知道SID確實沒有注冊到listener,接著打開listener.ora文件,修改
>cd /opt/oracle/product/10.2.0/db/network/admin
>vi listener.ora
在SID_LIST增加
??? (SID_DESC =
????? (GLOBAL_DBNAME = orcl)
????? (ORACLE_HOME = /opt/oracle/product/10.2.0/db)
????? (SID_NAME = orcl)
??? )
保存,重啟listener,數據庫可以正常連上。
文檔轉載自:http://joy-cz.iteye.com/blog/710838
?
轉載于:https://blog.51cto.com/anxue071/648773
總結
以上是生活随笔為你收集整理的SuSE 10 Enterprise 下 Oracle 10g 关于找不到initorcl.ora文件和控制文件问题的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: JavaScript 与 ASP.NET
- 下一篇: Revit二次开发之“使用Element