ORACLE 19c via Docker on Mac安装教程客户端配置连接Navicat GUI
目录
PART I:安装ORACLE
1.软件安装
2.构建docker镜像
3.构建该镜像的容器
4.设置密码
5.运行数据库
6.进入SQLPLUS
7.可能出现的错误集合
PART II:客户端配置
PART III:连接Navicat GUI
PART I:安装ORACLE
1.软件安装
docker
oracle安装介质(https://www.oracle.com/database/technologies/oracle-database-software-downloads.html)
- 我选择的是 Linux x86-64 ZIP文件
oracle的docker image
- 打开terminal进入你想下载到的目录
- 依次输入指令
$ mkdir ~/oracle$ cd ~/oracle$ git clone https://github.com/oracle/docker-images.git
- 将前一步下载的zip文件移动到相同目录下的对应版本文件夹
$ cp LINUX.X64_193000_db_home.zip ~/oracle/docker-images/OracleDatabase/SingleInstance/dockerfiles/19.3.0/
2.构建docker镜像
$ cd ~/oracle/docker-images/OracleDatabase/SingleInstance/dockerfiles$ ./buildDockerImage.sh -v 19.3.0 -e
完成上述指令后,可以查看已有镜像(同时还自动构建了Oracle Linux7的镜像)
$ docker image ls
<附上>docker image的官方完整运行指南
- https://github.com/oracle/docker-images/blob/master/OracleDatabase/SingleInstance/README.md
- 或访问本地README文件(注意指令执行的位置)
$ vi docker-images/OracleDatabase/SingleInstance/README.md
3.构建该镜像的容器
1)首先创建一个本地文件夹存储oracle的数据文件
$ mkdir -p ~/oracle/oradata/oracle19c
2)在构建容器的时候,系统会自动创建新的数据库,我们使用-v参数来将刚刚创建的目录映射到容器内的数据文件目录中,使这些数据文件存储在本地
- 官方给的运行格式
docker run --name oracle19c \ //oracle19c是你要给你数据库取的名字,之后可以直接用这个启动,而不用每次查id-p 1521:1521 \ //端口-p 5500:5500 \-v /Users/Kamus/oracle/oradata/oracle19c:/opt/oracle/oradata \ //映射数据文件到本地oracle/database:19.3.0-ee //image名称,用image ID也可以(我这里是上图中的c7a5abc178af)
- 举例
$ docker run --name oracle19c -p 1521:1521 -p 5500:5500 -v /Users/wyn/oracle/oradata/oracle19c:/opt/oracle/oradata oracle/database:19.3.0-ee
3)然后会运行很长时间,慢慢等…..30 minutes later…..
4)完成以后,不会跳回命令行输入界面,而是停留在log文件,看到以下内容就说明创建完成了
######################### DATABASE IS READY TO USE! #########################
5)可以检查容器已经在正常运行
$ docker ps | grep oracle
4.设置密码
在界面上出现的log内容里,第一行可以看到随机分配的账号初始密码
ORACLE PASSWORD FOR SYS, SYSTEM AND PDBADMIN: sSNc5GFeSAg=1
我们也可以直接运行.setPassword.sh修改密码
$ docker exec oracle19c ./setPassword.sh oracle
5.运行数据库
然后就可以开始运行我们的数据库了!!!
- 进入root用户模式(部分操作只能在root用户下进行)
$ docker exec -it --user root oracle19c /bin/bash
—————— 这里附上linux 命令终端提示符显示-bash-4.2#而不是root@主机名 + 路径的解决方法 ————————
问题出现的原因是root在/root下面的几个配置文件丢失,丢失文件如下:
1、.bash_profile
2、.bashrc
以上这些文件是每个用户都必备的文件。
使用以下命令从主默认文件重新拷贝一份配置信息到/root目录下
$ cp /etc/skel/.bash_profile /root/ $ cp /etc/skel/.bashrc /root/
- 进入普通用户模式
$ docker exec -it oracle19c /bin/bash
6.进入SQLPLUS
接着就可以进入sqplus执行SQL语句啦
$ sqlplus system/oracle@localhost:1521/ORCLCDB
sqlplus: 执行指令
system: 登录用户名(初始还有SYS, PDBADMIN共三个账号)
oracle: 登录密码(刚第四步中设置的)
localhost: oracle的服务器所在的IP地址
1521: 端口号
ORCLCDB: SID/SNAME
7.可能出现的错误集合
1)不知道是不是我自己安装的问题,刚进来跑sqlplus会报错
ERROR:ORA-12162: TNS:net service name is incorrectly specified
这个错误出现的原因是部分变量没有指定值,可以有两种方式解决
⚠️ 注意:首先要查清楚自己系统的对应值是什么,不能乱改
在第一次运行容器的时候,出现初始密码那里,后面接着就会显示你的GLOBAL_DBNAME和ORACLE_HOME,SID等
把当时的值复制过来就可以,我这里只缺了SID,所以我补上了SID
- 直接export赋值,这个操作只改变当前session的值,下次进入又会复原
ERROR:ORA-12162: TNS:net service name is incorrectly specified[oracle@oraclehost ~]$ echo $ORACLE_HOME/opt/oracle/product/19c/dbhome_1[oracle@oraclehost ~]$ echo $ORACLE_SID[oracle@oraclehost ~]$ export ORACLE_SID=ORCLCDB [oracle@oraclehost ~]$ echo $ORACLE_SIDORCLCDB
- 修改配置文件~/.bash_profile
ERROR:ORA-12162: TNS:net service name is incorrectly specified[oracle@d90999e88f74 ~]$ vi ~/.bash_profile
初始安装时,VM内没有vi指令,此处安装的胃centOS下的Oracle,需要使用yum指令安装
$ yum install vi
—————————以下为.bash_profile内容—————————————
———————————————————————————————————————————
[oracle@d90999e88f74 ~]$ source ~/.bash_profile
(但是不知道为什么,我的电脑这样跑了下次再进来还是会被复原。。。TAT)
UPDATE:写到~/.bashrc文件中再source一下就可以了,之后也不会再复原
2)
ORA-01078: failure in processing system parametersLRM-00109: could not open parameter file '/opt/oracle/product/19c/dbhome_1/dbs/initorcl.ora'$ cp /opt/oracle/admin/ORCLCDB/pfile/init.ora /opt/oracle/product/19c/dbhome_1/dbs/initorcl.ora
3)
ORA-01034: ORACLE not availableORA-27101: shared memory realm does not exist$ sqlplus /nologSQL> connect / as sysdbaSQL> startup
4)另外遇到有报错需要修改listener.ora等配置文件的话,配置完成后需要重启服务
$ lsnrctl stop //停止服务 $ lsnrctl start //开启服务$ lsnrctl status //查询服务状态
PART II:客户端配置
1.刚刚docker上安装的是oracle的服务器端,现在来在本机上配置客户端
2.首先下载oracle的instant client基础包和sqlplus拓展包(这里需要登录oracle账号才能下载哟~)
https://www.oracle.com/database/technologies/instant-client/macos-intel-x86-downloads.html
- 基础包:
- sqlplus:
——————— 前面的下载链接最下方也有官方的下述配置教程———————
3.下载完成后把这两个压缩包都移动到你要放置的路径(先不用解压)
4.打开Terminal进入到该路径下
$ sudo cd /opt/oracle$ unzip instantclient-basic-macos.x64-19.3.0.0.0dbru.zip$ unzip instantclient-sqlplus-macos.x64-19.3.0.0.0dbru.zip
(或者直接$ sudo unzip instantclient-\*.zip 同时解压两个压缩包)
5.给这些文件创建引用路径,不然使用的时候软件会找不到
$ mkdir ~/lib$ ln -s ~/opt/oracle/instantclient_19_3/libclntsh.dylib ~/lib/
6.配置环境变量
$ vi ~/.bash_profile
//在.bash_profile文件内加上以下内容(⚠️ 注意根据自己的服务器设置各变量值)
export ORACLE_HOME=/opt/oracle/instantclient_19_3export ORACLE_SID=ORCLCDBexport DYLD_LIBRARY_PATH=$ORACLE_HOMEexport LD_LIBRARY_PATH=$ORACLE_HOMEexport NLS_LANG=AMERICAN_AMERICA.UTF8export TNS_ADMIN=$ORACLE_HOME/network/adminexport PATH=$PATH:$ORACLE_HOME
7.生成环境变量
$ source ~/.bash_profile
8.现在就可以从本地终端执行sqlplus了
PART III:连接Navicat GUI
1.安装Navicat : http://www.navicat.com.cn/products#navicat
2.打开Navicat新建一个Oracle的数据库连接
2.根据之前的服务器配置修改客户端连接配置
3.测试连接
4.然后oracle就出现在你的连接列表里啦
5.双击一下建立连接
6.ALL SET!✅
【参考】
- https://www.oracle.com/database/technologies/instant-client/macos-intel-x86-downloads.html
- https://www.jianshu.com/p/527a14f29967
- https://www.dbform.com/2019/05/06/how-to-build-and-run-oracle-database-19c-on-docker/
- https://juejin.im/entry/58fb250044d9040069dcecad
ORACLE 19c via Docker on Mac安装教程客户端配置连接Navicat GUI相关推荐
- photoshop 2021 for mac安装教程,亲测可用!!!
小编分享下photoshop cc 2021 for mac 安装教程,让大家完美使用ps2021,畅享所有新功能Adobe Photoshop2021(简称PS) 新版本主要增加了Neural Fi ...
- Masm for MAC安装教程+实例分析
Masm for MAC安装教程+实例分析 Masm for MAC安装教程+实例分析 起因 安装教程 环境下载 安装和配置 操作以及使用 每次打开DOSBox需要挂载Masm 挂载完毕之后,可以写你 ...
- nuke12安装不了?nuke12 mac 安装教程 nuke12安装步骤教程分享
NUKE 12 for Mac是一款运行在Mac平台上的影视后期特效合成软件,nuke 12 for Mac版拥有节点工具.深层图像合成工具.3D相机跟踪器.多轨编辑时间表等强大的功能,另外还支持回放 ...
- Axure for mac安装教程(版本8.1.0.3382)
Axure for mac安装教程(版本8.1.0.3382) 第一步--下载安装包 官网下载安装包:https://www.axure.com/download 第二步--安装 如图双击刚下下来的A ...
- Mac安装NUKE 12 for Mac安装教程(支持big sur)
NUKE 12 for Mac是一款运行在Mac平台上的影视后期特效合成软件,nuke 12 for Mac 破解版拥有节点工具.深层图像合成工具.3D相机跟踪器.多轨编辑时间表等强大的功能,另外还支 ...
- 【Mac】mac安装redis客户端 Error: Cask ‘rdm‘ is unavailable: No Cask with this name exist
1.概述 mac安装redis客户端 rdm,报错如下 [lcc@lcc ~]$ brew cask install rdm Updating Homebrew... Error: Cask 'rdm ...
- redis和zookeeper安装教程并配置开机自启
redis和zookeeper安装教程并配置开机自启 redis安装并且配置开机自启 1.windows环境下的redis需要去github上获取: https://github.com/Micros ...
- Oracle11g安装教程、配置实例、监听、客户端程序详解_Windows篇
Oracle11g安装教程.配置实例.监听.客户端程序详解_Windows篇 文章目录 Oracle11g安装教程.配置实例.监听.客户端程序详解_Windows篇 前言 一.数据库的安装前准备,前提 ...
- QT5安装教程+VS2019配置
QT安装教程+VS配置 最近参加了学校联合校外公司一起搞的一个项目,使用到了QT 这里分享一下自己踩过的一些坑和QT的基本安装教程 前言 其实总的来说使用QT来做界面开发还是很不错的 ui界面很友好, ...
最新文章
- Python搭建Keras CNN模型破解网站验证码
- Servlet-forward转发
- mysql中的表连接知识点_Mysql知识点总结
- SQL优化万能公式:5 大步骤 + 10 个案例
- jQuery幻灯片skitter-slider插件学习总结
- 成功解决 This graphics driver could not find compatible graphics hardware. You maycontinue installation,
- 【python数据挖掘课程】十八.线性回归及多项式回归分析四个案例分享
- lucene 索引中文档的属性建立与不建立带来的影响总结
- 速达软件开发版使用技巧-每页固定行样式报表设计
- 内存泄露检测之ccmalloc
- 每天一个linux命令cd,Linux指令每日背诵(第一天)
- android 扫描照片功能,巧把安卓手机打造成扫描仪:拍照识别文档、手写笔记转PDF(图)...
- 华为手机碎屏后如何导出数据_手机屏幕坏了怎么把数据导出来
- 【菜鸟练习】软件测试等价类划分方法测试用例的编写。
- 人脸对齐:Procrustes analysis 普氏分析
- arcgis api 4.X 比例尺的添加
- 废旧闲置的笔记本除了电脑回收,这两招也很实用!
- 蓝牙软件测试指标,蓝牙测试简介
- 计算机桌面图标不见了6,桌面图标不见了怎么办 如何找回桌面图标【解决方法】...
- python解压缩-[rar]、[zip]