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

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

maynowei11个月前 (08-03)技术知识194

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验证结果

相关文章

真来了,iOS 16.6 beta 利用,隐藏 Dock 栏

昨天提到!iOS 16.5 kfd 漏洞可以隐藏 Dock 栏消息,现在已经确定 iOS 16.6 beta 内测也是支持使用 kfd 漏洞,当然!也是支持隐藏 Dock 栏,主要验证该系统是否可用。...

高考一词多义考点! 30个高频词汇,完形填空再也不怕啦

1. address·/a'dres/ v.处理(问题)We must address the issue of climate change.·/'aedres/ n.地址Pleas...

Linux系统编程—互斥量mutex(linux 互斥量)

##互斥量mutex前文提到,系统中如果存在资源共享,线程间存在竞争,并且没有合理的同步机制的话,会出现数据混乱的现象。为了实现同步机制,Linux中提供了多种方式,其中一种方式为互斥锁mutex(也...

打通 JAVA 与内核系列之 一 ReentrantLock 锁的实现原理

写JAVA代码的同学都知道,JAVA里的锁有两大类,一类是synchronized锁,一类是concurrent包里的锁(JUC锁)。其中synchronized锁是JAVA语言层面提供的能力,在此不...

从 async/await 到虚拟线程:Python 并发的再思考

演进之路:从async/await到线程的反思首先必须明确的是,async/await对Python并非全无裨益:它最大的价值,是让更多人接触到了并发编程。通过在编程语言中嵌入语法元素,并发编程的门槛...

本地配置plsql远程连接oracle数据库

由于Oracle的庞大,有时候我们需要在只安装Oracle客户端如plsql、toad等的情况下去连接远程数据库,可是没有安装Oracle就没有一切的配置文件去支持。最后终于发现一个很有效的方法,O...