Docker 安装 ORACLE 11g (MAC 版)

导读
因职能需求,要安装个ORACLE,但是我上网搜索发现MAC上不能安装ORACLE。但是有大量文章都是采用Docker安装的,所以本人也采用了,下面有几个注意点,一定要避免!!!!

一、安装Docker

去官网下载https://www.docker.com/ 安装过程不用细说了吧,只能说有手就行。

使用docker安装grafana 使用docker安装oracle_数据库


差不多长这个样子,当然一开始里面是空空的。

二、开始安装ORACLE

1、在终端中输入

docker info

可以查看 docker 相关信息

使用docker安装grafana 使用docker安装oracle_SQL_02


关于Docker 源的我这里插播一下,点开Docker小图标中的Preferences

使用docker安装grafana 使用docker安装oracle_SQL_03


然后这可以和我一样设置对以后有用(本文没用)

使用docker安装grafana 使用docker安装oracle_SQL_04


2、输入 docker images

查看docker 中的镜像文件(忽略我的镜像)

使用docker安装grafana 使用docker安装oracle_SQL_05


3、拉取ORACLE11g的镜像文件

docker pull registry.aliyuncs.com/helowin/oracle_11g

使用docker安装grafana 使用docker安装oracle_docker_06


下载完如果不放心可以使用docker images 查看

4、创建容器信息并命名

docker run -d -p 1521:1521 --name oracle registry.aliyuncs.com/helowin/oracle_11g

-d 后台运行
-p 端口 关于映射这里不细说
上诉代码 创建的容器名为 oracle
5、然后开始启动数据库

docker  start oracle

6、进容器

docker exec -it oracle bash

使用docker安装grafana 使用docker安装oracle_docker_07


7、切换到root 默认密码是helowin

使用docker安装grafana 使用docker安装oracle_oracle_08


8、编辑 环境变量 输入vi /etc/profile

输入完vi /etc/profile 可以直接加个:$ 到行尾,也可以手动向下拉 然后再按 i 就可以插入了 (针对新手,不懂vi 编辑命令的人)

//在文件末尾添加
export ORACLE_HOME=/home/oracle/app/oracle/product/11.2.0/dbhome_2

export ORACLE_SID=helowin 

export PATH=$ORACLE_HOME/bin:$PATH

复制完 按(ESC) 然后接:wq (针对新手,不懂vi 编辑命令的人)

然后便是很重要的一个步骤 source环境变量

source   /etc/profile

9、建立软连接 就可以使用sqlplus 命令了

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

10、进ORACLE
先切换用户

su oracle

使用docker安装grafana 使用docker安装oracle_SQL_09

使用docker安装grafana 使用docker安装oracle_使用docker安装grafana_10


切换用户后 有可能不能使用sqlplus 命令 ,可以先source 下

sqlplus /nolog 字面意思就是无日志登入

sysdba 是ORACLE 权限最高的用户

11、修改sys 和 system 的密码

alter user system identified by oracle;

alter user sys identified by oracle;

ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;

这里的sys和system 密码都为oracle

如果创建新用户,一定要给远程连接的权限 (不然连不进)

12、测试连接

使用docker安装grafana 使用docker安装oracle_数据库_11


使用docker安装grafana 使用docker安装oracle_SQL_12

三、补充知识

docker info 查看docker 配置的相关信息
下面的SQL 不是单单SQL 指的是你当初命名的名字 例如本文中的oracle
docker start SQL 启动SQL 数据库
docker stop SQL 关闭SQL 数据库

docker ps 用来查看正在运行的container 而对于已经退出的container ,则可以用 docker ps -a

如果你退出了一个container 而忘记保存其中的数据,可以先用命令 docker ps-a 来找到你刚刚运行过的 container ,然后使用docker commit 命令将其保存为image 然后运行

进入容器内部

docker exec -it -u root oracle bash (此命令以root用户进入oracle的bash命令行界面)

docker exec -it ID bash /bin /bash ( id 就是使用docker ps 查询的ID)

之后输入 sqlplus /nolog 便可以进oracle了