在Centos中用Docker部署oracle-12c

本文详细介绍了Oracle12c版本在云计算背景下的特点,如多租户架构、数据库内存优化、安全增强和大数据管理,以及如何通过Docker进行容器化安装,包括解决DBCAOperationfailed错误,设置账号密码和测试连接的过程。
摘要由CSDN通过智能技术生成

一、介绍

Oracle 12cOracle 11g的后续版本。12c代表云计算(Cloud Computing),这是Oracle在该版本中强调的一个关键概念。它具有多租户架构、数据库内存、安全增强、大数据管理和自动化管理等功能。它被广泛应用于企业级应用程序和大型数据中心。

  1. 多租户架构:Oracle12c允许在单个数据库实例中容纳多个独立的租户。
  2. 数据库内存:Oracle12c可以将热数据加载到内存中,可以显著加快数据访问速度。
  3. 安全增强:Oracle12c提供了更强大的安全功能,包括数据红外线和统一审计等。
  4. 大数据管理:Oracle12c集成了与大数据技术的连接,支持直接访问和处理大规模数据集。这使得Oracle数据库能够更好地与Hadoop和NoSQL数据库集成。
  5. 自动化管理:自动化备份和恢复、自动化性能调整和自动化存储管理。

二、安装

1、搜索oracle-12c

docker search oracle-12c

在这里插入图片描述

2、拉取镜像

我们选择第一个版本
在这里插入图片描述

3、创建数据库挂载文件

将docker中的数据库文件挂载到你的主机目录下,并给该目录读和写的权限。

mkdir -p /mydata/oracle/ora_data
chmod -R 777 /mydata/oracle/ora_data

4、创建Oracle容器并运行

docker run --privileged=true -d -p 2122:22 -p 9090:8080 -p 1521:1521 -v /mydata/oracle/ora_data:/u01/app/oracle/ --name oracle-12c truevoly/oracle-12c

参数解释

  • -d 后台运行容器,并返回容器ID。
  • -p 指定端口。
  • -v 指定数据卷位置。
  • –privileged=true 为容器提供特权模式,允许对主机的底层系统进行更高级别的访问。

在这里插入图片描述
查看oracle-12c启动日志

docker logs -f oracle-12c

在这里插入图片描述

5、DBCA Operation failed. 错误

如果你的虚拟机没有2G以上的内存,那么在运行容器时会失败。启动日志会报如下错误:

Database not initialized. Initializing database.
Starting tnslsnr
Copying database files
1% complete
2% complete
4% complete
DBCA Operation failed.
Look at the log file "/u01/app/oracle/cfgtoollogs/dbca/xe/xe.log" for further details.

同时,由于容器没有启动成功,因此你无法查看/u01/app/oracle/cfgtoollogs/dbca/xe/xe.log该日志文件。
这个报错是由于oracle-12c需要2G以上的内存环境才能运行,虚拟机的内存设置为2G以上就可以了。

6、进入容器修改账号密码设置

#查看容器ID
docker ps
#进入容器
docker exec -it 6a29ce3c4e9f /bin/bash
#切换成oracle用户
su oracle
#进入sqlplus
$ORACLE_HOME/bin/sqlplus / as sysdba
//设置密码有效期为无限制
ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;
//解锁system用户
alter user SYSTEM account unlock;
//创建一个账号
create user zheng identified by 123456
//为这个用户赋予管理员的权限
grant dba to zheng;

7、使用Pl/SQL测试连接

登录成功,说明oracle已安装成功。
在这里插入图片描述

  • 10
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值