Docker安装Oracle+Navicat连接Oracle+大数据Dmp文件导入Oracle+Docker保存镜像

目录

 

一、安装docker

二、下载镜像

三、启动镜像

四、进入镜像,设置数据库

五、使用navicat连接Oracle

六、导入dmp文件

七、导出容器为新镜像到本地仓库


​​​​​​​

一、安装docker

    Docker有点类似虚拟机,每个镜像就相当于保存好的虚拟机文件你可以自己导入使用。

yum install docker

docker的启动与关闭

[root@hxslave2 mapper]# systemctl start docker.service

[root@hxslave2 mapper]# systemctl stop docker

为了下一步pull镜像能更快,换上阿里的镜像,和maven一样,下面的是个人的源不保证未来一定能使用,可以去阿里云注册账号获取自己的源。

[root@hxslave2 mapper]# vi /etc/docker/daemon.json

 

{

"registry-mirrors": ["https://pee6w651.mirror.aliyuncs.com"]

}

 

重启docker

[root@hxslave2 mapper]# systemctl start docker.service

 

二、下载镜像

 

寻找Oracle镜像

docker search oracle

 

下载镜像

docker pull docker.io/sath89/oracle-12c

 

完成后输入

docker images

可以查看自己的本地镜像

 

三、启动镜像

-d代表后台,--name为容器的名字 -p为端口映射 -v是将宿主机的/usr/local/data_temp 目录映射到容器内/home/oracle/data_temp

 

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

系统会返回给你一串id,这时候不能急着进入下一步,因为它其实还在后台进行

 

docker logs -f a866c06afa0d302812dc9f2bc4a5a84ffdfdca90307c187381c2452cd759f53b

查看日志,直到他提示出了:)才代表运行完成了

四、进入镜像,设置数据库

 

查看所有容器类似查看所有虚拟机

docker ps -a 复制刚刚启动的容器id

 

进入容器中

docker exec -it a866c06afa0d /bin/bash

可以看到主机名从hxslave2变为a886c06a,成功进入容器

 

切换为Oracle用户,网上那些id密码都连不上数据库的话只能这样用本地管理员身份进入

root@a866c06afa0d:/# su oracle

oracle@a866c06afa0d:/$ $ORACLE_HOME/bin/sqlplus / as sysdba

 

修改system密码为oracle

alter user system identified by oracle;

修改sys密码为sys

alter user sys identified by sys;

ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;

创建一个表空间

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

创建test1用户,密码test1,表空间为上面创建的test1,设置临时表为TEMP

create user test1 identified by test1 default tablespace test1  temporary tablespace TEMP;

 

数据库设置基本完成

 

五、使用navicat连接Oracle

 Navicat的安装配置,连接Oracle要修改 OCI文件

 https://blog.csdn.net/weixin_42129270/article/details/82048610

 

查看自己数据库的服务名,记下来

select name from v$database;

 

打开navicat新建Oracle连接

 

填写ip端口,修改服务名为自己的

 

六、导入dmp文件

 

之前启动时候挂载了文件夹到容器中,将需要的文件上传到之前设定的位置,进入容器

 

创建导入需要的表空间,根据实际需求选择,如果数据过大navicat可能会卡死,建议进入docker中用命令行操作

CREATE TABLESPACE "SPECARDINFO_TS" DATAFILE '/u01/app/oracle/oradata/xe/SPECARDINFO_TS' SIZE 10 G AUTOEXTEND ON NEXT 1 G MAXSIZE UNLIMITED;

 

如果数据要求比较大,将临时表也扩大,不然可能会报错

 

开始导入test1/test1 为账号密码

imp test1/test1 file=/home/oracle/data_temp/spimg.dmp  full=y ignore=y buffer=20480000;

 

导入完成后,表就在该用户的位置

 

七、导出容器为新镜像到本地仓库

 a866c06afa0d 为容器id, newOracle为新镜像的名字

Docker commit  a866c06afa0d newOracle

https://blog.csdn.net/qmw19910301/article/details/88070159

 

 

  • 0
    点赞
  • 1
    收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:游动-白 设计师:我叫白小胖 返回首页
评论

打赏作者

猫萌萌公司

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值