我的编程空间,编程开发者的网络收藏夹
学习永远不晚

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

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

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

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


一、修改listener.ora , tnsnames.ora
###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下:

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

2、同步文件

select pdb_name,status from cdb_pdbs

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

alter sesseion set container=pdborcl
shutdown immediate或者alter pluggable database pdborcl close immediate ;
alter pluggable database pdborcl open restricted ;
exec dbms_pdb.sync_pdb ; #调用dbms_pdb进行pdb


3、新增用户
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指定。后者如果无法修改前端程序,可以使用

alter system set SEC_CASE_SENSITIVE_LOGON = false ;

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


三、常用命令

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

alter session set container=PDBNAME

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

startup/shutdown immediate

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

alter pluggable database PDBNAME open ;

打开指定pdb

alter pluggable database PDBNAME close immediate ;

关闭指定pdb

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

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

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

oracle数据库如何创建用户

在Oracle数据库中,创建用户可以通过以下步骤进行:使用管理员权限登录到Oracle数据库中。执行以下SQL语句来创建用户:CREATE USER username IDENTIFIED BY password;其中,username是要
oracle数据库如何创建用户
2024-05-06

命令行下创建MySQL数据库与创建用户以及授权

C:UsersXXX>mysql -u root -p 输入密码后登录,接下来操作如下: 1、创建数据库 语法:create schema [数据库名称] default character set utf8 collate utf8_general_ci;
命令行下创建MySQL数据库与创建用户以及授权
2018-12-13

Oracle数据库:创建查询用户的步骤详解

Oracle数据库:创建查询用户的步骤详解在Oracle数据库中,用户是指具有数据库访问权限的实体。创建查询用户是数据库管理中的常见操作,本文将详细介绍创建查询用户的步骤,并提供具体的代码示例以便读者参考。步骤一:连接到Oracle数据
Oracle数据库:创建查询用户的步骤详解
2024-03-02

Oracle数据库操作指南:快速创建查询用户

Oracle数据库操作指南:快速创建查询用户在Oracle数据库中,为了提高数据库管理的效率和安全性,通常会为不同的用户分配不同的权限和角色。为了在数据库中创建一个具有查询权限的用户,以下是一些具体的代码示例和步骤:步骤一:登录到Ora
Oracle数据库操作指南:快速创建查询用户
2024-03-02

如何创建一个新的用户在Oracle数据库中

要在Oracle数据库中创建一个新用户,可以按照以下步骤进行:以具有创建用户权限的用户登录到Oracle数据库中。使用以下语法创建新用户:CREATE USER username IDENTIFIED BY password;其中,user
如何创建一个新的用户在Oracle数据库中
2024-04-09

如何在Oracle数据库中创建用户并分配权限

要在Oracle数据库中创建用户并分配权限,可以按照以下步骤进行操作:使用sys用户登录到Oracle数据库。执行以下SQL语句创建新用户:CREATE USER new_user IDENTIFIED BY password;其中,new
如何在Oracle数据库中创建用户并分配权限
2024-03-02

编程热搜

目录