前言
近期工作需要,数据库换成了oracle,而我自己没有私有化的oracle数据库,为了之后工作的方便,决定私人部署一个oracle数据库。
为了方便,还是使用的docker方式部署在nas上面了,看了看docker hub,oracle的镜像全部是6年前的,我这边直接选择了第一个镜像truevoly/oracle-12c
好了,下面正式开始
安装部署
我这边直接使用docker命令下载并启动镜像,下面是命令:
# docker命令
docker run -d -p 1521:1521 --name oracle truevoly/oracle-12c
# 验证是否启动
配置
为了使用自带的SqlPlus
,需要添加一下环境变量,有两种办法,
-
进入docker容器内部,直接修改文件
-
将文件从docker容器中复制出来,修改后,在拷贝进去
docker内修改文件
进入docker容器内部才行,下面是进入的命令:
docker exec -it 773382d440e8 /bin/bash
注意,代码中的
773382d440e8
是容器ID,需要改成自己的
进入之后通过vim
编辑/etc/profile
文件
vi /etc/profile
在文件的末尾添加三行:
export ORACLE_HOME=/home/oracle/app/oracle/product/11.2.0/dbhome_2
export ORACLE_SID=huangge1199
export PATH=$ORACLE_HOME/bin:$PATH
复制docker容器
从docker容器中拷贝文件到当前目录:
docker cp 773382d440e8:/etc/profile .
注意,代码中的
773382d440e8
是容器ID,需要改成自己的
本地修改文件
从本地将文件拷贝回docker容器:
docker cp profile 773382d440e8:/etc/profile
注意,代码中的
773382d440e8
是容器ID,需要改成自己的
修改管理密码
上一步已经配置好了,现在就可以使用自带的SqlPlus
了。
首先先进入docker容器:
docker exec -it 773382d440e8 /bin/bash
切换用户:
su oracle
进入`SQL*Plus``:
$ORACLE_HOME/bin/sqlplus / as sysdba
修改system和sys的密码:
ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;
alter user SYSTEM account unlock;
alter user system identified by huangge1199;
alter user sys identified by huangge1199;
DataGrip测试连接
DG连接需要一个SID
,接着在上一步的SQL里面查询下:
select name from v$database;
接下来就是DG的连接设置了: