为选定需要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的更多相关文章

  1. Docker安装Oracle12C,导入dmp文件出现ORA-12170错误

    oracle版本为 sath89/oracle-12c oracle基本信息 hostname: localhost port: 1521 sid: xe username: system passw ...

  2. Docker运行oracle12c注意事项

    title: docker运行oracle12c注意事项 date: 2019-03-27 13:42:34 categories: 数据库 author: mrzhou tags: docker 数 ...

  3. docker安装oracle

    最近工作上面遇到一个性能相关的问题,大体描述一下: 批量任务执行的过程中导致数据库sql执行时间过长,查看之后是由于批量任务占满数据库连接池导致的,至于为什么批量任务会不受系统控制导致连接池占满就不说 ...

  4. Docker 安装Oracle

    1.使用docker 命令搜索oracle 镜像,前提是已安装了Docker docker  search oracle 2.下载相应版本的oracle 镜像 docker pull sath89/o ...

  5. docker 安装 oracle

    docker 安装 oracle 部署链接:https://www.linuxidc.com/Linux/2017-03/141760.htm 本次使用docker安装oracle 1.搜索可使用的镜 ...

  6. Docker | Mac 通过 Docker 安装 Oracle

    Docker | Mac 通过 Docker 安装 Oracle 前言: Oracle 10g 以后就不支持 Mac 版本,因此 Mac 用户需要安装的话可以通过虚拟机或者 Docker 1.在 do ...

  7. 理解Docker(1):Docker 安装和基础用法

    本系列文章将介绍Docker的有关知识: (1)Docker 安装及基本用法 (2)Docker 镜像 (3)Docker 容器的隔离性 - 使用 Linux namespace 隔离容器的运行环境 ...

  8. docker安装

    系统要求:需要一个64位的centos7操作系统和版本3.10或更高版本的Linux内核 开始安装: uname -r   //查看内核版本yum -y update //更新系统更新到最新 #安装d ...

  9. 2. Docker - 安装

    一.Docker介绍 1. Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上, 也可以实现虚拟化. 容器时完全使用沙 ...

随机推荐

  1. IDEA插件和个性化配置推荐

    插件推荐 我自己现在使用的一些插件和一些自己感觉比较舒服配置分析给大家 idea如何安装插件: 如果打开设置没有看到,直接搜索plugins 然后在这里搜索即可 CodeGlance 小地图 和vsc ...

  2. 开发规范 - UML图

    依赖关系是用一套带箭头的虚线表示,他通常描述一个对象在运行期间会用到另一个对象的关系.如图为例码农只有在工作的时候才会用到 Mac 电脑,所以这种依赖关系是依赖于运行状态的.通常情况下是在程序里面通过 ...

  3. 常见yaml写法-deployment

    apiVersion: extensions/v1beta1 #接口版本 kind: Deployment #接口类型 metadata: name: cango-demo #Deployment名称 ...

  4. python递归三战:Sierpinski Triangle、Tower of Hanoi、Maze Exploring

    本文已做成视频教程投稿b站(视频版相对文本版有一些改进),点击观看视频教程 本文主要通过三个实例来帮助大家理解递归(其展示动画已上传B站): 谢尔宾斯基三角形(Sierpinski Triangle) ...

  5. scrapy获取当当网多页的获取

    结合上节,网多页的获取只需要修改 dang.py import scrapy from scrapy_dangdang.items import ScrapyDangdang095Item class ...

  6. 菜鸡的Java笔记 java数据库编程(JDBC)

    java数据库编程(JDBC)        介绍 JDBC 的基本功能            content (内容)        现在几乎所有的项目开发过程之中都不可能离开数据库,所以在java ...

  7. 微信小程序(四)开发框架

    wxss: 一套样式语言,用于描述wxml 的组件样式 基于css 的删除和修改 尺寸单位:rpx 样式导入 @import 内联样式 style 选择器 .class .intro 选择所有拥有 c ...

  8. [hdu6973]Bookshop

    将询问拆成$x$​到$lca$​和$lca$​($lca$​靠近$y$​的儿子)到$y$​​两部分,分别处理(后者以前者的答案为基础) 两者是类似地,不妨仅考虑前者:用树剖将该询问拆成dfs序上若干个 ...

  9. 使用bootstrap-table时导出excel开头的0被自动省略

    原因是excel"智能"识别数据格式,有时聪明反被聪明误. 解决方案:修改tableExport.js 搜索: if (typeof tdcss != 'undefined' &a ...

  10. 【.NET 6】使用.NET 6开发minimal api以及依赖注入的实现、VS2022热重载和自动反编译功能的演示

    前言: .net 6 LTS版本发布已经有若干天了.此处做一个关于使用.net 6 开发精简版webapi(minimal api)的入门教程,以及VS2022 上面的两个强大的新技能(热重载.代码自 ...