实战在windows局域网下可以进行连接,并执行sql语句:

执行结果

具体的步骤如下:

1、在centos7下安装docker

[root@localhost /]# yum install docker

2、启动docker

[root@localhost /]# systemctl start docker.service

3、查找docker镜像

可以在dockerhub中查找oracle12c的镜像,一般访问dockerhub出现无法连接的时候可以多刷新浏览器试一下。

也可以使用docker search oracle的命令搜索镜像

docker hub镜像

docker search命令

4、下载docker镜像

这次安装使用的是sath89/oracle-12c镜像,获取命令如下:

[root@localhost data_temp]# docker pull docker.io/sath89/oracle-12c

等待下载完成之后可以使用docker images查看镜像是否安装成功。

5、运行docker镜像

1)镜像下载完成后,创建容器:

mkdir /usr/local/data_temp

chmod 777 /usr/local/data_temp

创建一个文件目录,用于挂载到容器内,做oracle数据备份时数据存放的位置,保证备份数据不丢失。

docker run -d --name oracle12c -p 1521:1521 -v /usr/local/data_temp:/home/oracle/data_temp sath89/oracle-12c

其中,oracle12c是名称,-p是端口映射,-v是将宿主机的/usr/local/data_temp 目录映射到容器内的 /home/oracle/data_temp内。

2)进入容器,

docker ps            ## 查看容器的id号,复制一下

docker exec -it xxxxxxxx /bin/bash              ## xxxxxxx就是上一部查看的id号

3) 查看oracle状态,修改system用户密码。

source ~/.bash_profile                          ## 加载一下用户环境变量,进入容器后,自动是oracle用户

sqlplus /nolog                                  ## 使用sqlplus 工具,进去命令行

SQL> connect /as system                         ## 使用system 连接oracle,密码oracle

SQL> select status from v$instance;            ## 查看oracle现在的状态 ,状态为 OPEN 则正常,表示已开启状态。

SQL> alter user system identified by oracle;    ## 修改用户 system 的密码为 oracle ,可以自定义

4). 然后就是创建表空间,创建用户,并授权。

创建表空间核用户,这个可以使用工具连接到oracle数据库上进行创建,也可以手动命令行进行创建。注意依然是在sysdba权限下操作,命令如下:

SQL> select name from v$tempfile;    ## 查询临时表空间的路径

查询临时表空间

## 下面这句,创建表空间,名:test ,数据文件路径复制临时表空间数据文件路径然后改一下文件名就行了,大小:1G, 自动增长:50M 。 参数根据自己的需求自行修改

SQL> create tablespace test datafile '/u01/app/oracle/oradata/xe/test.dbf' size 1G reuse autoextend on next 50M maxsize unlimited default storage(initial 128k next 128k minextents 2 maxextents unlimited);

SQL> select tablespace_name from dba_tablespaces    ## 查看所有表空间,看看是否有刚才创建的

SQL> create user test identified by testpasswd default tablespace TEST temporary tablespace TEMP;    ## 创建用户,test01,密码:testpass,设置默认表空间为刚才创建的 test, 临时表空间设为默认的 TEMP。

SQL> select username from dba_users    ## 查看用户名,可以看到是否有刚才我们创建的用户名

SQL> grant connect,dba,exp_full_database,imp_full_database to test01 with admin option;  ## 授权用户 test01,拥有连接,管理员,导入,导出权限,并可以传递权限。(根据需求自己定义权限)

8. 导入数据,导出数据。

还记得之前自定义的directory文件目录吗?第6步中设置的。 只需要将需要导入的数据文件,放入这个目录。就可以使用 impdp命令导入数据了。用expdp命令导出的数据,也可以设置放在此文件目录中,由于这个目录是最初从宿主机上挂载来的,所以,这些导入导出的数据,将不会随容器关闭而丢失,可以持久化保存数据。

导入,导出命令如下:   注意,这里退出sqlplus,回到oracle用户下,操作:

## 导入数据,登陆用户为刚才创建的用户,实例为镜像的实例xe,数据文件为第6步创建的DATA_TEMP,导入文件为BPM.EXPDP,用户为test01到test01,这些需要自行修改,导入的用户和当时导出的用户最好保持一直。

impdp test/test@xe table_exists_action=replace  dumpfile=BPM.EXPDP logfile=BPM_20190302.log REMAP_SCHEMA=test:test schemas=test

## 导出数据,导出文件名为:BPM.EXPDP, 路径为: DATA_TEMP, 用户为test01

expdp test/test@xe dumpfile=BPM.EXPDP  schemas=test reuse_dumpfiles=y  version=12.1.0.2.0

参考:https://blog.csdn.net/weixin_41004350/article/details/79168739

docker 安装 oracle12,Centos7下利用docker安装oracle12c相关推荐

  1. 本地虚拟机上的docker安装mysql_linux下利用Docker安装mysql的步骤

    作为一个测试人员,在学习的过程中,可能经常需要去在linux下安装一些软件,有的软件通过搜索别人的博客教程进行安装的话,随着一些软件的升级,以及虚拟机/服务器镜像版本不一致等外部因素,都有可能导致安装 ...

  2. Ubuntu下利用docker安装微信

    Ubuntu下利用docker安装微信 一.安装docker 二.允许所有用户访问X11服务 三.拉镜像 四.启动 五.常用命令 六.启动脚本 七.微信图标 八.新建桌面图标 本次安装是基于Ubunt ...

  3. 【自学Docker容器二 ● Linux下Dokcer环境安装 】

    Docker自学系列 第一篇 [自学Docker容器一 ● 基础知识 ] 第二篇 [自学Docker容器二 ● Linux下Dokcer环境安装 ] 第三篇 [自学Docker容器三 ● Docker ...

  4. CentOS下利用Docker部署Surging

    CentOS下利用Docker部署Surging 原文:CentOS下利用Docker部署Surging 1. 安装Centos, 配置固定ip 配置文件地址vi /etc/sysconfig/net ...

  5. CentOS7下的软件安装方法及策略详解

    CentOS7下的软件安装方法及策略详解 互联网   01-24 15:15:09   作者:佚名   我要评论 今天小编为大家带来的是CentOS7下的软件安装方法及策略详解:希望对大家安装Cent ...

  6. Centos7下Fluka的安装教程(保姆级)

    Centos7下Fluka的安装教程(保姆级) 1 安装Fluka 首先大家去官网下载,在下载之前需要注册为fluka用户,下载之后就可以将其放在合适的位置进行解压,命令如下: tar -zxvf f ...

  7. Centos7下 Redis的安装、配置开机自启动、开放远程连接

    一.Centos7下 Redis的安装: 1.下载安装包: wget http://download.redis.io/releases/redis-4.0.2.tar.gz 2.解压安装包并安装: ...

  8. linux防火墙安装httpd配置,CentOS7下 Apache的安装配置方法

    前些天安装了Nginx,为了好玩我就又安装Apache,Apache的安装还算顺利.在此做一下学习记录和经验分享. 一.安装httpd 1.先查看一下系统有没有已经安装了httpd的,如果啥都没查到, ...

  9. 阿里云服务器——centos7下源码安装tomcat9

    阿里云服务器--centos7下源码安装tomcat9 (第一次写文章,俺会努力的) 首先进入src文件夹: cd /usr/local/src 使用wget命令下载tomcat : wget htt ...

最新文章

  1. 【项目展示】自己用C语言编写的汉诺塔小游戏
  2. Java 文件及文件夹复制
  3. python中基本类型的连接组合和互相转换
  4. 【Java】生成 .json格式文件工具类
  5. mysql优化之连接优化
  6. 用C++实现可重用的数学例程
  7. 查看linux系统版本,内核,CPU,MEM,位数的相关命令
  8. matlab的数值求解实验报告,偏微分方程数值及matlab实验报告
  9. 外地户籍应届毕业生落户上海申请及办理流程(包括海外)
  10. 如何分享带淘宝客的链接到新浪微博
  11. 微信小程序实现海报功能经历
  12. 砂糖橘文案:水果砂糖橘的文案,水果文案砂糖橘
  13. Python时间序列建模基础
  14. 攻略 | 教你拿下梦寐以求的Offer(多资源)
  15. Maven中settings文件详解
  16. fpga运算服务器_当FPGA也成为一种服务,你还在顾虑什么?
  17. 形参的种类及其能否改变实参
  18. 错误1068:依赖服务或组无法启动
  19. Opengl ES之PBO
  20. 计算机专业英语白浩课后答案,在职攻读硕士学位全国联考英语考试词汇速记

热门文章

  1. Python语言学习笔记
  2. [问题解决]同时显示多个Notification时PendingIntent的Intent被覆盖?
  3. Java小对象的解决之道——对象池(Object Pool)的设计与应用
  4. Leetcode--287. 寻找重复数(Java)
  5. 服务器的防火墙禁止了对指定通讯端口的访问,使用iptables限制访问网站指定端口...
  6. matlab实验符号计算答案,实验7 Matlab符号计算.doc
  7. python调用c++的库传递二级指针
  8. Android pda出入库管理,出入库PDA管理系统软件
  9. jeecg输入中文查询导表为空_学术利器—SCI期刊影响因子查询/中文核心期刊查询系统更新...
  10. python处理报错_python3报错及解决方案/须注意的细节(持续更新)