SYS@orcl> select name from v$datafile;
NAME
------------------------------------------------------------------------------------------------------------------------
/oradata/ORCL/system01.dbf
/oradata/ORCL/sysaux01.dbf
/oradata/ORCL/undotbs01.dbf
/oradata/ORCL/pdbseed/system01.dbf
/oradata/ORCL/pdbseed/sysaux01.dbf
/oradata/ORCL/users01.dbf
/oradata/ORCL/pdbseed/undotbs01.dbf
7 rows selected.
SYS@orcl> show pdbs
CON_ID CON_NAME OPEN MODE RESTRICTED
---------- ------------------------------ ---------- ----------
2 PDB$SEED READ ONLY NO
SYS@orcl>
1 连接 CDB 和 PDB
1.1 设置 ORACLE_SID
配置 ORACLE_SID,使用 OS 验证连接 cdb1
[oracle@orcl19c:/home/oracle]$ export ORACLE_SID=cdb1
[oracle@orcl19c:/home/oracle]$ echo $ORACLE_SID1.2 连接多租户数据库 cdb1
设置了 ORACLE_SID 环境变量后,直接使用 sqlplus 本地操作系统认证登录
[oracle@orcl19c:/home/oracle]$ sqlplus / as sysdbadbca 建库后, tnsnames.ora 中已经增加了 ORCL
[oracle@orcl19c:/home/oracle]$ cat $ORACLE_HOME/network/admin/tnsnames.ora
# tnsnames.ora Network Configuration File: /u01/app/oracle/product/19.3.0/db/network/admin/tnsnames.ora
# Generated by Oracle configuration tools.
LISTENER_ORCL =
(ADDRESS = (PROTOCOL = TCP)(HOST = orcl19C)(PORT = 1521))
ORCL =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = orcl19C)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl)
)
)
使用 tnsnames 服务名登录
[oracle@orcl19c:/home/oracle]$ sqlplus sys/oracle@ORCL as sysdba1.3 查看数据库是否是多租户数据库
SYS@ORCL> select name,cdb from v$database;
NAME CDB
--------- ---
ORCL YES1.4 查看当前连接的容器
SYS@ORCL> show con_name
CON_NAME
------------------------------
CDB$ROOT
SYS@ORCL> show con_id
CON_ID
------------------------------
11.5 查看可插拔数据库 pdb 状态
SYS@ORCL> select name,con_id,open_mode from v$pdbs;
NAME CON_ID OPEN_MODE
------------------------------ ---------- ----------
PDB$SEED 2 READ ONLY
SYS@ORCL> show pdbs
CON_ID CON_NAME OPEN MODE RESTRICTED
---------- ------------------------------ ---------- ----------
2 PDB$SEED READ ONLY NO1.6 连接到可插拔数据库 pdb
方法一:alter session set container
SYS@cdb1> alter session set container=pdb1;
SYS@cdb1> show con_name
方法二:使用服务名连接
查看 pdb1 服务名
SYS@cdb1> select name,con_id from v$services;
ezconnect 方式
使用 ezconnect 的方式,明确指定主机名(ip 地址)、端口号、服务名
[oracle@orcl19c ~]$ sqlplus sys/oracle@192.168.30.81:1521/pdb1 as sysdba
配置 tnsnames.ora 增加 pdb1
编写客户端网络配置文件 tnsnames.ora,增加 pdb1 的配置
[oracle@orcl19c ~]$ cd $ORACLE_HOME/network/admin
[oracle@orcl19c admin]$ vi tnsnames.ora
pdb1 =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = orcl19C)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl)
)
)
sqlplus 通过服务名连接 pdb1
[oracle@orcl19c ~]$ sqlplus sys/oracle@pdb1 as sysdba
SYS@pdb1> show con_name
SYS@pdb1> show pdbs
cdb 使用 connect 命令切换到 pdb
查看当前容器
SYS@cdb1> show pdbs
sqlplus 中使用 connect 命令直接切换到 pdb1
SYS@cdb1> conn sys/oracle@pdb1 as sysdba
SYS@pdb1> show pdbs1.7 pdb 切换回 cdb
1.7.1 方法一:alter session set container
SYS@pdb1> alter session set container=cdb$root;
SYS@pdb1> show pdbs
建议通过服务名的方式切换或连接
SYS@pdb1> conn sys/oracle@cdb1 as sysdba原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。