Docker 安装oracle12c容器并创建新用户

2023-10-17 13:36

本文主要是介绍Docker 安装oracle12c容器并创建新用户,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Docker 安装oracle12c容器并创建新用户

  1. 下载镜像

    docker pull truevoly/oracle-12c
    
  2. 启动镜像 8080和22端口没有映射出来,有需要自己

    docker run -d -p 8123:1521 -restart=always --privileged=true -v /data/docker/Oracle12c_sichuan:/u01/app/oracle/ --name oracle12c-sichuan truevoly/oracle-12c
    
    • 正常日志

      Database not initialized. Initializing database.
      Starting tnslsnr
      Copying database files
      1% complete
      3% complete
      11% complete
      18% complete
      37% complete
      Creating and starting Oracle instance
      40% complete
      62% complete
      Completing Database Creation
      96% complete
      100% complete
      Look at the log file "/u01/app/oracle/cfgtoollogs/dbca/xe/xe.log" for further details.
      Configuring Apex console
      Database initialized. Please visit http://#containeer:8080/em http://#containeer:8080/apex for extra configuration if needed
      Starting web management console
      PL/SQL procedure successfully completed.
      Starting import from '/docker-entrypoint-initdb.d':
      ls: cannot access /docker-entrypoint-initdb.d/*: No such file or directory
      Import finished
      Database ready to use. Enjoy! ;)
      
    • 启动报错日志

      atabase not initialized. Initializing database.
      Starting tnslsnr
      Cannot create directory "/u01/app/oracle/cfgtoollogs/dbca".
      Unique database identifier check passed.
      Error writing into silent log -- /u01/app/oracle/cfgtoollogs/dbca/silent.log_2023-10-17_03-29-34-AM (No such file or directory)
      /u01/app/oracle/ has enough space. Required space is 6140 MB , available space is 128006 MB.
      File Validations Successful.
      Error writing into silent log -- /u01/app/oracle/cfgtoollogs/dbca/silent.log_2023-10-17_03-29-34-AM (No such file or directory)
      Cannot create directory "/u01/app/oracle/cfgtoollogs/dbca/xe".
      Error writing into silent log -- /u01/app/oracle/cfgtoollogs/dbca/silent.log_2023-10-17_03-29-34-AM (No such file or directory)
      Error in file copy from </u01/app/oracle/cfgtoollogs/dbca/silent.log_2023-10-17_03-29-34-AM> to </u01/app/oracle/cfgtoollogs/dbca/xe.log>
      Look at the log file "/u01/app/oracle/cfgtoollogs/dbca/silent.log_2023-10-17_03-29-34-AM" for further details.
      

      原因 容器没有操作主机文件夹权限

      主机内执行

      chmod -R a+w /data/docker/Oracle12c_sichuan
      
  3. 进入容器内并以dba登录Oracle

    # 进入oracle-12c容器内
    docker exec -it oracle-12c /bin/bash
    # 切换成oracle用户
    su oracle
    # 进入sqlplus
    $ORACLE_HOME/bin/sqlplus / as sysdba
    
  4. 创建表空间及用户和赋权

    # 设置密码有效期为无限制
    # 默认有sys和system两个用户,密码都是oracle,默认的一个SID/服务名是xeSQL> ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;# 解锁system用户
    SQL> alter user SYSTEM account unlock;
    SQL> alter user SYS account unlock;创建四川表空间
    --表空间
    --不限制表空间大小用:maxsize unlimited
    --限制表空间大小用:maxsize 1024m
    --自动扩充表空间:一次50m 
    --注意表空间名实际会变成大写 SICHUAN_DATA
    create tablespace sichuan_data 
    logging 
    datafile '/u01/app/oracle/oradata/xe/sichuan_data.dbf' 
    size 50m 
    autoextend on 
    next 50m maxsize unlimited
    extent management local;--创建临时表空间
    create temporary tablespace sichuan_temp 
    tempfile '/u01/app/oracle/oradata/xe/sichuan_temp.dbf' 
    size 50m 
    autoextend on 
    next 50m maxsize unlimited
    extent management local;alter user system identified by "6#rKXq24@1"; alter user sys identified by "6#rKXq24@1"; # 创建用户
    # 密码带特殊符号 password 需要双引号 "password"
    create user username identified by password;# 依次给各用户赋权SQL> GRANT ALTER ANY PROCEDURE TO username;
    SQL> GRANT ALTER ANY TABLE TO username;
    SQL> GRANT ALTER ANY TRIGGER TO username;
    SQL> GRANT ALTER ANY TYPE TO username;
    SQL> GRANT CREATE ANY TABLE TO username;
    SQL> GRANT DELETE ANY TABLE TO username;
    SQL> GRANT DROP ANY PROCEDURE TO username;
    SQL> GRANT DROP ANY SEQUENCE TO username;
    SQL> GRANT DROP ANY TABLE TO username;
    SQL> GRANT DROP ANY TRIGGER TO username;
    SQL> GRANT DROP ANY TYPE TO username;
    SQL> GRANT DROP ANY VIEW TO username;
    SQL> GRANT SELECT ANY DICTIONARY TO username;
    SQL> GRANT SELECT ANY SEQUENCE TO username;
    SQL> GRANT SELECT ANY TABLE TO username;
    SQL> GRANT UNDER ANY TABLE TO username;
    SQL> GRANT UNDER ANY TYPE TO username;
    SQL> GRANT UNDER ANY VIEW TO username;
    SQL> GRANT UNLIMITED TABLESPACE TO username;
    SQL> GRANT UPDATE ANY TABLE TO username;
    SQL> GRANT CONNECT TO username;
    SQL> GRANT DBA TO username;
    SQL> GRANT RESOURCE TO username;修改用户的默认表空间为sichuan_data:
    SQL> alter user XZXK default tablespace sichuan_data;
    SQL> alter user XZXK_JL default tablespace sichuan_data;
    SQL> alter user ESF default tablespace sichuan_data;
    SQL> alter user DIC default tablespace sichuan_data;
    

这篇关于Docker 安装oracle12c容器并创建新用户的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/225748

相关文章

Java 虚拟线程的创建与使用深度解析

《Java虚拟线程的创建与使用深度解析》虚拟线程是Java19中以预览特性形式引入,Java21起正式发布的轻量级线程,本文给大家介绍Java虚拟线程的创建与使用,感兴趣的朋友一起看看吧... 目录一、虚拟线程简介1.1 什么是虚拟线程?1.2 为什么需要虚拟线程?二、虚拟线程与平台线程对比代码对比示例:三

k8s按需创建PV和使用PVC详解

《k8s按需创建PV和使用PVC详解》Kubernetes中,PV和PVC用于管理持久存储,StorageClass实现动态PV分配,PVC声明存储需求并绑定PV,通过kubectl验证状态,注意回收... 目录1.按需创建 PV(使用 StorageClass)创建 StorageClass2.创建 PV

Linux创建服务使用systemctl管理详解

《Linux创建服务使用systemctl管理详解》文章指导在Linux中创建systemd服务,设置文件权限为所有者读写、其他只读,重新加载配置,启动服务并检查状态,确保服务正常运行,关键步骤包括权... 目录创建服务 /usr/lib/systemd/system/设置服务文件权限:所有者读写js,其他

解决docker目录内存不足扩容处理方案

《解决docker目录内存不足扩容处理方案》文章介绍了Docker存储目录迁移方法:因系统盘空间不足,需将Docker数据迁移到更大磁盘(如/home/docker),通过修改daemon.json配... 目录1、查看服务器所有磁盘的使用情况2、查看docker镜像和容器存储目录的空间大小3、停止dock

idea+spring boot创建项目的搭建全过程

《idea+springboot创建项目的搭建全过程》SpringBoot是Spring社区发布的一个开源项目,旨在帮助开发者快速并且更简单的构建项目,:本文主要介绍idea+springb... 目录一.idea四种搭建方式1.Javaidea命名规范2JavaWebTomcat的安装一.明确tomcat

Spring Boot分层架构详解之从Controller到Service再到Mapper的完整流程(用户管理系统为例)

《SpringBoot分层架构详解之从Controller到Service再到Mapper的完整流程(用户管理系统为例)》本文将以一个实际案例(用户管理系统)为例,详细解析SpringBoot中Co... 目录引言:为什么学习Spring Boot分层架构?第一部分:Spring Boot的整体架构1.1

docker 重命名镜像的实现方法

《docker重命名镜像的实现方法》在Docker中无法直接重命名镜像,但可通过添加新标签、删除旧镜像后重新拉取/构建,或在DockerCompose中修改配置文件实现名称变更,感兴趣的可以了解一下... 目录使用标签(Tagging)删除旧的php镜像并重新拉取或构建使用docker Compose在Do

k8s admin用户生成token方式

《k8sadmin用户生成token方式》用户使用Kubernetes1.28创建admin命名空间并部署,通过ClusterRoleBinding为jenkins用户授权集群级权限,生成并获取其t... 目录k8s admin用户生成token创建一个admin的命名空间查看k8s namespace 的

Java JUC并发集合详解之线程安全容器完全攻略

《JavaJUC并发集合详解之线程安全容器完全攻略》Java通过java.util.concurrent(JUC)包提供了一整套线程安全的并发容器,它们不仅是简单的同步包装,更是基于精妙并发算法构建... 目录一、为什么需要JUC并发集合?二、核心并发集合分类与详解三、选型指南:如何选择合适的并发容器?在多

python依赖管理工具UV的安装和使用教程

《python依赖管理工具UV的安装和使用教程》UV是一个用Rust编写的Python包安装和依赖管理工具,比传统工具(如pip)有着更快、更高效的体验,:本文主要介绍python依赖管理工具UV... 目录前言一、命令安装uv二、手动编译安装2.1在archlinux安装uv的依赖工具2.2从github