【Linux】centos7通過docker安裝oracle 11g

純淨的linux安裝過程

  1. 安裝docker
yum update

yum install -y yum-utils device-mapper-persistent-data lvm2

yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

yum list docker-ce --showduplicates | sort -r

yum install docker-ce-18.06.3.ce-3.el7
  1. 設置docker爲系統自動啓動
systemctl start docker
systemctl enable docker.service
  1. 查找安裝oracle鏡像
    1. 查詢可用的oracle鏡像
docker search oracle
    1. 選擇安裝oracle鏡像
docker pull jaspeen/oracle-11g
    1. 查看已安裝的鏡像
docker images
  1. 下載oracle安裝文件

官網下載

注意,windows的電腦或者虛機安裝11.2.0.1.0Linux x86-64版本,如果是服務器,安裝11.2.0.2.0zLinux64版本。

  1. 安裝zip、unzip
yum install zip unzip
  1. 解壓文件

注意,下載的兩個文件都需要解壓一下,windows上是會自動兩個解壓,但是linux不會

unzip linux.x64_11gR2_database_1of2.zip
unzip linux.x64_11gR2_database_2of2.zip
  1. 安裝JAVA
    1. 官網下載linux包
    1. ftp上傳linux服務器
    1. 創建安裝目錄
mkdir /usr/local/java/
    1. 解壓至安裝目錄
tar -zxvf jdk-8u101-linux-x64.tar.gz -C /usr/local/java/
    1. 打開文件
vim /etc/profile
    1. 在末尾添加
export JAVA_HOME=/usr/local/java/jdk1.8.0_101
export CLASSPATH=.:${JAVA_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH
    1. 使環境變量生效
source /etc/profile
    1. 檢查Java版本
java -version
  1. 安裝oracle
    運行命令,等待安裝完成
docker run --privileged --name oracle11g -p 1521:1521 -v /home:/install jaspeen/oracle-11g
  1. 查看docker狀態
[root@localhost ~]# docker ps -a
CONTAINER ID        IMAGE                COMMAND                  CREATED             STATUS              PORTS                              NAMES
c69bfc906f17        jaspeen/oracle-11g   "/assets/entrypoint.…"   2 hours ago         Up 2 hours          0.0.0.0:1521->1521/tcp, 8080/tcp   oracle11g

如上表示安裝成功,啓動正常,如果容器沒有啓動(如虛機重啓後),則用命令(xxx爲上面的CONTAINER_ID):

docker start xxx
  1. 進入容器
docker exec -it oracle11g /bin/bash
  1. 切換到oracle用戶,然後連接到sql控制檯
[root@c69bfc906f17 /]# su - oracle
Last login: Sun Nov  3 08:12:33 UTC 2019
[oracle@c69bfc906f17 ~]$ sqlplus / as sysdba

SQL*Plus: Release 11.2.0.1.0 Production on Sun Nov 3 10:19:23 2019

Copyright (c) 1982, 2009, Oracle.  All rights reserved.


Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options

SQL> 
  1. 解鎖SCOTT賬號
SQL> alter user scott account unlock;

User altered.

SQL> commit;

Commit complete.

SQL> conn scott/tiger
ERROR:
ORA-28001: the password has expired


Changing password for scott
New password: 
Retype new password: 
Password changed
Connected.
SQL> 

  1. 通過PL/SQL或者navicat就可以登錄oracle

IP:虛機的ip

賬號:SCOTT

密碼:解鎖SCOTT賬號時輸入的密碼

異常

  1. 安裝oracle異常
[root@localhost home]# docker run --privileged --name oracle11g -p 1521:1521 -v /home:/install jaspeen/oracle-11g
Database is not installed. Installing...
Installing Oracle Database 11g
/install/database/runInstaller: line 254: /install/database/install/.oui: cannot execute binary file

原因:oracle版本錯誤,應該安裝X86的11.2.0.1.0,但是安裝了IBM的11.2.0.2.0。重新下載版本即可

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章