Docker 安装 Oracle12c
为选定需要pull到系统中的数据库镜像
# docker pull sath89/oracle-12c --------sath89/oracle-12c为选定需要pull到系统中的数据库镜像
docker pull sath89/oracle-12c
整个pull过程需要花费一些时间,耐心等待。
若见下图证明pull成功。

列出已下载的镜像
# 使用 docker images 命令即可列出已下载的镜像
docker images
执行命令后,可看到类似于如下的表格:

列出运行中的容器
# 使用 docker ps 命令即可列出运行中的容器
docker ps
执行命令后,可看到类似于如下的表格:

可以发现,目前没有运行的容器。故,接下来我们新建并启动一个 Oracle12c 容器。
启动容器
docker run -d --name oracle -p 8080:8080 -p 1521:1521 -v $PWD/data:/mnt -e TZ=Asia/Shanghai sath89/oracle-12c
可用下述命令实现容器和数据的有效分离:
docker run -d -p 8080:8080 -p 1521:1521 -v /my/oracle/data:/u01/app/oracle sath89/oracle-12c
默认情况下,Web管理控制台已启用。禁用添加环境变量:
docker run -d -e WEB_CONSOLE=false -p 1521:1521 -v /my/oracle/data:/u01/app/oracle sath89/oracle-12c
#You can Enable/Disable it on any time
增加的脚本或转储(清除)初始化:
docker run -d -p 1521:1521 -v \
/my/oracle/data:/u01/app/oracle -v \
/my/oracle/init/SCRIPTSorSQL:/docker-entrypoint-initdb.d sath89/oracle-12c
安装需要一段时间等出现以下内容说明安装成功
Database ready to use. Enjoy! ;)

进入容器
[root@master oracle]# docker exec -it ef7e5bc1c20e /bin/bash (ef7e5bc1c20e自己容器的ID)
进入容器后是root用户切换到oracle用户
root@ef7e5bc1c20e:/# su oracle
默认Oracle的实例叫xe,没有配置环境变量,需要先运行.oraenv设置环境变量。
. oraenv
ORACLE_SID = [oracle] ? xe
The Oracle base has been set to /u01/app/oracle
连接此镜像的 Oracle Database 12c
使用sysdba登陆
oracle@ef7e5bc1c20e: sqlplus / as sysdba
创建表空间和用户
//create tablespace 表空间名称 datafile 表空间路劲 size 3000m;
SQL>create tablespace bspdb datafile '/u01/app/oracle/oradata/xe/bspdb.dbf' size 3000m;
//create user 用户名 identified by 密码 default tablespace 用户默认使用哪一个表空间;
SQL>create user bspdb identified by 123456 default tablespace bspdb;
//grant 角色1,角色2 to 用户名;
SQL>grant dba, connect to bspdb;
接下来可以使用SQLPLUS。首先用刚创建的角色登录:
sqlplus 账户/密码
注意使用此镜像创建的oracle用户名和密码为: system / oracle 或者 sys / oracle (都试试);
然后我们使用本地的sql工具 Debeaver 连接 oracle12c 数据库即可。
# 使用以下设置连接数据库:
hostname: localhost
port: 1521
sid: xe
service name: xe
username: sys
password: oracle
使用以下设置连接到Oracle企业管理控制台:
http://localhost:8080/em
user: sys
password: oracle
connect as sysdba: true
连接 Oracle 12c 并修改默认管理员账户密码
1、修改用户的密码
-- 查看用户的proifle是哪个,一般是default:
SELECT username,PROFILE FROM dba_users;
-- 查看指定概要文件(如default)的密码有效期设置:
SELECT * FROM dba_profiles s WHERE s.profile='DEFAULT' AND resource_name='PASSWORD_LIFE_TIME';
-- 将密码有效期由默认的180天修改成“无限制”:修改之后不需要重启动数据库,会立即生效。
ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;
-- 修改用户SYSTEM 密码
alter user SYSTEM identified by "****password****";
2、解锁用户的方法
-- 解锁方法
alter user SYSTEM account unlock;
Docker 安装 Oracle12c的更多相关文章
- Docker安装Oracle12C,导入dmp文件出现ORA-12170错误
oracle版本为 sath89/oracle-12c oracle基本信息 hostname: localhost port: 1521 sid: xe username: system passw ...
- Docker运行oracle12c注意事项
title: docker运行oracle12c注意事项 date: 2019-03-27 13:42:34 categories: 数据库 author: mrzhou tags: docker 数 ...
- docker安装oracle
最近工作上面遇到一个性能相关的问题,大体描述一下: 批量任务执行的过程中导致数据库sql执行时间过长,查看之后是由于批量任务占满数据库连接池导致的,至于为什么批量任务会不受系统控制导致连接池占满就不说 ...
- Docker 安装Oracle
1.使用docker 命令搜索oracle 镜像,前提是已安装了Docker docker search oracle 2.下载相应版本的oracle 镜像 docker pull sath89/o ...
- docker 安装 oracle
docker 安装 oracle 部署链接:https://www.linuxidc.com/Linux/2017-03/141760.htm 本次使用docker安装oracle 1.搜索可使用的镜 ...
- Docker | Mac 通过 Docker 安装 Oracle
Docker | Mac 通过 Docker 安装 Oracle 前言: Oracle 10g 以后就不支持 Mac 版本,因此 Mac 用户需要安装的话可以通过虚拟机或者 Docker 1.在 do ...
- 理解Docker(1):Docker 安装和基础用法
本系列文章将介绍Docker的有关知识: (1)Docker 安装及基本用法 (2)Docker 镜像 (3)Docker 容器的隔离性 - 使用 Linux namespace 隔离容器的运行环境 ...
- docker安装
系统要求:需要一个64位的centos7操作系统和版本3.10或更高版本的Linux内核 开始安装: uname -r //查看内核版本yum -y update //更新系统更新到最新 #安装d ...
- 2. Docker - 安装
一.Docker介绍 1. Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上, 也可以实现虚拟化. 容器时完全使用沙 ...
随机推荐
- yaml基本用法
简介 YAML 是 "YAML Ain't Markup Language"(YAML 不是一种标记语言)的递归缩写.在开发的这种语言时,YAML 的意思其实是:"Yet ...
- LeetCode 113. 路径总和 II C++
提交结果:内存超100%,用时超69% /** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNo ...
- Windows内核中的CPU架构-8-任务段TSS(task state segment)
Windows内核中的CPU架构-8-任务段TSS(task state segment) 任务段tss(task state segment)是针对于CPU的一个概念. 举一个简单的例子,你一个电脑 ...
- 1个月连载30个设计模式真实案例(附源码),挑战年薪60W不是梦
本文所有内容均节选自<设计模式就该这样学> 本文自2012年10月29日起持续连载,请大家持续关注.... 序言 Design Patterns: Elements of Reusable ...
- C#简单配置类及数据绑定
目录 简介 配置基类 派生配置类 数据绑定 Winform中的数据绑定 WPF下的数据绑定 附件 简介 本文实现一个简单的配置类,原理比较简单,适用于一些小型项目.主要实现以下功能: 保存配置到jso ...
- c++学习笔记3(内联函数)
函数调用是有开销的,调用时需将参数放入栈中,返回地址也要放入,返回时还需从栈中取出,跳转返回地址去执行,需几条语句的时间,如果本身程序代码短,则会显得十分浪费,所以引入了内联函数的机制 写法:在函数前 ...
- 用C++实现俄罗斯方块(Tetris)游戏
我是一个C++初学者,控制台实现了一个俄罗斯方块游戏. 代码如下: //"俄罗斯方块"V1.0 //李国良于2017年1月20日编写完成 #include <iostream ...
- [bzoj1032]祖码
先将连续的一段相同的点连起来,然后考虑对于一段区间,分两种情况:1.首尾两点再同时消掉,必然要先将去掉首尾的一段消掉后再消2.首尾两点再不同时刻消掉,那么必然存在一个断点k,使得k左右无关(题目中的错 ...
- Study Blazor .NET(三)组件
翻译自:Study Blazor .NET,转载请注明. 关于组件 blazor中组件的基础结构可以分为以下3部分, //Counter.razor //Directives section @pag ...
- 从零开始学Kotlin第六课
Kotlin调用java代码: 1.如果是内部工程的类,直接调用,如果是外部的工程项目按照java的方式将jar包导入进来. 2.实例化java对象 我们之前学java的时候实例化对象是这个样子的. ...