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

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

maynowei9个月前 (08-03)技术知识169

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

相关文章

成功上岸腾讯运营,教你如何写校招简历?

产品策划/运营的校招简历应该怎么写?作者从自身实际情况出发,总结分享了相关经验,希望对你有用。写在前面红红火火恍恍惚惚,本人是一位2020届本科毕业生,校招意向互联网产品类。此前有过产品相关的项目&a...

有了这份900多页的Android面试指南,你离大厂Offer还远吗?

前言对于大部分程序员来说,一线互联网是的工作经历是毕生的追求,实际上大厂对于学历的要求远远没有我们想象的那么高,近几年来,互联网公司更注重技术,所以提升自身技术水平才是斩获offer的制胜关键。一线互...

Win10桌面/手机版最深层次开发功能挖掘

IT之家讯 Win10开发者预览版为我们提供了一个Win10大框架的早期概览,使开发者与热心用户都可以提前感受Win10带来的新特性,尝试新工具,而作为开发者,最关心的莫过于Windows多平台通用应...

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

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

关于异步信号安全(下面关于异步电路危害的描述错误的是)

线程安全与重入以及异步信号安全的区别. 可重入一定是线程安全的,但是线程安全不一定是可重入的. 引用别人的博客中的话吧.如下: http://blog.csdn.net/xiaofei0859/art...

C++11 同步机制:互斥锁和条件变量

前段时间,我研究了 ROS2(Jazzy)机器人开发系统,并将官网中比较重要的教程和概念,按照自己的学习顺序翻译成了中文,进行了整理和记录。到目前为止,已经整理了20多篇文章。如果你想回顾之前的内容,...