当前位置 : 主页 > 编程语言 > 其它开发 >

Docker快速搭建Oracle数据库

来源:互联网 收集:自由互联 发布时间:2022-06-24
搭建测试Oracle数据库 :源码编译安装数据库太繁琐浪费时间,可以用Docker搭建Oracle数据库,搭建起来方便、快速。 一、Docker快速搭建Oracle数据库 1 、拉取镜像 docker pull registry.cn -hangz

搭建测试Oracle数据库 :源码编译安装数据库太繁琐浪费时间,可以用Docker搭建Oracle数据库,搭建起来方便、快速。

一、Docker快速搭建Oracle数据库
1、拉取镜像
    docker pull registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g

2、新建容器
    docker run --name oracle -p 1521:1521 --privileged=true --restart=always \
    -e TZ=Asia/Shanghai \
    -itd registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g

3、进入容器,配置oracle信息
    docker exec -it -u 0 oracle bash        #-u 0   指定root用户访问
    
    #配置oracle环境变量
    vi /etc/profile
        export ORACLE_BASE=/home/oracle/app/oracle
        export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_2
        export ORACLE_SID=helowin
        export PATH=$PATH:$ORACLE_HOME/bin
    source /etc/profile


    #切换到oracle用户,修改sys、system用户密码
        sqlplus /nolog   --登录
        conn /as sysdba  --
        alter user system identified by oracle;--修改system用户账号密码;
        alter user sys identified by oracle;--修改sys用户账号密码;
        create user clcs identified by clcs; -- 创建内部管理员账号密码;
        grant connect,resource,dba to clcs; --将dba权限授权给内部管理员账号和密码;
        ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED; --修改密码规则策略为密码永不过期;(会出现坑,后面讲解)
        alter system set processes=1000 scope=spfile; --修改数据库最大连接数据;

    #修改信息后,重新启动数据库
        conn /as sysdba
        shutdown immediate; --关闭数据库
        startup; --启动数据库
        exit:退出软链接
二、持久化存储
1、进行持久化存储的准备工作
    #创建持久化存储目录
    sudo mkdir -p /home/docker/server/oracle/data/helowin
    #将oracle数据复制到本机
    sudo docker cp oracle:/home/oracle/app/oracle/oradata/helowin/ /home/docker/server/oracle/data
    #并且把 helowin 目录所有者赋予 500,因为500是容器内 oracle 组合用户的 id
    sudo chown -R 500:500 /home/docker/server/oracle/data

2、删除容器,并新建容器(挂载卷) 
    docker rm -f oracle
    docker run --name oracle -p 1521:1521 --privileged=true --restart=always \
    -v /home/docker/server/oracle/data/helowin:/home/oracle/app/oracle/oradata/helowin \
    -itd registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g
3、进入容器再配置:
    #配置oracle环境变量
        vi /etc/profile
            export ORACLE_BASE=/home/oracle/app/oracle
            export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_2
            export ORACLE_SID=helowin
            export PATH=$PATH:$ORACLE_HOME/bin
        source /etc/profile


    #切换到oracle用户,修改sys、system用户密码
        sqlplus /nolog   --登录
        conn /as sysdba  --
        alter user system identified by oracle;--修改system用户账号密码;
        alter user sys identified by oracle;--修改sys用户账号密码;
        create user clcs identified by clcs; -- 创建内部管理员账号密码;
        grant connect,resource,dba to clcs; --将dba权限授权给内部管理员账号和密码;
        ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED; --修改密码规则策略为密码永不过期;(会出现坑,后面讲解)
        alter system set processes=1000 scope=spfile; --修改数据库最大连接数据;

    #修改信息后,重新启动数据库
        conn /as sysdba
        shutdown immediate; --关闭数据库
        startup; --启动数据库
        exit:退出软链接

可以配置plsql 客户端连接数据库,进行sql操作,这里就不多说了。

 

注意:

  出现错误 database not open

  执行:
    alter database mount;
    alter database open;

 

网友评论