簡體   English   中英

未找到Oracle XE 11g XE數據庫

[英]Oracle XE 11g the XE database was not found

我是一個新的人,他開始使用Oracle數據庫,並在安裝Oracle XE 11g x64的最后一個版本到Microsoft Windows 7 x64 Enterprise時遇到了問題。

在安裝過程中沒有任何錯誤,並且已成功創建並啟動Windows服務( OracleXETNSListenerOracleServiceXE )。 Winservices屏幕

但是,當我嘗試獲取可用數據庫列表時,我收到錯誤

ORA-01034:ORACLE不可用

ORA-01034:ORACLE不可用

由於某種原因, XE數據庫未創建%ORACLE_BASE%\\oradata\\XE 在此輸入圖像描述

我的listener.ora與localhost的內容:

SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (SID_NAME = PLSExtProc)
      (ORACLE_HOME = C:\oraclexe\app\oracle\product\11.2.0\server)
      (PROGRAM = extproc)
    )
    (SID_DESC =
      (SID_NAME = CLRExtProc)
      (ORACLE_HOME = C:\oraclexe\app\oracle\product\11.2.0\server)
      (PROGRAM = extproc)
    )
  )

LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
      (ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521))
    )
  )

DEFAULT_SERVICE_LISTENER = (XE)

我通過設置localhost IP地址修復了tnsnames.ora:

XE =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = XE)
    )
  )

EXTPROC_CONNECTION_DATA =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
    )
    (CONNECT_DATA =
      (SID = PLSExtProc)
      (PRESENTATION = RO)
    )
  )

ORACLR_CONNECTION_DATA = 
  (DESCRIPTION = 
    (ADDRESS_LIST = 
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1)) 
    ) 
    (CONNECT_DATA = 
      (SID = CLRExtProc) 
      (PRESENTATION = RO) 
    ) 
  ) 

sqlnet.ora包含兩個服務:

SQLNET.AUTHENTICATION_SERVICES = (NONE;NTS)

來自'%ORACLE_HOME%\\ server \\ log \\ myhost \\ client'的日志文件包含此錯誤:

Oracle Database 11g Clusterware 11.2.0.2.0版 - 產品版權所有1996,2010 Oracle。 版權所有。 2016-01-20 19:51:43.920:[default] [5096] ut_read_reg:2:ocr注冊表項SOFTWARE \\ Oracle \\ olr無法打開。 錯誤2 [
CLSE] [5096] clse_get_crs_home:檢索OLR配置時出錯[0] [打開olr注冊表項時出錯。 Неудаетсянайтиуказанныйфайл。 ]

如何找到問題並解決問題?

經過近一個星期的努力解決這個問題后,我找到了一個解決方案,如何從這個來源提供XE數據庫。 它是俄語,我用英語提供解決方案。

  1. 將Oracle XE 11gR2的最新版本從Oracle站點安裝到默認位置c:\\oraclexe ,默認密碼為admin 如果不是默認值,那么您應該在使用它們之前編輯下面的腳本(路徑和pwd)。

  2. 在管理員權限下運行cmd命令行並使用它直到重新配置結束。 首先,為您的數據庫設置環境變量:

     set ORACLE_SID=XE set ORACLE_BASE=c:\\oraclexe\\app\\oracle set ORACLE_HOME=c:\\oraclexe\\app\\oracle\\product\\11.2.0\\server 
  3. 通過命令刪除XE數據庫:

     oradim -delete -sid XE 
  4. 刪除PWDXE.ORA file

     del %ORACLE_HOME%\\database\\PWDXE.ORA 
  5. init.ora%ORACLE_HOME%\\config\\scripts復制到%ORACLE_HOME%\\database ,而不是現有,將其重命名為initXE.ora並添加以下配置:

     open_cursors=300 db_name=XE control_files=("C:\\oraclexe\\app\\oracle\\oradata\\XE\\control.dbf") job_queue_processes=4 compatible=11.2.0.0.0 diagnostic_dest=C:\\oraclexe\\app\\oracle\\. memory_target=1G sessions=100 audit_file_dest=C:\\oraclexe\\app\\oracle\\admin\\XE\\adump remote_login_passwordfile=EXCLUSIVE dispatchers="(PROTOCOL=TCP) (SERVICE=XEXDB)" shared_servers=4 undo_management=AUTO undo_tablespace=UNDOTBS1 DB_RECOVERY_FILE_DEST_SIZE = 10G DB_RECOVERY_FILE_DEST=C:\\oraclexe\\app\\oracle\\fast_recovery_area #optional nls_language="RUSSIAN" nls_territory="RUSSIA" 
  6. 在上一個帶有admin previleges的cmd行中,運行命令以創建Oracle服務和文件%ORACLE_HOME%\\database\\PWDXE.ORA

     oradim -new -sid %ORACLE_SID% -intpwd admin -startmode auto -srvcstart system 
  7. 運行以下命令以停止Windows Oracle XE服務,刪除它們和其他XE文件:

     sqlplus /nolog connect sys/admin as sysdba; shutdown immediate; exit; del %ORACLE_BASE%\\oradata\\XE\\CONTROL.DBF del %ORACLE_BASE%\\fast_recovery_area\\XE\\ONLINELOG\\*.LOG 
  8. 在一個目錄中創建兩個文件:

createXE.cmd

set ORACLE_SID=XE
set NLS_LANG=AMERICAN_AMERICA.CL8MSWIN1251
set ORACLE_BASE=C:\oraclexe\app\oracle
sqlplus /nolog @createXE.sql

createXE.sql

spool %ORACLE_BASE%\admin\XE\CreateXE.log;
connect sys/admin as sysdba;
startup nomount;
CREATE DATABASE XE
LOGFILE GROUP 1 SIZE 51200K,
GROUP 2 SIZE 51200K
MAXINSTANCES 8
MAXLOGHISTORY 1
MAXLOGFILES 16
MAXLOGMEMBERS 3
MAXDATAFILES 100
CHARACTER SET CL8MSWIN1251
NATIONAL CHARACTER SET AL16UTF16
DATAFILE 'c:\oraclexe\app\oracle\oradata\XE\system.dbf' SIZE 300M REUSE AUTOEXTEND ON NEXT 10240K MAXSIZE UNLIMITED
EXTENT MANAGEMENT LOCAL
SYSAUX DATAFILE 'c:\oraclexe\app\oracle\oradata\XE\sysaux.dbf' SIZE 120M REUSE AUTOEXTEND ON NEXT 10240K MAXSIZE UNLIMITED
SMALLFILE DEFAULT TEMPORARY TABLESPACE TEMP TEMPFILE 'c:\oraclexe\app\oracle\oradata\XE\temp.dbf' SIZE 20M REUSE AUTOEXTEND ON NEXT 640K MAXSIZE UNLIMITED
SMALLFILE UNDO TABLESPACE UNDOTBS1 DATAFILE 'c:\oraclexe\app\oracle\oradata\XE\undotbs1.dbf' SIZE 200M REUSE AUTOEXTEND ON NEXT 5120K MAXSIZE UNLIMITED;
CREATE SMALLFILE TABLESPACE USERS DATAFILE 'c:\oraclexe\app\oracle\oradata\XE\users.dbf' SIZE 300M REUSE AUTOEXTEND ON NEXT  1280K MAXSIZE UNLIMITED EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT  AUTO;
-- catalog
@%ORACLE_HOME%\rdbms\admin\catalog.sql;
@%ORACLE_HOME%\rdbms\admin\catblock.sql;
@%ORACLE_HOME%\rdbms\admin\catproc.sql;
@%ORACLE_HOME%\rdbms\admin\catoctk.sql;
connect system/manager
-- sqlplus profile
@%ORACLE_HOME%\sqlplus\admin\pupbld.sql;
@%ORACLE_HOME%\sqlplus\admin\help\hlpbld.sql helpus.sql;
connect sys/admin as sysdba;
-- xdb protocol
@%ORACLE_HOME%\rdbms\admin\catqm.sql change_on_install SYSAUX TEMP NO;
@%ORACLE_HOME%\rdbms\admin\catxdbj.sql;
@%ORACLE_HOME%\rdbms\admin\catrul.sql;
-- compiling invalid objects
@%ORACLE_HOME%\rdbms\admin\utlrp.sql;
spool off;
exit;
  1. 使用管理員權限從命令行運行createdXE.cmd

  2. 完成。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM