前言

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

一、修改listener.ora , tnsnames.ora

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
###listener.ora###
LISTENER =
(DESCRIPTION =
 (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
 (CONNECT_DATA = (SERVICE_NAME = orcl))
)
#sid list列举cdb和所有pdb的数据库名,所有sid与oracle环境变量保持一致#
SID_LIST_LISTENER =
(SID_LIST =
 (SID_DESC =
 (GLOBAL_DBNAME = orcl) #cdb db_name
 (SID_NAME = orcl)
 )
 (SID_DESC =
 (GLOBAL_DBNAME = pdborcl) #pdb db_name
 (SID_NAME = orcl)
 )
)
###listener.ora###
 
##tnsnames.ora###
#cdb
orcl =
(DESCRIPTION =
 (ADDRESS_LIST =
 (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521)) )
 (CONNECT_DATA =
 (SERVICE_NAME = orcl) #cdb的db_name
 )
)
#pdb
pdborcl =
(DESCRIPTION =
 (ADDRESS_LIST =
 (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
 )
 (CONNECT_DATA =
 (SERVICE_NAME = pdborcl) #pdb的db_name
 )
)
##tnsnames.ora###

在客户端连接时使用“service_name+domain_name”连接。如果出现ora-01017,很有可能是

二、创建pdb

cdb相当于操作系统,调用并管理各个pdb。pdb相当于真正提供业务需求的数据库实例。oracle 12c安装后只创建了cdb,需要自己生成相应的pdb。

1、创建pdb

在sqlplus下:

1
2
3
4
create pluggable database pdborcl
admin user pdbadmin identified by pdbadmin
role=(resource)
file_name_convert=( 'PDB$SEED's directory' , 'PDBOrcl's directory' );

2、同步文件

1
select pdb_name,status from cdb_pdbs

若pdb状态为need sync,则需要:

1
alter sesseion set container=pdborcl

shutdown immediate或者alter pluggable database pdborcl close immediate ;

1
2
alter pluggable database pdborcl open restricted ;
exec dbms_pdb.sync_pdb ; #调用dbms_pdb进行pdb

3、新增用户

1
2
create user scott account unlock identified by tiger ;
grant resource to scott ;

按照上述方法创建用户,如果出现ora-01017,很有可能是1、没有指定连接的service_name到具体pdb,或者oracle对密码大小写敏感。前者检查listener.ora中sid_list是否已经列出该pdb,并检查连接字符串是否在tnsnames.ora指定。后者如果无法修改前端程序,可以使用

1
alter system set SEC_CASE_SENSITIVE_LOGON = false ;

强制关闭oracle的大小写检查进行确认。

三、常用命令

show pdbs:查看当前数据库container中包含有多少个pdb。如果session在某个pdb中,可以查看当前的pdb。

1
alter session set container=PDBNAME

切换当前会话到某个pdb中。切换后才可使用当前pdb的私有用户进行操作

1
startup/shutdown immediate

关闭当前会话所在的cdb/pdb

1
alter pluggable database PDBNAME open ;

打开指定pdb

1
alter pluggable database PDBNAME close immediate ;

关闭指定pdb

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流。

oracle 12c创建可插拔数据库(PDB)与用户详解的更多相关文章

  1. Oracle 12c的可插拔数据库PDB

    1. 默认安装之后会有一个可插拔数据库:pdborcl 2. 启动根容器: [oracle@eric ~]$ export ORACLE_SID=orcl [oracle@eric ~]$ sqlpl ...

  2. oracle 12c创建可插拔数据库(PDB)及用户

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

  3. Oracle12cr1新特性之容器数据库(CDB)和可插拔数据库(PDB) 的启动和关闭

    Oracle12c中引入的多宿主选项(multitenant option)允许一个容器数据库容纳多个独立的可插拔数据库(PDB).本文将说明如何启动和关闭容器数据库(CDB)和可插拔数据库(PDB) ...

  4. oracle 12c新特性 FETCH FIRST、WITH TIES 关键字详解

    几乎都是官方文档上的内容.     [ OFFSET offset { ROW | ROWS} ] [ FETCH { FIRST | NEXT }[ { rowcount | percent PER ...

  5. oracle12c新特点之可插拔数据库(Pluggable Database,PDB)

    1.    12c PDB新特点的优势 1)    可以把多个PDB集成进一个平台. 2)    可以快速提供一个新的PDB或一个已有PDB的克隆. 3)    通过拔插技术,可以快速把存在的数据库重 ...

  6. oracle 12C的新特性-CDB和PDB

    1.前言 CDB与PDB是Oracle 12C引入的新特性,在ORACLE 12C数据库引入的多租用户环境(Multitenant Environment)中,允许一个数据库容器(CDB)承载多个可插 ...

  7. Oracle 12C 新特性 - “可插拔数据库”功能

    Oracle 12C加入了一个非常有新意的功能"可插拔数据库"特性,实现了数据库(PDB)在"容器"(CDB)上的拔功能,既能提高系统资源的利用率,也简化大面积 ...

  8. 12c可插拔数据库CDB与PDB管理总结

    12c可插拔数据库CDB与PDB管理总结 创建pdb1.直接创建 CREATE PLUGGABLE DATABASE pdb2 ADMIN USER boswll IDENTIFIED BY orac ...

  9. 如何连接oracle 12c可插拔数据库

    启动根容器:[oracle@eric ~]$ export ORACLE_SID=cup[oracle@eric ~]$ sqlplus / as sysdbaSQL*Plus: Release 12 ...

随机推荐

  1. C++中虚函数的作用

    一, 什么是虚函数(如果不知道虚函数为何物,但有急切的想知道,那你就应该从这里开始) 简单地说,那些被virtual关键字修饰的成员函数,就是虚函数.虚函数的作用,用专业术语来解释就是实现多态性(Po ...

  2. everything不显示移动硬盘中路径

    点击他的设置选项,里面有NTFS,移除那些硬盘就可以了.

  3. ELK日志分析系统

    部署环境 192.168.1.147 kibana.logstash.Escluster-node-1 192.168.1.151 filebeat.Escluster-node-2.nginx 软件 ...

  4. Java中五种遍历HashMap的方式

    import java.util.HashMap; import java.util.Iterator; import java.util.Map; public class Java8Templat ...

  5. layui使用iconfont

    layui的图标取自于阿里巴巴的矢量图标库 Iconfont,同样的,这篇教程也是基于Iconfont进行扩展. 第一步,通过浏览器打开 http://iconfont.cn/ ,访问阿里巴巴矢量图标 ...

  6. Linux系统更改默认Python版本

    Linux 默认的Python版本为Python2.X,但是在很多时候我们需要使用Python3.X,那么我们需要更改Linux的默认Python版本,更改很简单,只需要两句话. sudo updat ...

  7. opencv学习之路(9)、对比度亮度调整与通道分离

    一.对比度亮度调整 #include<opencv2/opencv.hpp> using namespace cv; #define WIN_NAME "输出图像" M ...

  8. linux 查看和修改文件时间

    参考:https://www.cnblogs.com/chjbbs/p/6437879.html?utm_source=itdadao&utm_medium=referral . 同时修改文件 ...

  9. 【Python019--函数与过程】

    一.函数与过程 1.Python只有函数没有过程 >>> def hello():    print('Hello  fishC!')>>> temp = hell ...

  10. You have new mail in /var/spool/mail/root

    centos7.5 查看邮件的方式: [root@web01 code]# yum -y install mailx #安装mailx [root@web01 code]# mail #执行mail命 ...