前沿:
最近公司在做Mysql 迁移到Oracle 数据库,所以需要预先搭建Oracle 数据库,以下是通过Docker安装的19c版本,方便快捷,供大家参考。
Docker安装Oracle19c
说明:可以使用oracle官方镜像,也可以自己制作oracle dockerfile镜像。
github地址:https://github.com/oracle/docker-images.git
查找镜像
docker search oracle19c
拉取 oracle19c
镜像 通过-e参数设置容器运行的时区参数
docker run -d --name oracle19c -p 1521:1521 -p 5500:5500 --privileged=true -it -v /opt/soft/db/oracle//var/opt/oracle/data -e TZ=Asia/Chongqing registry.cn-beijing.aliyuncs.com/zhouchaoyi/oracle19c:19.3
检查新生成的容器的时区
docker exec -it oracle19c date +"%Z %z"
CST+0800表示东8时区,正是设置的中国时区
进入容器设置密码
docker exec -it oracle19c /bin/bash
进入容器后有个 setPassword.sh
脚本
./setPassword.sh ytxcc123 # ytxcc123为设置密码,这里修改为自己的即可
依次执行如下命令进入oracle并设置 PDB
grep $ORACLE_HOME /etc/oratab | cut -d: -f1 export ORACLE_SID=ORCLCDB sqlplus / as sysdba
设置pdb
show pdbs; alter session set container=ORCLPDB1;
# 注:每次登录都要设置 ORACLE_SID 环境变量,可以将这个写到~/.bashrc文件里去 ,执行如下命令
host echo "export ORACLE_SID=ORCLCDB" >> ~/.bashrc
最后测试登录
sqlplus 用户名/密码@服务名 # ex: sqlplus SYSTEM/ytxcc123@ORCLPDB1
创建账户密码
create user newfs identified by 123456;
授权账户
GRANT CONNECT, RESOURCE, DBA TO newfs;grant create session to newfs;grant connect,resource to newfs;
create user enterprise identified by 123456; GRANT CONNECT, RESOURCE, DBA TO enterprise; grant create session to enterprise; grant connect,resource to enterprise;
查询所有账户
SELECT * FROM ALL_USERS;
使用客户端链接:
账号:newfs 密码:123456 端口:1521 服务名称:ORCLPDB1
使用客户端链接:
账号:enterprise 密码:123456 端口:1521 服务名称:ORCLPDB1