在MAC上使用docker安装部署oracle数据库,并用Navicat进行连接(步骤)
在对比分布式数据库之前,先学会使用oracle数据库的部署和使用(linux)
由于oracle数据库本身主要是在linux上使用,使用需要linux虚拟机,而docker容器也可以充当这一角色,docker详细介绍
因此后续使用oracle数据库需要打开docker,并用navicat连接后使用(可以不用数据库语言)
整体步骤:
1 下载注册和登录docker(容器);
2 使用docker命令下载oracle数据库(无客户端);
3 用docker命令打开登录数据库;
4 使用navicat连接数据库
1.Docker安装和注册登录
安装后如果打开app登录,在使用终端时不需再登录,如果安装后不打开,需要先在终端输入:
docker login
在结果中输入刚才注册的用户名和密码
如不登录,接下来会出现 Error response from daemon: pull access denied for alexeiled/docker-oracle-xe-11g, repository does not exist or may require ‘docker login’ 的错误提示。
2.在Docker中安装oracle 11g并使用
2.1 终端输入以下代码安装oracle 11g:
docker pull deadok22/docker-oracle-xe-11g
pull是docker镜像安装指令,后面跟的是下载的东西和其版本,输完后等安装
2.2 下载完成后,启动oracle镜像作为容器:
在下列命令中,我们给指定容器命名为oracle,之后打开和终止数据库都以oracle打开
docker run -h "oracle" --name "oracle" -d -p 49160:22 -p 49161:1521 -p 49162:8080 deadok22/docker-oracle-xe-11g
注:
- -h “mars”:指定容器的hostname
- -p:指定端口映射,格式为:主机(宿主)端口:容器端口(上述命令指定了三个映射)
- -d:后台运行容器,并返回容器ID
- 在上述步骤中,docker默认为相应容器分配了一个主机ID,z这个ID后期会作为连接oracle数据库的参数之一,可通过docker ps查看
- –name=“name”:为容器指定一个名称
2.3 在docker中登入oracle
现在已经创建了容器oracle,容器id为786fe9dec0e7,基本信息为:
1)进入容器
先确保已经登录容器
登录容器:
docker start 容器名
进入容器:
docker exec -it 786fe9dec0e7 /bin/bash
这里786fe9dec0e7为容器id,改成oracle也能登入
2)在容器中登入oracle
sqlplus system/oracle
system和oracle分别是默认oracle的用户名和密码,后续可以修改
oracle基本语句:创建表举例
2.4 后续使用
在进入oracle后,就可以用oracle语句使用数据库了,使用完成记得用exit退出oracle和容器,最后用docker stop oracle终止oracle,否则单退出不会停止oracle,还会继续占用内存
后续打开就是按照之前的步骤,
3.使用Navicat连接oracle
首先安装Navicat,安装后选择连接-oracle后弹出以下界面
连接navicat和oracle需要几个必要参数,要根据上述内容填写
1)连接名:自己起,数据名称
2)连接类型:基本
3)主机:docker默认为容器分配了一个主机ID,由四个三位的数字组成,使用docker ps命令查看,位于PORTS(端口) 那一栏
4)端口:主机(宿主)端口,这部分可以自定数字,但是有一定规则
5)服务名:基本都是XE作为SID,实例名/服务名介绍,服务名目前尚不知如何连接,可以进入数据路用数据库语言select instance_name from v$instance;查询SID
6)用户名密码默认为system/oracle