超详细的Docker安装Oracle数据库+Navicat远程连接教程
Docker安装Oracle数据库教程
1、拉取Oracal 11g的镜像(镜像略大,需等待拉取完成再进行下一步操作)
docker pull registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g
2、检查是否拉取成功
输入命令:docker images
3、创建容器(返回以下ID一般都是创建成功了,但是不一定就是百分百正常运行了,所以要查看以下是不是正常运行了)
docker run -d -p 1521:1521 --name oracle_11g(下图圈出来的便是容器名,自定义即可) registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g
4、查看容器是否运行(如下图所示即是成功运行)
docker ps
5、配置Oracle
① docker exec -it oracle_11g bash (docker exec :在运行的容器中执行命令)(-i :即使没有附加也保持STDIN 打开)(-t :分配一个伪终端)//切换到root用户,否则没权限操作② su root ③ 输入密码:helowin (新手朋友注意:Linux不显示明文密码,所以密码正常输入完回车键确认即可)
//配置Oracle环境变量④ vi /etc/profile (打开profile 文件, 光标移动到最后按i键开启Insert模式)
⑤ 贴入以下配置代码,按esc键,然后输入 :wq 保存退出export ORACLE_HOME=/home/oracle/app/oracle/product/11.2.0/dbhome_2 (此路径为oracle在容器内部的目录)export ORACLE_SID=helowinexport PATH=$ORACLE_HOME/bin:$PATH
⑥ 保存好记得生效以下profile的改动:source /etc/profile
⑦ 创建软链接ln -s $ORACLE_HOME/bin/sqlplus /usr/bin (ln -s 软链接 (ln -s 源文件 目标文件))
⑧ 切换回oracle用户:su - oracle (一定不要exit,也不要漏掉中间的 - 号,否则sqlplus报错)⑨ 登录Oracle数据库:sqlplus /nolog
⑩ 修改信息//操作系统认证(oracle在登录时,有三种身份认证方式:操作系统身份认证、密码文件认证、数据库认证。而conn /as sysdba是属于操作系统认证)conn /as sysdba //修改system用户账号密码alter user system identified by system;//修改sys用户账号密码alter user sys identified by system;//创建内部管理员账号密码create user test identified by test;//将dba权限授权给内部管理员账号和密码grant connect,resource,dba to test;//修改数据库最大连接数alter system set processes=1000 scope=spfile;
⑪ 修改完信息重启数据库//操作系统认证conn /as sysdba//关闭数据库shutdown immediate;//启动数据库startup;
⑫ 修改密码规则策略为密码永不过期:ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;⑬ 退出软链接 :exit
至此Oracle数据库已经安装完成!!!
请记住你的用户名和密码(system/system)或(自定义的用户名和密码),一会儿要用到!!!
6、Navicat远程连接
①下载安装Navicat Premium 15
http://www.navicat.com.cn/download/navicat-premium
②配置instance client
Options" />
-
找到Navicat根目录instanceclient文件夹中oci.dll文件
-
创建连接
-
填写连接信息
//用账户密码登录数据库sqlplus system/system//查询Oracle数据库服务名select global_name from global_name;
提要:记得放开服务器的1521端口,否则连不上(我是用的阿里云服务器,所以要去阿里云控制台配置好1521端口,大家各自按照自己的机器来比如:防火墙、白名单等自行设置)
- Connection Name:自定义名称即可
- Host:填你刚安装Oracle的机器IP
- Service Name:刚刚数据库查询出来的服务名
- User Name / Password:数据库的用户名/密码
- 测试连接成功
参考文档:https://blog.csdn.net/xgc0215/article/details/104134241