腾讯云centos7.6 docker安装oracle

一、拉取镜像

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

二、数据持久化到宿主主机,启动脚本 文件名为oralce11g.sh

oralce11g.sh

#!/bin/sh
docker run \
--restart=always \
-p 22:22 \
-p 1521:1521 \
--name oracle11g \
-v /soft/oracle-11g/data:/data/oracle \
-d registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g

三、执行脚本 启动镜像

sh oralce11g.sh

四、配置Oracle服务

4.1进入容器
docker exec -it oracle11g /bin/bash
4.2切换到root用户
su root
#密码 helowin

编辑配置文件

vi /etc/profile
#行末 unset -f pathmunge 下一行 按i 粘贴如下环境变量
export ORACLE_HOME=/home/oracle/app/oracle/product/11.2.0/dbhome_2
export ORACLE_SID=helowin 
export PATH=$ORACLE_HOME/bin:$PATH

#按esc 输入 :wq! 按enter

执行生效:

source /etc/profile

注意:
1、必须使用su root 否则 文件只读无法保存 E45: ‘readonly’ option is set (add ! to override)
2、必须source /etc/profile 否则 环境变量无效.

4.3配置软连接
ln -s $ORACLE_HOME/bin/sqlplus /usr/bin

五、修改Oracle默认密码

5.1切换到oracle 用户
su - oracle

注意:
一定要写中间的这条 - 必须要,否则软连接无效
需要切换到oracle用户 否则

Enter user-name: system
Enter password:
ERROR:
ORA-12546: TNS:permission denied
5.2修改Oracle用户
#容器切换oracle用户
su - oracle
#登录oracle dba
sqlplus /nolog;
conn /as sysdba;
#修改初始账号
alter user system identified by system;
alter user sys identified by sys ;
#添加自己的dba账号
create user 账户名 identified by 密码;
grant connect,resource,dba to 账户名;
#设置密码永不过期
ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;
#关闭
shutdown immediate;
#启动数据库
startup

六、docker中Oracle容器中创建数据库、创建表、创建用户并授权

6.1进入容器
docker exec -it oracle11g /bin/bash
6.2切换用户Oracle
先切换到root下,再切换到Oracle用户下
su root 
## 密码 helowin
su - oracle

#登录oracle dba
sqlplus /nolog;
conn /as sysdba;

#查看dbf存放位置
select * from dba_data_files;
查出为下面路径下
/home/oracle/app/oracle/oradata/helowin/

在这里插入图片描述

6.3创建表空间、创建用户、授权
/*分为四步 */
/*第1步:创建临时表空间  */
create temporary tablespace user_temp  
tempfile '/home/oracle/app/oracle/oradata/helowin/user_temp.dbf' 
size 50m  
autoextend on  
next 50m maxsize 20480m  
extent management local;  
 
/*第2步:创建数据表空间  */
create tablespace user_data  
logging  
datafile '/home/oracle/app/oracle/oradata/helowin/user_data.dbf' 
size 50m  
autoextend on  
next 50m maxsize 20480m  
extent management local;  
 
/*第3步:创建用户并指定表空间  */
create user username identified by password  
default tablespace user_data  
temporary tablespace user_temp;  
 
/*第4步:给用户授予权限  */
grant connect,resource,dba to username;

6.3数据库导入导出、表空间删除、删除用户、授权调整
-- 数据库导入1:正常情况
impdp bp_oracle/bp_oracle directory=dump_dir dumpfile=bp_oracle20210309.dmp

-- 数据库导入2:映射情况
impdp bp_oracle/bp_oracle directory=dump_dir dumpfile=ncp20210309.dmp remap_schema=ncp:bp_oracle remap_tablespace=ncp:bp_oracle

-- 数据导出,可以带版本
expdp bp_oracle/bp_oracle DIRECTORY=dump_dir dumpfile=bp_oracle.dmp version=10.2.0.1.0

-- 删除表空间
drop tablespace bp_oracle including CONTENTS and datafiles;

-- 删除用户 ,执行该语句请小心,会级联删除该用户下所有对象。
drop user bp_oracle cascade;

--修改用户密码
alter user bp_oracle identified by bp_oracle;

//撤权:revoke 权限...  from 用户名;
revoke dba from xxx;

//改变用户使用表空间的权限:
alter user 用户名 quota unlimited on 表空间; 
或 alter user 用户名 quota *M on 表空间;

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值