首先我们需要安装docker,在此我们可以将docker理解为一个virtualbox
Oracle是运行在virtualbox上的,但是docker效率远远高于virtualbox!!
本教程以mac为例,win参考
1. docker安装教程请参考:Mac安装docker,win安装docker,安装成功docker之后,点击任务栏鲸鱼图标,
点开Kitematic(docker GUI管理工具,更加方便管理docker)下载
2.打开iTerm或者Terminal之后输入下面命令可以查看docker基本信息
docker info
3.使用下面命令来查询oracle的images(镜像)(这步可以忽略,因为我在这下面实在没找到好用的oracle_11g的images)
docker search oracle
4.docker pull命令可以把镜像下载到本地,在此我们把aliyun的oracle镜像pull下来
docker pull registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g
5.docker images命令可以查看本机已经有的镜像
docker images
6.接下来最重要的一步(创建containers,oracle运行在oracle中)
docker run -d -p 1521:1521 --name oracle registry.aliyuncs.com/helowin/oracle_11g //--name代表我们给containers的命名 最后面代表我们刚刚pull的images名称 注意区别images和containers概念 我们可以理解为images构成containers
-p : 是容器内部端口绑定到指定的主机端口
-d : 让容器在后台运行。
一定要使用-p命令映射端口,不然等会我们访问的只是宿主机的1521端口,而不是docker内部的1521端口
可以在run后面添加-v 宿主机绝对目录:/home/oracle 来使宿主机和docker内部oracle目录挂载
7.创建成功就可以启动containers(start后的oracle代表着我们刚刚run命令--name所起的名称)
docker start oracle
8.进入容器内部(此命令以root用户进入oracle的bash命令行界面)
docker exec -it -u root oracle bash
9.下面我们编辑oracle path变量来配置SID和PATH
//首先进入vi进入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
10.进行一下软件连接
ln -s $ORACLE_HOME/bin/sqlplus /usr/bin
11.切换到oracle用户
su - oracle
12.进入SQL命令行(/nolog表示无日志无登录进入 SQL命令行)
sqlplus /nolog
13.切换到sysdba用户下(sysdba是oracle最高权限用户)
conn /as sysdba
14.使用下面命令来更改sys和system用户的密码为oracle,并设置密码有效期永久
alter user system identified by oracle;
alter user sys identified by oracle;
ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;
15.接下来我们可以在SQL命令行内使用sql语句,或者使用Navicat和DataGrip来管理oracle数据库