安装Oracle比较麻烦,大部分新手都难在了这一步。通过docker安装可以快速帮我们搭建好以便学习。

一、获取镜像

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

二、查看镜像是否案件安装完成

docker images

三、创建并启动容器

默认启动方式

docker run -itd -p 1521:1521 --name oracle --restart=always registry.aliyuncs.com/helowin/oracle_11g

持久化启动方式

docker run  -itd -p 1521:1521 --name oracle --restart=always --mount source=oracle_vol,target=/home/oracle/app/oracle/oradata registry.aliyuncs.com/helowin/oracle_11g

参数说明:

-p 1521:1521 映射容器服务的 1521端口到宿主机的 1521端口,外部主机可以直接通过 宿主机ip:1521访问到 oracle11g 的服务。

–name: 创建容器名称根据自己取名

查看是否启动正常

docker ps 

status 为 up 表示正常启动

四、进入容器内部进行配置

docker exec -it oracle bash

切换到root用户

su root

密码:helowin

配置环境变量, 使用vi /etc/profile进行编辑, 末尾加上如下:

export ORACLE_HOME=/home/oracle/app/oracle/product/11.2.0/dbhome_2
export ORACLE_SID=helowin
export PATH=$ORACLEHOME/bin:PATH

保存后执行source /etc/profile 加载环境变量

创建软连接

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

五、sqlplus修改sys、system用户密码

#切换到oracle用户(别忘了中间的 横杠)

su - oracle
sqlplus /nolog   --登录
conn /as sysdba
alter user system identified by system ;--修改system用户账号密码;
alter user sys identified by sys ;--修改sys用户账号密码;

六、添加远程登录用户

create user test identified by test; -- 创建内部管理员账号密码;
grant connect,resource,dba to test; --将dba权限授权给内部管理员账号和密码;
ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED; --设置密码永不过期:
alter system set processes=1000 scope=spfile; --修改数据库最大连接数据;

conn /as sysdba;--保存数据库
shutdown immediate; --关闭数据库
startup; --启动数据库
show user;

PS:

其中一个坑说明:

当执行修改密码的时候出现 : database not open,提示数据库没有打开,不急按如下操作

输入:alter database open;

解决办法:

输入:alter database mount;

输入 :alter database open;