oracle 12c 容器数据库公共用户去访问pdb数据库

这篇具有很好参考价值的文章主要介绍了oracle 12c 容器数据库公共用户去访问pdb数据库。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

普通用户和公共用户

在oracle 12c之前数据库和数据库实例之间的关系是多对一或者一对一的关系,在oracle 12c 中引进了多租户的概念,实现了数据库实例可以对应多个数据库。cdb代表的是容器数据库,pdb代表的是可插拔数据库,实际上就是传统的数据库.而且现在也衍生了两种用户,一种是cbd用户,另外一种是pdb用户

pdb用户:只能访问可插拔数据库(pdb)
cbd用户:既可以访问cbd(根数据库),也可以访问pdb数据库(需要有权限)

创建cbd 用户

(1)打开sql plus
oracle 12c 容器数据库公共用户去访问pdb数据库
oracle 12c 容器数据库公共用户去访问pdb数据库

(2)用户登录 sys / as sysdba,查看当前容器是哪个容器数据库
oracle 12c 容器数据库公共用户去访问pdb数据库

oracle 12c 容器数据库公共用户去访问pdb数据库
可以看到我们目前处于一个cbd环境下。

(3)创建一个cdb环境下的公共用户, create user c##xxx identified by xxx;这里要注意,创建cdb用户必须要加上c##,否则会创建失败 如用户名未以C##或者c##开头,则会报错:ORA-65096: 公用用户名或角色名无效。
oracle 12c 容器数据库公共用户去访问pdb数据库
使用命令查看,创建的用户 select username ,con_id from cdb_users where username=‘C##XXX’;
oracle 12c 容器数据库公共用户去访问pdb数据库
注意:这里如果显示的不是很好的话,一列就换行,我们可以使用以下步骤:①set linesize = 200,② col username format a20;

可以看到上面的用户已经创建了,同样这个con_id=3代表的是第一个pdb数据库的id,说明这个用户也在pdb中创建了。

(4)给这个用户赋权让这个用户可以访问所有的容器:grant create session to c##xxx container=all;
oracle 12c 容器数据库公共用户去访问pdb数据库
(5)现在可以切换到pdb数据库 :
①查看容器数据库有哪些,可以看到状态,连接名称,是否开启。
oracle 12c 容器数据库公共用户去访问pdb数据库
②切换到pdb数据库,alter session set container = orclpdb;
oracle 12c 容器数据库公共用户去访问pdb数据库

③连接pdb: conn sys/orcl@pdb as sysdba(注意这个@pdb,如下图,连接到的服务。另外as sysdba也必须要加上,文件位置:D:\developsoftware\server\oracle12\oracle\app\product\12.2.0\dbhome_1\network\admin)
oracle 12c 容器数据库公共用户去访问pdb数据库
oracle 12c 容器数据库公共用户去访问pdb数据库
④给创建的cbd用户赋权:grant resource ,create session to c##xxx;
oracle 12c 容器数据库公共用户去访问pdb数据库
⑤使用cbd用户连接pdb数据库:conn c##xxx/xxx@pdb;
oracle 12c 容器数据库公共用户去访问pdb数据库
用pl sql去连接一下
oracle 12c 容器数据库公共用户去访问pdb数据库

oracle 12c 容器数据库公共用户去访问pdb数据库

如上图可以看到,我们也是可以连接上的。也可以看到这个这个数据库中有这个用户,如下图

oracle 12c 容器数据库公共用户去访问pdb数据库
⑥:先查看一下这个用户的权限 select * from dba_sys_privs where grantee=‘C##XXX’;
oracle 12c 容器数据库公共用户去访问pdb数据库
上面我们给用户权限,由于权限比较小,所以我们无法创建本地用户和表空间:所以我们给这个用户授予dba权限:
首先用sys/orcl@pdb登录上去,这个用户具有dba的权限
REVOKE DBA FROM 用户名(撤销权限)
授予权限:命令 GRANT unlimited tablespace to c##xxx;授权可以在表空间建表
GRANT CREATE USER TO C##XXX;授权可以创建用户;
GRANT CREATE TABLESPACE TO C##XXX;授权创建表空间
GRANT ALTER ANY TABLE TO C##XXX;授权可以修改表;
GRANT RESOURCE TO C##XXX;授权可以修改表(增删改查)
oracle 12c 容器数据库公共用户去访问pdb数据库

创建普通用户

①创建一个表空间(xxx代表表空间的逻辑名字,datafile:表空间的物理空间,size:初始大小,autoextend on next:初始空间用完后的扩展空间/每次,maxsize:最大空间)
create tablespace xxx datafile ‘d:\xxx.dbf’ size 50M autoextend on next 30m maxsize 100m;
oracle 12c 容器数据库公共用户去访问pdb数据库
②创建用户pdb create user xxx1 identified by xxx1 defalut tablespace xxx temporary tablespace temp account lock;(解释:xxx1是用户名和密码,可以自己指定,tablespace:用户所属的表空间,temporary tablespace:临时表空间,用来存储临时数据的,比如:排序数据,account lock,创建出来的用户是锁定装态)
oracle 12c 容器数据库公共用户去访问pdb数据库
③解锁创建的用户:alter user xxx1 account unlock;
oracle 12c 容器数据库公共用户去访问pdb数据库
④用户连接到pdb数据库:conn xx1/xx1@pdb;
oracle 12c 容器数据库公共用户去访问pdb数据库
这个时候我们登录的话,还是登录不上的,因为我们还没有给用户权限:
赋权:grant resource ,create session to xxx1;
grant restricted session to xxx1;
oracle 12c 容器数据库公共用户去访问pdb数据库
oracle 12c 容器数据库公共用户去访问pdb数据库

再次去连接:conn xxx1/xxx1@pdb
oracle 12c 容器数据库公共用户去访问pdb数据库

创建表

①创建表:create table a(a number(11,0),name varchar2(18));
oracle 12c 容器数据库公共用户去访问pdb数据库
②需要给用户进行表空间分配权限,才能进行操作表:alter user xxx1 quota unlimited on xxx;
或者:alter user xxx1 quota 5m on xxx; xxx代表表空间文章来源地址https://www.toymoban.com/news/detail-430027.html

到了这里,关于oracle 12c 容器数据库公共用户去访问pdb数据库的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 让数据无所畏惧!探索Oracle 12c的强大安全功能:数据红action、数据掩码、加密表空间、统一审计等功能|oracle 12c相对oralce 11g的新特性(4)

    oracle 12c引入了许多新的安全功能,如数据红action、数据掩码、加密表空间等,引入了统一审计功能,可以记录和监视对数据库的所有访问和操作,提高了数据的安全性。 功能说明: 这个功能用于在查询结果中对敏感数据进行动态脱敏,以保护数据隐私。例如,假设有一个员

    2024年02月07日
    浏览(43)
  • oracle 12 查询数据库锁

    在Oracle 12c中,查询数据库锁信息可以通过以下视图进行: v$locked_object :这个视图显示了当前被锁定的对象(如表、行等)的信息。 v s e s s i o n ∗ ∗ 和 ∗ ∗ v session** 和 **v sess i o n ∗ ∗ 和 ∗ ∗ v lock :这两个视图提供了关于会话和锁的详细信息,可以结合使用以获取更

    2024年01月25日
    浏览(47)
  • oracle数据库给用户授权DBA权限&Oracle查看哪些用户具有DBA权限

    步骤一:以sysdba身份登录到Oracle数据库 在授予DBA权限之前,我们首先要以sysdba身份登录到Oracle数据库。使用以下命令登录: 步骤二:创建用户(如有用户跳过) 要授予DBA权限,首先需要创建一个新用户。使用以下命令创建一个新用户: 步骤三:授予DBA权限 一旦用户创建成

    2024年02月09日
    浏览(48)
  • Oracle数据库中,授权某用户可以查询其他用户的表

    在Oracle数据库中,授权一个用户可以查看其他所有用户的表,需要执行以下步骤: 使用数据库管理员账号连接到Oracle数据库。 通过 GRANT 命令给用户授予必要的权限。例如,如果要授权用户 user1 可以查看所有其他用户的表,可以执行以下命令: 这条命令将授予 user1  SELECT

    2024年02月08日
    浏览(67)
  • Oracle 12c/19c PDB数据库配置自动启动

    在Oracle 12c/19c多租户环境中,默认情况下,使用startup命令启动数据库实例后,你会发现PDB数据库的状态为MOUNT状态,PDB不会随着CDB启动而启动。如下例子所示: Oracle 12.1.0.2之前,CDB启动后,所有的PDB都处于加载状态(MOUNTED)。CDB启动时,没有默认机制自动启动PDB。只能通过在

    2024年02月07日
    浏览(57)
  • oracle19c容器数据库rman备份特性-----性能优化(三)

    目录 冗余备份片 1.备份的时候指定 2.rman配置中设定 归档备份(将备份集保留) 二级备份(将备份文件保留) 1.备份闪回恢复区的恢复文件 2.备份所有恢复文件 recovery catalog database 1.創建recovery catalog 2.创建VPC  data recovery advisor 备份 如果一个数据文件很大,可以设置多通道并

    2024年02月01日
    浏览(51)
  • oracle 19c容器数据库data dump数据泵传输数据(4)---网络传输

    Transporting a Database Over the Network: Example 这个的方式导入可以不需要传输dmp文件,我原本是想从11g导入到pdb2的,但是因为版本的原因,就直接实验从pdb1导入到pdb2吧。 这种方式和前面完全传输的方式类似,不需要事先在目标数据库创建相同的表空间,而且不也不用有导出数据文

    2024年01月18日
    浏览(53)
  • 手工升级到Oracle 12C

    10.2.0.5,11.1.0.7,11.2.0.2以上版本可以直接升级到12c。 10.2.0.5以前的版本和11.2.0.1版需要先升级到中间版本,再升级到12c。 操作系统:Red Hat 8 Linux 64位 源数据库版本:Oracle 11.2.0.3 目标数据库版本:Oracle 12.1.0.2 备份源数据库(RMan) 执行Pre-Upgrade Information Tool(preupgrd.sql) 准备新

    2024年02月08日
    浏览(55)
  • Oracle database 静默安装 oracle12c 一键安装 12.1.0.2

    注意此安装脚本基于12.1.0.2 安装包 原始安装包结构为两个压缩包 此脚本使用安装包为原始压缩包解压后、 重新封装为一个.zip压缩包 Linux :centerOS 7 oracle :12.1.0.2 runInstaller应答文件 /database/response/db_install.rsp netca应答文件 /database/response/netca.rsp dbca应答文件 /database/response/dbc

    2024年02月03日
    浏览(62)
  • 【Oracle】Linux——Centos7安装Oracle12c

    官方网站:https://www.oracle.com 历史版本下载地址:https://edelivery.oracle.com/ (需要登录) 如果官方下载有问题,使用百度网盘:链接: https://pan.baidu.com/s/101U3P3KYUQ5p_zsAP1aCfw?pwd=6666 提取码: 6666 添加oinstall、dba 组,创建oracle用户,设置oracle用户密码(练习的话,为了方便记忆,建议不

    2024年03月20日
    浏览(59)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包