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
su oracle    #切换到oracle用户
#登录数据库,修改sys、system用户密码
sqlplus /nolog       #登录oracle数据库
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;         #修改数据库最大连接数据;

二、持久化存储

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、进入容器再配置:
#需要进入容器里删除新生成的版本控制文件,将数据卷中的版本控制文件复制为新生成的版本控制文件

docker exec -it oracle bash
cd /home/oracle
source .bash_profile     #加载oracle环境变量
rm -rf /home/oracle/app/oracle/flash_recovery_area/helowin/control02.ctl
cp /home/oracle/app/oracle/oradata/helowin/control01.ctl /home/oracle/app/oracle/flash_recovery_area/helowin/control02.ctl
sqlplus / as sysdba

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

#三、常规操作
创建表空间

create tablespace TS_CLCS_APP datafile '${ORACLE_BASE}/oradata/helowin/TS_CLCS_APP.dbf' size 100M reuse autoextend on next 40M maxsize unlimited default storage(initial 128k next 128k minextents 2 maxextents unlimited);
删除表空间
drop tablespace TS_CLCS_APP including contents and datafiles cascade constraints;        
修改表空间名称
alter tablespace  TS_CLCS_APP rename to TS_CLCS;
创建用户和密码,并为用户指定表空间            
create user clcs identified by clcs default tablespace TS_CLCS_APP;        
将dba权限授权给用户;
grant connect,resource,dba to clcs;
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值