在linux安裝oracle測試,如果直接安裝在宿主機,不使用后刪除就會比較困難,所以采用docker的方式進行安裝。
環境和準備
Linux: Centos7.x
Docker: Docker version 20.10.7, build f0df350
Oralce: Oracle12 12.2.0.1
國內可以訪問的 sock5 代理(國內鏡像進行加速使用)
安裝
安裝docker環境,可以參考這邊文章。還需要配置一下docker 的socks5,這個鏡像需要登陸dockerhub 賬號
配置Docker socks5 proxy
安裝好docker后,進行下面的配置,配置好代理
#創建docker服務插件目錄
sudo mkdir -p /etc/systemd/system/docker.service.d
#創建一個名為http-proxy.conf的文件,并編輯
sudo vi /etc/systemd/system/docker.service.d/http-proxy.conf
#編輯內容如下
#如果socks5需要認證 "HTTP_PROXY=socks5://andy:123456@127.0.0.1:1080/",可以這么配置
[Service]
Environment="HTTP_PROXY=socks5://代理ip:代理端口/"
#重新加載服務程序的配置文件
sudo systemctl daemon-reload
#重啟docker
sudo systemctl restart docker
配置docker-compose 文件
先創建數據映射的本地目錄,否則數據庫重啟后會丟失
#創建目錄,并賦權
mkdir /opt/oracle/data && chmod 777 /opt/oracle/data
#創建,編輯 docker-compose.yml 文件
vi /opt/oracle/docker-compose.yml
#添加如下內容
version: '2'
services:
oracle:
image: store/oracle/database-enterprise:12.2.0.1
container_name: oracle12
privileged: true
restart: always
ports:
- "1521:1521"
- "8080:8080"
volumes:
- ./data:/opt/oracle/oradata
- /etc/localtime:/etc/localtime:ro
# 上面的端口映射可以根據自己需求更改,更多的參數可以查詢
啟動
首先需要登陸,先登陸 Dockerhub,然后搜索 Oracle Database Enterprise Edition
,點擊右側的Proceed to Checkout
,輸入一下信息(不需要完全真實),之后就能在右側看到 docker pull store/oracle/database-enterprise:12.2.0.1
,這樣就可以了,更多的配置說明也在這個頁面上
在服務器上輸入
docker login
Login with your Docker ID to push and pull images from Docker Hub. If you don't have a Docker ID, head over to https://hub.docker.com to create one.
Username:
Password:
# 分別輸入賬號和密碼,出現下面的,就說明登陸成功了
Login Succeeded
#啟動
docker-compose up -d
#查詢鏡像id
docker ps
#查看啟動日志
docker logs -f image_id
安裝需要一些時間,具體要看服務器配置。
安裝好了以后就可以進行登陸
oracle管理員
host:x.x.x.x
username:system
password:Oradoc_db1
port:1521
SID:ORCLCDB
通過上面的信息進行連接
后記
Oracle12 引入了CDB和PDB 的概念,有時候需要創建c## 開頭的用戶, 直接創建會報錯失敗,一般創建需要分別在CDB 和 PDB 分別 創建庫
create tablespace test1 datafile '/opt/oracle/oradata/cdb/test1.dbf' size 512M autoextend on next 64m maxsize unlimited;
ALTER SESSION SET CONTAINER = ORCLPDB1;
create tablespace test2 datafile '/opt/oracle/oradata/pdb/test2.dbf' size 512M autoextend on next 64m maxsize unlimited;
alter session set container=CDB$ROOT;
#再進行用戶創建
簡單記錄一下Docker 安裝 oracle 的安裝和使用中遇到的小問題。