当前位置:首页 > 技术知识 > 正文内容

Docker安装Oracle 11g 数据库过程详解

maynowei3周前 (08-03)技术知识13

1、查看docker 版本

[root@node3 ~]# docker version
Client:
 Version:           18.09.6
 API version:       1.39
 Go version:        go1.10.8
 Git commit:        481bc77156
 Built:             Sat May  4 02:34:58 2019
 OS/Arch:           linux/amd64
 Experimental:      false

Server: Docker Engine - Community
 Engine:
  Version:          18.09.6
  API version:      1.39 (minimum version 1.12)
  Go version:       go1.10.8
  Git commit:       481bc77
  Built:            Sat May  4 02:02:43 2019
  OS/Arch:          linux/amd64
  Experimental:     false

2、 操作系统切换到root用户

su root

3、拉取oracle镜像(oracle 11.0.2 64bit 企业版 实例名: helowin)

  • Oracle主要在Docker基础上安装,安装环境注意空间和内存,Oracle是一个非常庞大的一个软件,最低配置要2G以上,硬盘要30G以上更好,由于镜像都有好6.8个G.
  • 登录阿里容器镜像服务平台,找到镜像中心-->镜像搜索,输入相应的镜像名称找到合适的镜像.建议使用网易镜像或阿里镜像网站
  • 这里以oracle 11.0.2 64bit 企业版 实例名: helowin为例子进行安装详解
  • https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors
docker pull registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g

4、创建并启动容器(映射本地端口1521)

  • 默认数据库实例名为:helowin
docker run \
--privileged \
--restart=always \
--name oracle_11g \
-v /usr/local/oracle/app/oracle/oradata/:/home/oracle/app/oracle/flash_recovery_area/ \
-p 1521:1521 \
-d registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g

4.1参数说明



5、进入docker的oracle_11g 容器

docker exec -it 容器ID /bin/bash
或
docker exec -it 容器名称 /bin/bash

6、加载环境变量

source /home/oracle/.bash_profile

7、登录sqlplus

sqlplus /nolog
connect /as sysdba

8、创建用户&分配权限

  • 创建一个用户为oracle,密码为oracle#123
create user oracle identified by oracle#123;
  • 修改用户system的密码标识
SQL> alter user system identified by system;
alter user system identified by 123456;
  • 给oracle这个用户授权
grant connect,resource,dba to oracle;

9、查看数据库sid(实例名)

SQL> select instance from v$thread;


10、sqlplus清屏命令

clear SCR  

或
clear screen

或
clea scre

11、重启数据库,重启监听

sqlplus / as sysdba
SQL> shutdown immediate --"关闭数据库实例"
SQL> startup --"启动数据库实例"
SQL>exit

$ lsnrctl stop listener    -停止名为listener的监听服务
$ lsnrctl start listener   -启动名为listener的监听服务
$ lsnrctl reload listener  -重新加载名为listener的监听服务

12、查看环境变量

cat /home/oracle/.bash_profile

看到此ORACLE_SID=helowin表示数据库的实例名称


13、使用连接工具进行验证

  • 这里可以根据自己使用客户端的习惯进行验证即可。如:PLSQL Developer、JetBrains DataGrip、Navicat Premium、等.
  • JetBrains DataGrip验证结果

相关文章

利用Axure+js创建可配置地图页面(axure嵌入地图)

编辑导语:如何利用Axure实现自定义地图展示?本篇文章里,作者结合Axure与高德地图,对如何在Axure中设置相应参数、进而预览时实现自定义地图展示效果的操作流程进行了示范和总结,一起来看一下。本...

Axure原型:化妆镜商城Web高保真原型+线框图

之前给大家分享了化妆镜商城APP高保真原型,继续给大家补充该原型的Web版。也顺便分享一个化妆镜商城web版的线框图。关于线框图的绘制几乎都是经验的总结,开始时建议大家用铅笔白纸绘制,初版概念确定后再...

Objective-c单例模式的正确写法「藏」

单例模式在iOS开发中可能算是最常用的模式之一了,但是由于oc本身的语言特性,想要写一个正确的单例模式相对来说比较麻烦,这里我就抛砖引玉来聊一聊iOS中单例模式的设计思路。关于单例模式更多的介绍请参考...

大势所趋:Swift受欢迎度即将赶超Objective C

Swift是Apple在WWDC2014所发布的一门编程语言,用来撰写OS X和iOS应用程序。不到两年时间,在iOS开发者中Swift语言便凭借着简洁的语法和优秀的特性打动了开发者,之前用于iOS和...

msf系列篇章之七模块详解,黑客必学

1、 mestasploit有很多模块,一共分为七类那如果是kali中自带的msf,它默认的安装路径是在这里。,然后可以看见它这些模块有些相对应的目录。1)、exploits漏洞利用模块,这个模块通常...

记录程序第一天挖漏洞的过程(挖漏洞需要学什么语言)

第一个漏洞复现fastjson漏洞说明:在本地这个fastjson会出现问题复现的过程生成一个java文件进行攻击注入的方式javac Exploit.java但是必须编译成.class文件才能执行p...