• docker 安装oracle


    拉取镜像
    拉取oracle_11g镜像

    拉取oracle镜像(oracle 11.0.2 64bit 企业版 实例名: helowin)

    Oracle主要在Docker基础上安装,安装环境注意空间和内存,Oracle是一个非常庞大的一个软件,

    建议使用网易镜像或阿里镜像网站这里以oracle 11.0.2 64bit 企业版

    实例名: helowin为例子进行安装详解。

    docker pull registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g

    运行容器

    2.1 默认启动容器方式

    docker run -d --name oracle11g -p 1521:1521 --restart=always registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11


     

    1. docker run -d -it -p 1521:1521 \
    2. --name oracle11g \
    3. --restart=always registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11


    2.2 持久化启动的方式

    docker run -d -it -p 1521:1521 --name oracle11g --restart=always --mount source=oracle_vol,target=/home/oracle/app/oracle/oradata registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g


     

    1. docker run -d -it -p 1521:1521 \
    2. --name oracle11g \
    3. --restart=always \
    4. --mount source=oracle_vol,target=/home/oracle/app/oracle/oradata registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g


    一般用默认启动方式就可以了,若是需要将数据保存到本地的采用持久化方式。

    --mount表示要将Host上的路径挂载到容器中。

    source=oracle_vol为Host的持久化卷,若未提前创建会自动创建,可通过

    target=/home/oracle/app/oracle/oradata :自己Linux的家目录

    docker volume inspect oracle_vol


    查看volume的具体位置,target为容器中的路径


    查看容器启动状态

    docker ps | grep oracle11g 

     
    进入oracle11g容器进行配置

    docker exec -it oracle11g /bin/bash

     

    切换到root用户下进行配置:

    切换root用户:su root

    输入密码: helowin ##可以使用passwd命令更改自己的密码

    编辑profile文件配置ORACLE环境变量:

    vi /etc/profile

     

    在文档尾部,添加如下内容:

    1. export ORACLE_HOME=/home/oracle/app/oracle/product/11.2.0/dbhome_2
    2. export ORACLE_SID=helowin
    3. export PATH=$ORACLE_HOME/bin:$PATH  

    保存后加载环境变量,立即生效:

    source /etc/profile  


    创建软连接:

    作用:可以直接用oracle命令,而不需要进入bin目录中执行相应的命令。

    ln -s $ORACLE_HOME/bin/sqlplus /usr/bin

     
    切换到oracle 用户:

    su - oracle 

     

    登录sqlplus并修改sys、system用户密码:

    1. sqlplus /nolog                                      # 登录oracle
    2. conn /as sysdba                                     # 连接,需要进行操作系统验证,才可进行连接登录
    3. alter user system identified by system;                        # 修改system用户账号密码system
    4. alter user sys identified by sys;                              # 修改sys用户账号密码sys
    5. ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;      # 修改密码规则策略为密码永不过期
    6. exit;                                                          # 退出

    补充命令

    1. 登录sqlplus并修改sys、system用户密码: 需要注意的是再oracle用户下操作
    2. sqlplus /nolog                                      # 登录
    3. conn /as sysdba                                     # 连接
    4. create user test identified by test;                #创建内部管理员账号密码;
    5. grant connect,resource,dba to yan_test;             #将dba权限授权给内部管理员账号和密码;
    6. alter system set processes=1000 scope=spfile;       #修改数据库最大连接数据;
    7. 修改以上信息后,需要重新启动数据库
    8. shutdown immediate;                                 #关闭数据库
    9. startup;                                            #启动数据库
    10. SQL> select instance from v$thread;                 #查看数据库sid(实例名)
    11. clear SCR  或clear screen或clea scre                 #sqlplus清屏命令
    12. 创建表空间
    13. create tablespace pts datafile '/home/oracle/app/oracle/oradata/helowin/pts.dbf' size 100m autoextend on next 10m
    14.  
    15. 删除表空间
    16. drop tablespace PTS;
    17.  
    18. 查看所有表空间
    19. select tablespace_name from dba_tablespaces;
    20.  
    21. 创建用户
    22. create user PTS identified by PTS default tablespace PTS;
    23.  
    24. 删除用户
    25. drop user pts cascade;


     
    为sys用户添加sysdba权限

    SQL> grant sysdba to sys;


     
    查看哪些用户被授予DBA权限

    select * from dba_role_privs where granted_role='DBA';


    查看数据库编码

    SQL> select userenv('language') from dual;


    查看数据库权限和用户

    1. SQL> show parameter password         #查看数据库权限
    2. SQL> select * from v$pwfile_users;   #查看用户

    查看一下oracle实例状态:

    lsnrctl status             -查看一下oracle实例状态:

    监听命令

    1. $ lsnrctl stop listener    -停止名为listener的监听服务
    2. $ lsnrctl start listener   -启动名为listener的监听服务
    3. $ lsnrctl reload listener  -重新加载名为listener的监听服务


    查看环境变量

    cat /home/oracle/.bash_profile


    看到此ORACLE_SID=helowin表示数据库的实例名称

  • 相关阅读:
    c++运算符
    JavaScript中的Error错误对象与自定义错误类型
    关于Validation的方法使用
    STM32实战总结:HAL之电机
    面试题库(七):Spring相关
    react通过onChange传输select的value数据
    后端SpringBoot+前端Vue前后端分离的项目(二)
    【iOS】—— present和push再学习
    Jenkins集成Terraform实现阿里云CDN自动刷新
    详细讲解什么是单例模式
  • 原文地址:https://blog.csdn.net/GL666/article/details/133751939