• docker部署oracle 19c


    步骤1:确定需要部署的镜像

    1. docker pull registry.cn-beijing.aliyuncs.com/zhouchaoyi/oracle19c:19.3
    2. docker images|grep oracle19

    步骤2:规划镜像数据存储路径

    1. # 创建目录
    2. mkdir -p /opt/oracle19c
    3. # 授权,不授权会导致后面安装失败
    4. chmod -R 777 /opt/oracle19c

    步骤3:实例化镜像参数修改

    1. docker run -d --name oracle19c \
    2. -p 15312:1521 -p 15313:5500 \
    3. --privileged=true -it \
    4. -v /opt/oracle19c//var/opt/oracle/data \
    5. -e TZ=Asia/Chongqing \
    6. registry.cn-beijing.aliyuncs.com/zhouchaoyi/oracle19c:19.3

    步骤4:检查启动状态&进入容器内部

    1. #容器id
    2. docker ps -a|grep oracle19c|awk '{print $1}'
    3. docker logs -f oracle19c
    4. docker exec -it oracle19c bash
    5. #登录数据库
    6. sqlplus / as sysdba

    进入容器后有个 setPassword.sh 脚本

    1. #进入容器
    2. docker exec -it oracle19c bash
    3. #执行
    4. ./setPassword.sh 123456 # 123456为设置密码,这里修改为自己的即可
    5. -- 依次执行如下命令进入oracle并设置 PDB
    6. grep $ORACLE_HOME /etc/oratab | cut -d: -f1
    7. export ORACLE_SID=ORCLCDB
    8. sqlplus / as sysdba
    9. - 设置pdb
    10. show pdbs;
    11. alter session set container=ORCLPDB1;
    12. -- 测试登录
    13. sqlplus SYSTEM/123456@ORCLPDB1

    步骤5:检查新生成的容器的时区

    1. docker exec -it oracle19c date +"%Z %z"
    2. CST+0800表示东8时区,正是设置的中国时区

    每次登录都要设置 ORACLE_SID 环境变量,可以将这个写到~/.bashrc文件里去 ,执行如下命令

    echo "export ORACLE_SID=ORCLCDB" >> ~/.bashrc

    jdbc连接:

    1. # ORACLE_SID
    2. grep $ORACLE_HOME /etc/oratab | cut -d: -f1
    3. ==》ORCLCDB
    4. #pdb_name
    5. ls -dl $ORACLE_BASE/oradata/ORCLCDB/*/ | grep -v pdbseed | awk '{print $9}' | cut -d/ -f6
    6. ===》ORCLPDB1
    7. driver = "oracle.jdbc.driver.OracleDriver"
    8. url = "jdbc:oracle:thin:@//192.168.5.103:15312/ORCLPDB1"
    1. 查看oracle是否安装成功
    2. 可以通过 docker logs -ft oracle19c
    3. 4、修改Oralce数据库密码
    4. docker exec myoracle ./setPassword.sh 123456
    5. 5、账号信息:
    6. https://localhost:5500/em
    7. 账号: system/sys/
    8. 密码:123456
    9. sid : orcl
    10. pdb : orclpdb1
    11. 6、连接Oracle
    12. docker exec -it oracle19c /bin/bash
    13. sqlplus / as sysdba
    14. show pdbs;
    15. 查看容器中的数据库名: show pdbs;
    16. 切换到PDB : alter session set container=ORCLPDB1
    17. 切换到CDB : alter session set container=CDB&ROOT
    18. oracle数据库sid(实例名)的查看方法:
    19. select instance_name from V$instance;
    20. 也可以使用下边的命令登录oracle
    21. sqlplus SYSTEM/123456@ORCLPDB1
    22. sqlplus autotest/autotest@ORCLPDB1

    报错处理

    关于ORA-00257问题的解决(归档程序错误)

    ORA-01950: no privileges on tablespace 'USERS'

    原因: 在表空间“USERS”无权限

    解决办法:

    查看当前用户所属表空间:

    select username,default_tablespace from dba_users;

    修改表空间:

    1. alter user username quota umlimited on tablespacename;
    2. 或者
    3. grant resource to username 【因为 grant resource to username 时 自动获得了有unlimited tablespace的系统权限】

    ORA-00054: resource busy and acquire with NOWAIT specified or timeout expired

    1. SQL> truncate table WMP.TXN_PROC_RESULT;
    2. truncate table WMP.TXN_PROC_RESULT
    3. *
    4. ERROR at line 1:
    5. ORA-00054: resource busy and acquire with NOWAIT specified or timeout expired
    1. SQL> select session_id from v$locked_object;
    2. SESSION_ID
    3. ----------
    4. 2543
    5. SQL> SELECT sid, serial# FROM v$session where sid=2543;
    6. SID SERIAL#
    7. ---------- ----------
    8. 2543 59853
    9. SQL> alter system kill session '2543,59853';
    10. System altered.
    11. SQL>
     
    

     

  • 相关阅读:
    [单片机框架][device层] fuelgauge 电量计
    pip安装依赖报错
    ROS官方教程知识点总结[低阶阶段]
    这款新一代开源免费的轻量级 SSH 终端,我太喜欢了
    【LeetCode热题100】--55.跳跃游戏
    01创建型设计模式——单例模式
    Go语言介绍
    【tcpdump 命令】
    关于#r语言#的问题:有没有随机多属性可接受性分析(SMAA)的R语言代码
    Graphviz安装教程
  • 原文地址:https://blog.csdn.net/lixiaomei0623/article/details/127651287