Oracle12c创建可插入式数据库pdb和连接pdb并创建用户心得

创建可插接式数据库

  • 启动oracle数据库
#使用sqlplu / as sysdba登录数据库主容器
[oracle@localhost ~]$ sqlplus / as sysdba;SQL*Plus: Release 12.2.0.1.0 Production on Sat Apr 23 01:05:14 2022Copyright (c) 1982, 2016, Oracle.  All rights reserved.Connected to:
Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production#启动数据库主容器实例
SQL> startup
ORACLE instance started.Total System Global Area 2147483648 bytes
Fixed Size                  8794848 bytes
Variable Size            1090522400 bytes
Database Buffers         1040187392 bytes
Redo Buffers                7979008 bytes
Database mounted.
Database opened.
#查看数据库pdb(可插拔数据库)
SQL> show pdbs;CON_ID CON_NAME                       OPEN MODE  RESTRICTED
---------- ------------------------------ ---------- ----------2 PDB$SEED                       READ ONLY  NO3 PDBORCL                        MOUNTED
  • 默认安装oracle的时候,会设置为一个PDBORCL,如果不使用安装时的pdborcl这个,你可以用一下语句创建一个可插入数据库
create pluggable database reportdb admin user report identified by pwd_reportroles=(connect)file_name_convert=('/oracle/oradata/orcl/pdbseed','/oracle/oradata/orcl/reportpdb');

其中reportdb是我创建的可插接式数据库,report是创建的用户,pwd_report是密码。
file_name_convert换成相应目录,注意/oracle/oradata/orcl为具体数据库实例orcl的所在文件夹

  • 创建完成后,启动可插接式数据库,
SQL> alter session set container=reportdb;
SQL> alter pluggable database reportdb open;
SQL> grant dba to report;
  • 接下来关键来了,在/oracle/product/12.2.0/db_1/network/admin目录下找到tnsnames.ora,没有可以下samples目录下复制一个示例tnsnames.ora到该目录下
cd /oracle/product/12.2.0/db_1/network/admin
vim tnsnames.ora

添加一下内容

LISTENER_ORCL =(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))REPORTDB =(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))(CONNECT_DATA =(SERVER = DEDICATED)(SERVICE_NAME = REPORTDB)))

REPORTDB就是你创建的可插入数据库,SERVICE_NAME的内容就是服务名

  • 保存好后,只需重启监听程序可以,如果无效,重启oracle服务
[oracle@db12c ~]$ lsnrctl reload[oracle@db12c ~]$ lsnrctl stop[oracle@db12c ~]$ lsnrctl start
  • 如果连接数据库(pdb可插拔数据库)出现Oracle 12c 报ORA-01017: invalid username/password; login denied,有可能是pdb未启动,需要按照以下步骤排查并启动
#使用sqlplu / as sysdba登录数据库主容器
[oracle@localhost ~]$ sqlplus / as sysdba;SQL*Plus: Release 12.2.0.1.0 Production on Sat Apr 23 01:05:14 2022Copyright (c) 1982, 2016, Oracle.  All rights reserved.Connected to:
Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production
#关闭数据库主容器实例
SQL> shutdown immediate ;
Database closed.
Database dismounted.
ORACLE instance shut down.#启动数据库主容器实例
SQL> startup
ORACLE instance started.Total System Global Area 2147483648 bytes
Fixed Size                  8794848 bytes
Variable Size            1090522400 bytes
Database Buffers         1040187392 bytes
Redo Buffers                7979008 bytes
Database mounted.
Database opened.
#查看数据库pdb(可插拔数据库)
SQL> show pdbs;CON_ID CON_NAME                       OPEN MODE  RESTRICTED
---------- ------------------------------ ---------- ----------2 PDB$SEED                       READ ONLY  NO3 REPORTDB                       MOUNTEDSQL> alter session set container=REPORTDB;Session altered.
#启动pdb,(或使用: alter pluggable database REPORTDB open;)
SQL> startup
Pluggable Database opened.
SQL> show pdbs;CON_ID CON_NAME                       OPEN MODE  RESTRICTED
---------- ------------------------------ ---------- ----------3 REPORTDB                       READ WRITE NOSQL>
————————————————
OPEN MODE的状态为READ WRITE 代表成功
  • 使用sqlpuls或者navicat验证REPORTDB的report账号是否能登录

    • 使用sqlplus指定pdb用户登录
      语法:sqlplus username/password@IP:port/pdb_name
      若密码中含有“@”,“$”中等特殊字符,则将用密码需加上双引号:sqlplus ‘username/“password”’
    • 使用connect指定pdb用户登录
    • navicat

创建新的PDB用户并授予基本权限的操作过程

  • 进入具体的pdb(可插拔数据库)
[oracle@db12c ~]$ sqlplus / as sysdba;SQL*Plus: Release 12.2.0.1.0 Production on Sat Apr 23 15:21:53 2022Copyright (c) 1982, 2016, Oracle.  All rights reserved.Connected to:
Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit ProductionSQL> show pdbs;CON_ID CON_NAME                       OPEN MODE  RESTRICTED
---------- ------------------------------ ---------- ----------2 PDB$SEED                       READ ONLY  NO3 ODSPDB                         MOUNTED4 REPORTDB                       READ WRITE NO
#进入REPORTDB
SQL> alter session set container=REPORTDB;Session altered.#查看当前模式
SQL> select sys_context ('USERENV', 'CON_NAME') from dual;SYS_CONTEXT('USERENV','CON_NAME')
--------------------------------------------------------------------------------
REPORTDB
  • 创建test用户
#创建用户:test 密码:pwd_123456
SQL> CREATE USER test IDENTIFIED BY pwd_123456;User created.#授予dba权限
SQL> grant dba to test;Grant succeeded.
  • 用户登录
SQL> conn test/123456;
ERROR:
ORA-01017: invalid username/password; logon deniedWarning: You are no longer connected to ORACLE.

不能使用connect直接登录在pdb中创建的普通用户,普通用户登录需指定pdb

  • 使用sqlplus指定pdb用户登录
    语法:sqlplus username/password@IP:port/pdb_name
    若密码中含有“@”,“$”中等特殊字符,则将用密码需加上双引号:sqlplus ‘username/“password”’
1. [oracle@localhost ~]$ sqlplus test/pwd_123456@192.168.1.157:1521/REPORTPDBSQL*Plus: Release 12.2.0.1.0 Production on Sat Apr 23 01:29:24 2022Copyright (c) 1982, 2016, Oracle.  All rights reserved.Connected to:
Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit ProductionSQL> show user;
USER is "TEST"
  • 使用connect指定pdb用户登录
#使用sysdba用户登录数据库
[oracle@localhost ~]$ sqlplus / as sysdbaSQL*Plus: Release 12.2.0.1.0 Production on Fri Jun 4 13:38:39 2021Copyright (c) 1982, 2016, Oracle.  All rights reserved.Connected to:
Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production
#使用test用户登录REPORTPDB可插拔数据库
SQL> conn test/pwd_123456@REPORTPDB
Connected.

Oracle12c查询不同pdb有哪些新建用户

  • 描述
    先查询系统有哪些pdb,然后根据pdb的con_id查询特定pdb有哪些新建用户
  • 操作
SQL> show pdbs;CON_ID CON_NAME                       OPEN MODE  RESTRICTED
---------- ------------------------------ ---------- ----------2 PDB$SEED                       READ ONLY  NO3 PDBSKY                         READ WRITE NO4 PDBCLOUD                       READ WRITE NO5 REPORTPDB                      READ WRITE NO
SQL> select a.name,b.username, b.password,b.createdfrom v$pdbs aleft join cdb_users b on a.con_id = b.con_idorder by 1;NAME                 USERNAME             PASSWORD             CREATED
-------------------- -------------------- -------------------- --------------
PDBCLOUD             PDBCLOUD                                  03-6月 -19
PDBCLOUD             CLOUD                                     04-6月 -19
PDBSKY               PDBSKY                                    03-6月 -19
PDBSKY               PSKY                                      04-6月 -19
REPORTPDB            TEST                                      04-6月 -19

Oracle12c创建可插入式数据库pdb和连接pdb并创建用户心得相关推荐

  1. mysql创建复杂表_数据库_MySQL_复杂的表结构创建

    本例示例下复杂的表结构创建, 大致分为两张表 user表 和 authority(权限表) 每个用户对应一种权限,默认为1(普通用户)  灵感来源:(仿照 进程的优先级, 优先级越高的进程,数字越小) ...

  2. VisionOS文档翻译与实践4-在你的应用中创建完全沉浸式

    题解 | #牛客网连续练习题目3天及以上的用户# from datetime import timedeltaimport pandas as pdpd.set_option('display.wid ...

  3. oracle12c非可插拔数据库,oracle 12c创建可插拔数据库(PDB)与用户详解

    前言 由于oracle 12c使用了CDB-PDB架构,类似于docker,在container-db内可以加载多个pluggable-db,因此安装后需要额外配置才能使用. 一.修改listener ...

  4. mongodb添加创建修改时间_MongoDB数据库插入、更新和删除操作详解

    一.Insert操作 Insert操作是MongoDB插入数据的基本方法,对目标集合使用Insert操作,会将该文档添加到MongoDB并自动生成相应的ID键.文档结构采用类似JSON的BSON格式. ...

  5. 数据库的基本命令 创建数据库 创建表 插入数据

    1 .查看所有的数据库: mysql> show databases; 2.创建数据库 mysql> show databases; 3.创建二个表 student 和score mysq ...

  6. 分步式数据库_创建真实数据科学项目的分步指南

    分步式数据库 As an inspiring data scientist, building interesting portfolio projects is key to showcase yo ...

  7. 分步式数据库_创建真实数据科学档案项目的分步指南

    分步式数据库 As an inspiring data scientist, building interesting portfolio projects is key to showcase yo ...

  8. 数据库建立索引、数据表创建规则、备用字段 / 保留字段 / 预留字段

    数据库建立索引 数据库.数据表建立索引的原则 数据库建立索引的原则 1,确定针对该表的操作是大量的查询操作还是大量的增删改操作. 2,尝试建立索引来帮助特定的查询.检查自己的sql语句,为那些频繁在w ...

  9. MySQL数据库引擎介绍、区别、创建和性能测试的深入分析

    深入理解MySQL的数据库引擎的类型 作者: 字体:[增加 减小] 类型:转载 本篇文章是对MySQL的数据库引擎的类型进行了详细的分析介绍,需要的朋友参考下   你能用的数据库引擎取决于mysql在 ...

  10. 支持百亿数据场景,海量高性能列式数据库HiStore技术架构解析

    支持百亿数据场景,海量高性能列式数据库HiStore技术架构解析 HiStore介绍 HiStore是阿里中间件团队研发的数据库产品,是一款基于独特的知识网格技术的列式数据库,定位于海量数据高压缩比列 ...

最新文章

  1. ftp windows无法访问此文件夹请确保输入的文件名_企业实战|企业FTP搭建
  2. JS类型判断、对象克隆、数组克隆
  3. 百度李彦宏携三人赴港二次上市,网站推广之下百度的未来愈加可期
  4. 代码逻辑分析_入行数据分析师不得不看的10本书
  5. 交换排序 java_java实现交换排序
  6. Linux 光盘的挂载和解挂
  7. delete优化_深入理解JIT和编译优化
  8. vue 判断页面加载完成_vue之骨架屏踩坑之路
  9. nexttick使用场景_Vue -- nextTick
  10. java class 文件
  11. C#实现HTTP下载文件的方法
  12. html+css实现漂亮的透明登录页面,HTML实现炫酷登录页面
  13. 平安oracle面试考题,中国平安银行面试笔试题目 软件测试方向
  14. Element 入门教程
  15. AMD64(x86_64)架构abi文档:上
  16. 抑郁症,莫要讳疾忌医。
  17. css3简单实现页面中出现雪花飘落效果
  18. python panda3d教程_panda3d学习笔记(一)Hello World
  19. dnf吸怪源码c语言,发DNF源码了
  20. 计算机房在单位的作用,你们单位计算机房工作人员临时不在,单位人事部小陈,路过计算机房闻...

热门文章

  1. TIMIT语音库下载以及语音库WAV转换相关问题
  2. 微波雷达感应模块,智能洗衣机雷达技术方案,自动感应开门应用
  3. 微信小程序怎么开店铺
  4. bandicom录屏音画不同步_bandicam录屏工具
  5. 贱人工具箱使用技巧3——方向复制
  6. FS4054单节锂电池充电管理芯片,IC电路图
  7. PHICOMM(斐讯)N1盒子 - 外接显示器刷机调试方案
  8. HaaS506-HD1本地更新固件教程
  9. js 验证联系方式 手机号码及座机号码
  10. 2022-2027年中国血液制品行业市场深度分析及投资战略规划报告