Oracle12c创建可插入式数据库pdb和连接pdb并创建用户心得
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”’
- 使用sqlplus指定pdb用户登录
- 使用connect指定pdb用户登录
- 使用connect指定pdb用户登录
- navicat
- 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并创建用户心得相关推荐
- mysql创建复杂表_数据库_MySQL_复杂的表结构创建
本例示例下复杂的表结构创建, 大致分为两张表 user表 和 authority(权限表) 每个用户对应一种权限,默认为1(普通用户) 灵感来源:(仿照 进程的优先级, 优先级越高的进程,数字越小) ...
- VisionOS文档翻译与实践4-在你的应用中创建完全沉浸式
题解 | #牛客网连续练习题目3天及以上的用户# from datetime import timedeltaimport pandas as pdpd.set_option('display.wid ...
- oracle12c非可插拔数据库,oracle 12c创建可插拔数据库(PDB)与用户详解
前言 由于oracle 12c使用了CDB-PDB架构,类似于docker,在container-db内可以加载多个pluggable-db,因此安装后需要额外配置才能使用. 一.修改listener ...
- mongodb添加创建修改时间_MongoDB数据库插入、更新和删除操作详解
一.Insert操作 Insert操作是MongoDB插入数据的基本方法,对目标集合使用Insert操作,会将该文档添加到MongoDB并自动生成相应的ID键.文档结构采用类似JSON的BSON格式. ...
- 数据库的基本命令 创建数据库 创建表 插入数据
1 .查看所有的数据库: mysql> show databases; 2.创建数据库 mysql> show databases; 3.创建二个表 student 和score mysq ...
- 分步式数据库_创建真实数据科学项目的分步指南
分步式数据库 As an inspiring data scientist, building interesting portfolio projects is key to showcase yo ...
- 分步式数据库_创建真实数据科学档案项目的分步指南
分步式数据库 As an inspiring data scientist, building interesting portfolio projects is key to showcase yo ...
- 数据库建立索引、数据表创建规则、备用字段 / 保留字段 / 预留字段
数据库建立索引 数据库.数据表建立索引的原则 数据库建立索引的原则 1,确定针对该表的操作是大量的查询操作还是大量的增删改操作. 2,尝试建立索引来帮助特定的查询.检查自己的sql语句,为那些频繁在w ...
- MySQL数据库引擎介绍、区别、创建和性能测试的深入分析
深入理解MySQL的数据库引擎的类型 作者: 字体:[增加 减小] 类型:转载 本篇文章是对MySQL的数据库引擎的类型进行了详细的分析介绍,需要的朋友参考下 你能用的数据库引擎取决于mysql在 ...
- 支持百亿数据场景,海量高性能列式数据库HiStore技术架构解析
支持百亿数据场景,海量高性能列式数据库HiStore技术架构解析 HiStore介绍 HiStore是阿里中间件团队研发的数据库产品,是一款基于独特的知识网格技术的列式数据库,定位于海量数据高压缩比列 ...
最新文章
- ftp windows无法访问此文件夹请确保输入的文件名_企业实战|企业FTP搭建
- JS类型判断、对象克隆、数组克隆
- 百度李彦宏携三人赴港二次上市,网站推广之下百度的未来愈加可期
- 代码逻辑分析_入行数据分析师不得不看的10本书
- 交换排序 java_java实现交换排序
- Linux 光盘的挂载和解挂
- delete优化_深入理解JIT和编译优化
- vue 判断页面加载完成_vue之骨架屏踩坑之路
- nexttick使用场景_Vue -- nextTick
- java class 文件
- C#实现HTTP下载文件的方法
- html+css实现漂亮的透明登录页面,HTML实现炫酷登录页面
- 平安oracle面试考题,中国平安银行面试笔试题目 软件测试方向
- Element 入门教程
- AMD64(x86_64)架构abi文档:上
- 抑郁症,莫要讳疾忌医。
- css3简单实现页面中出现雪花飘落效果
- python panda3d教程_panda3d学习笔记(一)Hello World
- dnf吸怪源码c语言,发DNF源码了
- 计算机房在单位的作用,你们单位计算机房工作人员临时不在,单位人事部小陈,路过计算机房闻...