1. 程式人生 > >docker中的oracle-11g-安裝配置

docker中的oracle-11g-安裝配置

裝配 dbf mar temp use dba docker create raw

docker鏡像:wnameless/oracle-xe-11g

啟動鏡像的命令:

docker run -d -v /data/oracle_data:/data/oracle_data -p 11522:22 -p 11521:1521 -e ORACLE_ALLOW_REMOTE=true --name oracle-11g wnameless/oracle-xe-11g

進入鏡像命令:

docker exec -it oracle-11g /bin/bash

1. 執行sqlplus命令,使用如下配置登錄:

hostname: localhost

port: 49161

sid: xe

username: system

password: oracle

2. 創建表空間和用戶:

2.1--創建表空間
CREATE TABLESPACE sunlight_space
DATAFILE ‘/data/oracle_data/sunlight_space.dbf‘ size 500M
AUTOEXTEND ON
NEXT 200M MAXSIZE 20480M
EXTENT MANAGEMENT LOCAL;

2.2--創建臨時表空間

CREATE TEMPORARY TABLESPACE sunlight_tmp
TEMPFILE ‘/data/oracle_data/sunlight_tmp.dbf‘

SIZE 200M
AUTOEXTEND ON
NEXT 50M MAXSIZE 20480M
EXTENT MANAGEMENT LOCAL;

2.3 --創建用戶並指定表空間(可選,參考)
CREATE USER sunlightopt IDENTIFIED BY 123456 DEFAULT TABLESPACE sunlight;

2.4 ----創建用戶並指定表空間和臨時表空間
CREATE USER sunlightopt IDENTIFIED BY 123456
DEFAULT TABLESPACE sunlight
TEMPORARY TABLESPACE sunlight_tmp;

2.5 --授權用戶

GRANT CREATE USER,DROP USER,ALTER USER ,CREATE ANY VIEW ,
DROP ANY VIEW,EXP_FULL_DATABASE,IMP_FULL_DATABASE,
DBA,CONNECT,RESOURCE,CREATE SESSION TO sunlight;

其他,請參考:
https://blog.csdn.net/cai7095576/article/details/18898717


3. 首先查看服務端oracle監聽配置:

進入容器,執行命令:

lsnrctl status

結果:

LSNRCTL for Linux: Version 11.2.0.2.0 - Production on 19-AUG-2018 04:18:43

Copyright (c) 1991, 2011, Oracle. All rights reserved.

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC_FOR_XE)))
STATUS of the LISTENER
------------------------
Alias LISTENER
Version TNSLSNR for Linux: Version 11.2.0.2.0 - Production
Start Date 18-AUG-2018 06:05:39
Uptime 0 days 22 hr. 13 min. 5 sec
Trace Level off
Security ON: Local OS Authentication
SNMP OFF
Default Service XE
Listener Parameter File /u01/app/oracle/product/11.2.0/xe/network/admin/listener.ora
Listener Log File /u01/app/oracle/diag/tnslsnr/11a8a9a5a280/listener/alert/log.xml
Listening Endpoints Summary...
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC_FOR_XE)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=11a8a9a5a280)(PORT=1521)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=11a8a9a5a280)(PORT=8080))(Presentation=HTTP)(Session=RAW))
Services Summary...
Service "PLSExtProc" has 1 instance(s).
Instance "PLSExtProc", status UNKNOWN, has 1 handler(s) for this service...
Service "XE" has 1 instance(s).
Instance "XE", status READY, has 1 handler(s) for this service...
Service "XEXDB" has 1 instance(s).
Instance "XE", status READY, has 1 handler(s) for this service...
The command completed successfully

4. 進入目錄:/u01/app/oracle/product/11.2.0/xe/network/admin

查看文件內容:

cat tnsnames.ora


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

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

XE就是連接名稱;

5. 客戶端設置:

5.1 下載鏈接oracle客戶端,地址:

http://www.oracle.com/technetwork/cn/database/features/instant-client/index-092699-zhs.html

一般選擇 適用於 Microsoft Windows (x64) 的 Instant Client

解壓到C:\instantclient_12_2

在以上目錄中,創建遞歸目錄:

C:\instantclient_12_2\NETWORK\ADMIN

在以上目錄中,創建文件:tnsnames.ora

內容如下:

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

在我的電腦-高級系統設置中創建環境變量:

變量名:NLS_LANG

變量值:AMERICAN_AMERICA.AL32UTF8

變量名:TNS_ADMIN

變量值:C:\instantclient_12_2\NETWORK\ADMIN

5.2 安裝pl/sql developer 11

啟動後:

技術分享圖片

docker中的oracle-11g-安裝配置