# 拉取阿里oracle_11g的镜像
docker pull registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g
# 创建容器并启动
docker run -d -p 1521:1521 --name oracle11g registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g
# 进入容器内配置(以root用户进入)
docker exec -it -u root oracle11g bash
# 修改oracle环境变量
vi /etc/profile
编辑追加下面3行
export ORACLE_HOME=/home/oracle/app/oracle/product/11.2.0/dbhome_2
export ORACLE_SID=helowin
export PATH=$ORACLE_HOME/bin:$PATH
保存编辑 esc shift+q wq 回车
修改profile后使它立即生效的命令
source /etc/profile 或 . /etc/profile
# 创建软链
ln -s $ORACLE_HOME/bin/sqlplus /usr/bin
# 切回oracle用户并修改sys、system用户密码
sqlplus / as sysdba(约等于sqlplus /nolog + conn /as sysdba)
alter user system identified by system;
alter user sys identified by sys;
// 创建用户
create user testUsr identified by 123;
// 并给用户赋予权限
grant connect,resource,dba to testUsr;
若出现database not open, 进入SQL命令行去 alter database mount;alter database open;
刷新刚才改密码操作
ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED
可以去其他服务器使用telnet验证
telnet oracle所在宿主机ip 1521
---- 至此已经部署完了,看plsql配置 ----
数据库状态的指令: 在sql命令行下 startup、 shutdown指令
监控状态: oracle用户下 lsnrctl status
一图流:
TODO
注:连接一、二里docker部署的oracle
plsql的工具->首选项->连接,里配置主目录和oci库
oracle主目录:
D:\****\instantclient_12_2
oci库:
D:\****\instantclient_12_2\oci.dll
在instant_client的目录里找network\admin\tnsnames.ora(没有就自己创建)
D:\software\instantclient_12_2\network\admin
docker_oracle =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = oracle容器ip)(PORT =1521))
)
(CONNECT_DATA =
(SERVICE_NAME = helowinXDB)
)
)
service_name对应oracle容器里的服务名,可以在进入容器内oracle用户下lsnrctl status选一个
1. 启动容器时出现WARNING: IPv4 forwarding is disabled. Networking will not work.
答案:https://blog.csdn.net/cljdsc/article/details/115207336
2. 不是叫你修改oracle容器里的tnsnames.ora和listener.ora。
看了些资料修改了导致无法连接
参考资料:
Docker 拉取 oracle 11g镜像配置_荡漾-的博客-CSDN博客_docker 访问oracle
docker警告:WARNING: IPv4 forwarding is disabled. Networking will not work._杰哥的技术杂货铺的博客-CSDN博客