След като се борих с този проблем в продължение на почти седмица, намерих решение, как да направя XE база данни достъпна от този източник . На руски е, предоставям решението тук на английски.
-
Инсталирайте последната версия на Oracle XE 11gR2 от сайта на Oracle до местоположението по подразбиране
c:\oraclexe
с парола по подразбиране admin . Ако не е по подразбиране, тогава трябва да редактирате скриптовете по-долу (пътеки и pwd), преди да ги използвате. -
Стартирайте cmd команден ред с администраторски права и го използвайте до края на преконфигурирането. Първо, задайте променливи на средата за вашата DB:
set ORACLE_SID=XE set ORACLE_BASE=c:\oraclexe\app\oracle set ORACLE_HOME=c:\oraclexe\app\oracle\product\11.2.0\server
-
Изтрийте XE базата данни чрез команда:
oradim -delete -sid XE
-
Изтрийте
PWDXE.ORA file
:del %ORACLE_HOME%\database\PWDXE.ORA
-
Копирайте
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"
-
От предишнияcmd ред с администраторски права изпълнете командата за създаване на услуги на Oracle и файл
%ORACLE_HOME%\database\PWDXE.ORA
:oradim -new -sid %ORACLE_SID% -intpwd admin -startmode auto -srvcstart system
-
Изпълнете командите по-долу, за да спрете услугите на 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
-
Създайте два файла в една директория:
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;
-
Стартирайте createdXE.cmd от командния ред с администраторски права.
-
Готово.