Docker 安裝 oracle


1、下載 oracle image

docker pull registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g

   

2、安裝 oracle (這里沒有配置自動啟動容器 和 文件映射)

docker run -d –p 1521:1521 --name oracle11g registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g

   

3、啟動容器

docker start oracle11g

   

   

4、配置 oracle

docker exec -it oracle11g bash

   

   

5、切換oracle數據庫的root用戶下,密碼helowin

su root

   

6、修改profile的配置文件,打開profile文件,在末尾添加配置。

vi /etc/profile

export ORACLE_HOME=/home/oracle/app/oracle/product/11.2.0/dbhome_2

export ORACLE_SID=helowin

export PATH=$ORACLE_HOME/bin:$PATH

   

7、刷新文件

source /etc/profile

   

8、創建軟連接

ln -s $ORACLE_HOME/bin/sqlplus /usr/bin

   

9、切換oracle環境

su - oracle

   

10、登錄sqlplus,修改sys、system用戶密碼,創建用戶

//登錄

sqlplus /nolog

   

//連接

conn /as sysdba

   

//修改密碼

alter user system identified by system;

alter user sys identified by sys;

   

//創建用戶

create user dev identified by dev;

//並給用戶賦予權限

grant connect,resource,dba to dev;

   

11、使用navcat連接oracle , 注意 服務名/SID 選項,username && password 都是 dev

   

Ps:

可以簡單的這樣理解:一個公司比喻成一台服務器,數據庫是這個公司中的一個部門。

1.SID:一個數據庫可以有多個實例(如RAC),SID是用來標識這個數據庫內部每個實例的名字,

就好像一個部門里,每個人都有一個自己的名字。

2.SERVICE_NAME:是這個數據庫對外宣稱的名字,外面的人要想連接我這個數據庫,

你就在客戶端的連接串里寫上service_name。它就像一個部門的名字,這個部門的名稱在看門大爺(listener)那里有登記,

看門大爺一看你是要找SERVICE_NAME這個部門,就告訴你我們公司確實有這個部門,於是你就找到了,連接就建立了。

   

   

一句話來說就是:SID是對內的,是實例級別的一個名字,用來內部之間稱呼用。SERVICE_name是對外的,

是數據庫級別的一個名字,用來告訴外面的人,我數據庫叫"SERVICE_NAME"。

你可以通過service_name參數指定這個名字是什么,可以有多個名字,名字隨便起,叫狗蛋,翠花都沒關系。

如果你不指定,默認的是Db_name. Db_domain,也就是global_name。

數據庫里,還有ORACLE_SID,是告訴OS系統,我這個實例叫做什么。


免責聲明!

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



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