登錄 oracle 時 ORA-01034 和 ORA-27101 的解決辦法


.

.

.

.

.

      昨天剛剛裝完系統(Win7 32位旗艦版),重裝了一下Oracle 10g 數據庫。由於原來數據庫中的數據沒有備份,所以新建了一個與原來相同SID的數據庫。然后停止oracle服務,把新建的數據庫刪除,再把原來的數據庫復制到新建的數據庫的路徑下,數據庫搬家就算完成了,數據庫服務啟動成功就沒有太在意其它的事情。

      今天啟動服務也沒有異常,可是使用 PL/SQL Developer 登錄 Oracle 的時候發現報異常:

ORA-01034: ORACLE not available
ORA-27101: shared memory realm does not exist

      於是乎開始請教Google老師,網上說是數據庫實例沒有啟動,於是手動啟動數據庫實例:

C:\Users\bx>sqlplus /nolog

SQL*Plus: Release 10.2.0.3.0 - Production on 星期日 8月 5 13:57:27 2012

Copyright (c) 1982, 2006, Oracle. All Rights Reserved.

SQL> conn /as sysdba
已連接到空閑例程。

SQL> startup

      可是緊接着又報錯了,繼續請教Google老師。找了很多帖子都沒有辦法解決問題,后來碰到了一篇博文跟我的問題差不多,死馬當活馬醫就照着試了一下,居然真成功了,於是記錄下來,分享給大家。參考地址是:http://haojiejie.iteye.com/blog/1466347

ORA-01261: Parameter db_recovery_file_dest destination string cannot be translated

ORA-01263: Name given for file destination directory is invalid
OSD-04018: ??????????????????????????
O/S-Error: (OS 2) ??????????????????????

      其實是sPfile文件中一個路徑db_recovery_file_dest找不到導致的。於是找到這個 sPfile 文件看看它里面是怎么寫的。我的文件路徑是:D:\Oracle\product\10.2.0\db_1\database\SPFILEORCL.ORA

      用記事本打開發現是個二進制文件,不過還好路徑還是可以看到的。

orcl.__db_cache_size=411041792
orcl.__java_pool_size=16777216
orcl.__large_pool_size=4194304
orcl.__shared_pool_size=163577856
orcl.__streams_pool_size=0
*.audit_file_dest='D:\oracle\product\10.2.0\admin\orcl\adump'
*.background_dump_dest='D:\oracle\product\10.2.0\admin\orcl\bdump'
*.compatible='10.2.0.3.0'
*.control_files='D:\oracle\product\10.2.0\oradata\orcl\control01.ctl','D:\oracle\product\10.2.0\oradata\orcl\control02.ctl','D:\oracle\product\10.2.0\oradata\orcl\control03.ctl'
*.core_dump_dest='D:\oracle\product\10.2.0\admin\orcl\cdump'
*.db_block_size=8192
*.db_domain=''
*.db_file_multiblock_read_count=16
*.db_name='orcl'
*.db_recovery_file_dest='D:\oracle\product\10.2.0\flash_recovery_area'
*.db_recovery_file_dest_size=2147483648
*.dispatchers='(PROTOCOL=TCP) (SERVICE=orclXDB)'
*.job_queue_processes=10
*.open_cursors=300
*.pga_aggregate_target=200278016
*.processes=150
*.remote_login_passwordfile='EXCLUSIVE'
*.sga_target=600834048
*.undo_management='AUTO'
*.undo_tablespace='UNDOTBS1'
*.user_dump_dest='D:\oracle\product\10.2.0\admin\orcl\udump'

      很顯然是找不到D:\oracle\product\10.2.0\flash_recovery_area,於是我打開資源管理器一看,flash_recovery_area 這個目錄果然不存在,新建了一個flash_recovery_area文件夾后再啟動數據庫實例就沒問題了。

SQL> startup
ORACLE 例程已經啟動。

Total System Global Area 603979776 bytes
Fixed Size 1291988 bytes
Variable Size 184551724 bytes
Database Buffers 411041792 bytes
Redo Buffers 7094272 bytes
數據庫裝載完畢。
數據庫已經打開。

 

      OK, 糾結了兩個半小時的問題終於搞定了。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM