Centos7.6环境Docker安装Oracle19c企业版

最近需要搭建头寸管理系统Oracle 测试数据库,以下是通过Docker安装的19c版本,方便快捷,供大家参考。

Docker安装Oracle19c
说明:可以使用oracle官方镜像,也可以自己制作oracle dockerfile镜像。
制作oracle dockerfile镜像方法参考Docker Oracle镜像制作文章

github地址:https://github.com/oracle/docker-images.git

查找镜像

docker search oracle19c

在这里插入图片描述
拉取 oracle19c 镜像 通过-e参数设置容器运行的时区参数

docker run -d --name oracle19c -p 1521:1521 -p 5500:5500 --privileged=true -it -v /opt/soft/db/oracle//var/opt/oracle/data  -e TZ=Asia/Chongqing registry.cn-beijing.aliyuncs.com/zhouchaoyi/oracle19c:19.3

检查新生成的容器的时区

docker exec -it oracle19c date +"%Z %z"

CST+0800表示东8时区,正是设置的中国时区

进入容器设置密码

docker exec -it oracle19c /bin/bash 

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

./setPassword.sh ytxcc123 # ytxcc123为设置密码,这里修改为自己的即可

在这里插入图片描述
依次执行如下命令进入oracle并设置 PDB

grep $ORACLE_HOME /etc/oratab | cut -d: -f1

export ORACLE_SID=ORCLCDB

sqlplus / as sysdba

设置pdb

show pdbs;
alter session set container=ORCLPDB1;

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

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

在这里插入图片描述
最后测试登录
sqlplus 用户名/密码@服务名

sqlplus SYSTEM/ytxcc123@ORCLPDB1

在这里插入图片描述
创建账户密码

create user newfs identified by 123456;

授权账户

GRANT CONNECT, RESOURCE, DBA TO newfs;
grant create session to newfs;
grant connect,resource to  newfs;

在这里插入图片描述

create user enterprise identified by 123456;
GRANT CONNECT, RESOURCE, DBA TO enterprise;
grant create session to enterprise;
grant connect,resource to enterprise;

查询所有账户

SELECT * FROM ALL_USERS;

使用客户端链接:
账号:newfs
密码:123456
端口:1521
服务名称:ORCLPDB1

使用客户端链接:
账号:enterprise
密码:123456
端口:1521
服务名称:ORCLPDB1
在这里插入图片描述

特殊角色

DBA角色,是授权数据库管理员的权限

CONNECT角色, 是授予最终用户的典型权利,最基本的 一个(CREATE SESSION)

RESOURCE角色,是授予开发人员的 默认有八个权限(CREATE SEQUENCE,CREATE TRIGGER,CREATE CLUSTER,CREATE PROCEDURE,CREATE TYPE,CREATE OPERATOR,CREATE TABLE,CREATE INDEXTYPE)

exp_full_database角色,拥有导出数据库的权限

imp_full_database角色,拥有导入数据库的权限

GRANT
CONNECT,                
RESOURCE,               
--DBA,                  
--unlimited tablespace,
CREATE  SESSION,         
CREATE ANY SEQUENCE,     
CREATE ANY TABLE,        
CREATE ANY VIEW ,        
CREATE ANY INDEX,        
CREATE ANY PROCEDURE,    
CREATE ANY DIRECTORY,    
ALTER  SESSION, 
ALTER ANY SEQUENCE,     
ALTER ANY TABLE,        
--ALTER ANY VIEW ,        --不能修改视图
ALTER ANY INDEX,        
ALTER ANY PROCEDURE,    
--ALTER ANY DIRECTORY,    --不能修改目录
--DROP  SESSION,       --不能删除Session
DROP ANY SEQUENCE,     
DROP ANY TABLE,        
DROP ANY VIEW ,        
DROP ANY INDEX,        
DROP ANY PROCEDURE,    
DROP ANY DIRECTORY,    
SELECT ANY TABLE, 
SELECT ANY DICTIONARY,
INSERT ANY TABLE, 
UPDATE ANY TABLE, 
DELETE ANY TABLE,
DEBUG ANY PROCEDURE,
DEBUG CONNECT SESSION,
exp_full_database,  
imp_full_database     
TO NEWFS;

基本操作

查看用户拥有那些角色

select * from dba_role_privs a where a.grantee='NEWFS';

查看角色拥有那些权限

select * from dba_role_privs a where a.grantee='NEWFS';

为用户取消角色

revoke resource from newfs;
revoke DBA from newfs;

为用户取消权限

revoke unlimited tablespace from newfs;

查看Oracle的版本号

select * from v$version where rownum <=1;

新建:

create user newfs identified by 123456;

授权:

GRANT CONNECT, RESOURCE, DBA TO newfs;
grant create session to newfs;
grant connect,resource to newfs;
  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

jockerzoo@

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值