이 기사에서는 Oracle에 대한 관련 지식을 제공하며, Oracle 컨테이너 데이터베이스에 대한 기본 지식, 컨테이너 데이터베이스 설치 및 사용, 컨테이너 데이터베이스를 포함하여 컨테이너 데이터베이스의 설치 및 사용과 관련된 문제를 주로 정리합니다. 창작 및 기타 내용이 모두에게 도움이 되기를 바랍니다.
추천 튜토리얼: "Oracle Video Tutorial"
Oracle 컨테이너 데이터베이스에 대한 기본 지식
플러그형 데이터베이스라고도 하는 컨테이너 데이터베이스는 멀티 테넌트 컨테이너라고도 부를 수 있습니다. 데이터베이스
Oracle 다중 테넌트 컨테이너 데이터베이스(CDB)
CDB는 Oracle 12C에 도입된 기능으로, 하나 이상의 플러그형 数据库
데이터베이스를 수용할 수 있습니다 이 기능을 사용하면 CDB 컨테이너에서 여러 데이터베이스를 생성하고 유지 관리할 수 있습니다. 데이터베이스, CDB에서 생성된 데이터베이스를 PDB라고 하며, 각각의 PDB는 CDB에 독립적으로 존재하며, PDB만 사용하는 경우에는 일반 데이터베이스와 다르지 않습니다. CDB 루트 컨테이너 데이터베이스의 주요 기능은 관련된 모든 PDB의 메타데이터를 수용하고 CDB의 모든 PDB를 관리하는 것입니다. 즉, 컨테이너를 CDB라고 하고, 컨테이너에 포함된 하위 데이터베이스를 PDB라고 합니다.
컨테이너 데이터베이스 구성
2.1.1ROOT
각 CDB 환경에는 루트 컨테이너 데이터베이스가 하나만 있을 수 있습니다. 2.1.2CDB 시드
CDB 시드는 데이터 파일을 제공하는 PDB의 시드이며 CDB 환경에서 PDB로 식별됩니다SEED, **새 PDB를 생성하기 위한 템플릿**, 연결 가능 PDB로
SEED,createbuildnewP DB의 금형 boardautoauto,you P와 연결할 수 있습니다. DBSEED, 하지만 PDB$SEED는 읽기 전용이고 수정될 수 없기 때문에 아무 것도 실행할 수 없습니다. 2.1.3PDBs PDB 데이터베이스는 각 PDB가 CDB 환경에 독립적으로 존재하며 기본적으로 기존 Oracle 데이터베이스와 다르지 않습니다. 유일한 차이점은 PDB를 CDB에 삽입할 수 있다는 것입니다. CDB는 CDB에서 분리되며, 어느 시점에서든 PDB는 분리되거나 CDB에 연결되어야 하며 사용자가 PDB에 연결할 때 루트 컨테이너와 다른 PDB의 존재가 느껴지지 않습니다. Oracle은 12cR2 버전에서 컨테이너 기능을 향상했습니다. 또한, 애플리케이션 루트라는 컨테이너를 생성하고 애플리케이션 루트에 의존하는 여러 애플리케이션 PDB를 생성할 수도 있습니다. 이전 버전에서는 단일 PDB에 여러 사용자가 있을 수 있었고 각 사용자는 자체 테이블 공간을 가질 수 있었습니다. CDB 수준까지 사용자는 记得之前的版本安装时的第四步要取消勾选容器数据库吗 在安装好之后,打开sqlplus,用管理员账户登录 先将会话切换至想用的PDB。 首先,还是用管理员账户登录(此时数据库选项里是没有我们想用的PDB的) 上面说了,PDB里是没有我们所知道的Scott用户的,这里需要我们重新创建他 创建表空间,为用户指定表空间及为用户授予权限都与以前的使用方式一样。 想要用plsql登录PDB,我们需要更改一个配置文件 如果连接可插拔数据库时出现: PDB数据库的创建可以从现存的数据库中复制数据文件,包括种子容器、可插拔数据库、non-CDB数据库,创建时可以使用CREATE PLUGGABLE、RMAN、DBCA以及EM等。 使用CREATE PLUGGABLE命令可以使用以下资源创建PDB: 链接: Oracle 12c系列(七)| Non-CDB转换为PDB 拔下的PDB 使用DBCA可以使用以下资源创建PDB: 这种方式可以通过使用当前CDB中的其他PDB,以及复制远端CDB中的PDB,还可以复制non-CDB数据库创建成PDB。 Clone a Local PDB 这里使用YPDB1做为源PDB,创建的PDB为YPDB2。 (2) 检查是否未archivelog模式 (3) 创建验证数据 (4) 执行CREATE PLUGGABLE DATABASE语句(这里使用sys用户连接根容器) (5) 查看创建完成的YPDB2 (6) 检查数据文件 (7) 检查service_name 源PDB中的service_name已经被更改指定的service_name. (8) 检查验证数据 如果PDB被Clone到的CDB的字符集不是AL32UTF8,那么源与目标字符集必须兼容。 源端与目标端的字节顺序必须相同。 连接的用户在CDB中必须拥有’CREATE PLUGGABLE DATABASE’的权限。 源PDB不可以是关闭状态。 如果远端CDB为shared undo,源PDB必须为READ-ONLY状态。 如果远端CDB不是归档模式,源PDB必须为READ-ONLY状态。 这里测试将win平台ORA12CW中的PDB(ORA12CWPDB)复制到Linux的,目标PDB为PDB2。 (1) 查看源端与目标的字符集 (3) 查看源端归档模式 (4) 查看源端undo模式 (5) 目标端创建dblink (6) 运行CREATE PLUGGABLE DATABASE语句进行复制PDB (7) 创建完成后目标端查看PDB2 (8) 目标查看数据文件 克隆远端的PDB成功。 在克隆已有的PDB或者non CDB时,我们也可以将克隆语句中加入NO DATA子句,在使用NO DATA子句时,仅仅会克隆源PDB中的模型定义,并不会克隆PDB中的数据。(Oracle数据库内自动创建的schemas下的对象会被成功克隆,而用户创建的schemas下的对象仅仅会克隆对象的定义结构)。 测试克隆本地PDB时使用no data子句 这里将WOQUPDB克隆为PDBTEST. (1)源PDB (2)检查UNDO模式及归档模式 (3)创建测试数据表t,注意这里的t表位于sys用户下 表t中共有10条数据。 (5)使用create pluggable database + NO DATA子句创建pdb:pdbtest (6)检查克隆完成的pdbtest (7)查看测试数据 通过测试可以看到sys下的对象中的数据依然克隆成功,而自建用户下的对象中数据并没有跟着一起克隆。 推荐教程:《Oracle视频教程》2.1.4애플리케이션 컨테이너
간단히 말해서 컨테이너는 containers 내에서 생성될 수도 있습니다. 루트 환경의 사용자
공용 사용자와 로컬 사용자의 두 가지 범주로 나누어졌습니다. .
공개 사용자는 루트 데이터베이스 및 모든 PDB 데이터베이스에 존재하는 사용자입니다. 공개 사용자는 루트 컨테이너에 생성되어야 하며, 이 사용자는 기존의 모든 PDB에 자동으로 생성됩니다. ID c## 또는 C##으로 시작해야 합니다. sys 및 시스템 사용자는 CDB 환경에서 Oracle이 자동으로 생성한 공용 사용자입니다.
로컬 사용자는 PDB에서 생성된 일반 사용자를 의미합니다. 이 사용자는 생성된 PDB에만 존재하며, PDB에서는 로컬 사용자만 생성할 수 있습니다. PDB
에 이전 기본 scott 사용자가 없으므로 다시 만들어야 한다는 점도 언급할 가치가 있습니다. PDB中没有以前默认的scott用户了
,需要我们重新创建。
还有,通过“sqlplus / as sysdba”登录连接的是CDB。(重点)容器数据库的安装及使用
安装
现在,我们只需勾选上即可创建为容器数据库;常用命令
sqlplus / as sysdba
。查看当前的容器
show con_name;
可以看到当前是根容器。查看数据库是否为CDB
select name,cdb,open_mode,con_id from v$database;
Open_mode是读写权限查看CDB中的PDB信息
show pdbs;
可以看到里面是种子和默认的PDB。启动和关闭已创建好的PDB数据库
alter session set container = orclpdb;
这里有两套命令
开启:alter pluggable database pdb1 open;
关闭:alter pluggable database pdb1 close;
传统的shartup与shutdown
开启:shartup;
关闭:shutdown immediate;
这里给出SHUTDOWN的几个参数及含义
입니다. (핵심사항)컨테이너 데이터베이스 설치 및 사용설치이전 버전 설치 4단계에서 컨테이너 데이터베이스 체크를 해제해주셔야 한다는 점 기억해주세요🎜alter%C2%A0session%C2%A0set%C2%A0container=ORCLPDB;%C2%A0--PDBalter%C2%A0session%C2%A0set%C2%A0container=CDB%24ROOT;--CDBshow%C2%A0con_name%C2%A0%C2%A0%C2%A0--%E6%9F%A5%E7%9C%8B%E5%BD%93%E5%89%8D%E5%AE%B9%E5%99%A8%F0%9F%8E%9C🎜 현재 루트 컨테이너임을 알 수 있습니다. 🎜🎜데이터베이스가 CDB인지 확인🎜shutdown transactional
:使用率很低shutdown abort
또한 create user scott identified by tiger;--给用户授予权限 grant connect,resource,dba to scott; --删除用户drop user truedata scott;
🎜🎜 Open_mode는 읽기 및 쓰기 권한입니다🎜🎜CDB에서 PDB 정보 보기🎜 如果把数据库从11g 升级到12c,或者在12c中创建的,就是NON CDB,那么这样的数据库就是普通的单实例,和12c 之前的数据库没有区别
🎜🎜 내부에 시드와 기본 PDB가 있는 것을 볼 수 있습니다. 🎜🎜생성된 PDB 데이터베이스를 시작하고 닫습니다🎜🎜먼저 사용하려는 PDB로 세션을 전환합니다. 🎜CREATE PLUGGABLE DATABASE ypdb1 ADMIN USER ypdb1 IDENTIFIED BY oracle
STORAGE (MAXSIZE 2G)DEFAULT TABLESPACE ypdb1
DATAFILE '/u01/app/oracle/oradata/ora12c/ypdb1/ypdb01.dbf' SIZE 100M AUTOEXTEND ONPATH_PREFIX = '/u01/app/oracle/oradata/ora12c/ypdb1/'FILE_NAME_CONVERT = ('/u01/app/oracle/oradata/ora12c/pdbseed', '/u01/app/oracle/oradata/ora12c/ypdb1');
🎜🎜 여기에는 두 세트가 있습니다 활성화하는 명령 🎜: 🎜sys. ora12c>show pdbs
CON_ID CON_NAME OPEN MODE RESTRICTED---------- ------------------------------ ---------- ----------
2 PDB$SEED READ ONLY NO
3 YPDB1 MOUNTED
🎜🎜 닫기: 🎜 (说明:如果是Oracle Database 版本为12.1,那么PDB只能为READ-ONLY状态,因在12.1中undo模式,还只能选择shared undo。)
🎜🎜 기존 샤트업 및 shutdown🎜 활성화: 🎜sys. ora12c>show pdbs
CON_ID CON_NAME OPEN MODE RESTRICTED---------- ------------------------------ ---------- ----------
2 PDB$SEED READ ONLY NO
3 YPDB1 READ WRITE NOsys. ora12c>
🎜🎜 닫기 : 🎜COL PROPERTY_NAME FOR A30
COL PROPERTY_VALUE FOR A30SELECT property_name, property_valueFROM database_propertiesWHERE property_name='LOCAL_UNDO_ENABLED';PROPERTY_NAME PROPERTY_VALUE------------------------------ ------------------------------LOCAL_UNDO_ENABLED TRUE
🎜🎜 다음은 여러 매개변수입니다. SHUTDOWN🎜🎜🎜🎜shutdown Normal🎜의 의미: a. 새 데이터베이스 연결을 허용하지 않습니다. b. 모든 연결이 끊어진 경우에만 닫을 수 있으므로 효율성이 떨어집니다.🎜🎜 🎜shutdown immidiate🎜 일반적으로 사용되는 종료 방법은 다음과 같습니다. b. 이미 생성된 연결에 실행되지 않은 SQL 문이 있는 경우 즉시 연결을 끊지 않으면 완료될 때까지 기다립니다. c. code>shutdown transactional: 사용률이 매우 낮습니다🎜🎜shutdown abort
: a. 커밋되지 않은 트랜잭션은 롤백되지 않습니다. b. 모든 연결이 끊어집니다. 데이터베이스는 빠르게 종료되지만 다음에 열릴 때 인스턴스 복구가 필요하고 시작이 느려질 뿐만 아니라 롤백 세그먼트 데이터와 데이터 파일이 일치하지 않을 수 있습니다. 🎜🎜🎜CDB와 PDB 간 전환🎜sys. ora12c>ARCHIVE LOG LISTDatabase log mode Archive ModeAutomatic archival Enabled
Archive destination /u01/app/oracle/recovery/ora12c/arch
Oldest online log sequence 21Next log sequence to archive 23Current log sequence 23sys. ora12c>
🎜plsql을 통해 사용🎜🎜다만 우리는 일상적으로 plsql을 사용하는데, 평소 사용하는 것과 약간의 차이가 있습니다. 🎜打开PDB
打开一个命令窗口吗,看一下当前CDB里PDB的信息
利用上面刚学的命令,切换会话,打开想用的PDB,自己做哦创建用户并授权
create user scott identified by tiger;--给用户授予权限 grant connect,resource,dba to scott; --删除用户drop user truedata scott;
配置
安装目录下的tnsnames.ora文件,复制里面的ORCL,更改名字即可
然后用plsql登录即可
单个PDB的使用,与我们日常所用的数据库并无区别。
ORACLE 正在初始化或关闭。
这个错误,参考我的博客:
链接: PLSQL报ORA-01033: ORACLE正在初始化或关闭的解决方法
或者可能是PDB没打开,参考3.2.4打开即可。容器数据库的创建
在12.1版本中在创建PDB时,Source PDB必须处于read only状态,在12.2版本中,因为undo local mode新特性的推出,在创建PDB时,Source PDB在read write状态,依然可以创建。
另外在12.2版本中Oracle推出了refresh PDB特性,具有对Source PDB进行增量同步的功能。创建方式
CDB seed (PDB$SEED)
克隆已经存在的PDB
Local PDB
Remote PDB
non-CDB数据库 如果把数据库从11g 升级到12c,或者在12c中创建的,就是NON CDB,那么这样的数据库就是普通的单实例,和12c 之前的数据库没有区别
DBCA也就是我们常用的数据库配置工具、图形化界面
CDB seed (PDB$SEED)
RMAN备份
拔下的PDB
示例:(这里只演示使用create pluggable database命令方式创建PDB)使用CDB seed创建PDB
(这里创建为ypdb1的pdb,管理用户为ypdb1)CREATE PLUGGABLE DATABASE ypdb1 ADMIN USER ypdb1 IDENTIFIED BY oracle
STORAGE (MAXSIZE 2G)DEFAULT TABLESPACE ypdb1
DATAFILE '/u01/app/oracle/oradata/ora12c/ypdb1/ypdb01.dbf' SIZE 100M AUTOEXTEND ONPATH_PREFIX = '/u01/app/oracle/oradata/ora12c/ypdb1/'FILE_NAME_CONVERT = ('/u01/app/oracle/oradata/ora12c/pdbseed', '/u01/app/oracle/oradata/ora12c/ypdb1');
sys. ora12c>show pdbs
CON_ID CON_NAME OPEN MODE RESTRICTED---------- ------------------------------ ---------- ----------
2 PDB$SEED READ ONLY NO
3 YPDB1 MOUNTED
克隆已经存在的PDB
在Clone本地PDB时需要注意一下几点:
使用的用户必须拥有’CREATE PLUGGABLE DATABASE’的权限(测试里使用sys用户)
源PDB不可以是关闭状态
如果CDB为shared undo,PDB必须为READ-ONLY状态
如果CDB不是归档模式,那么PDB必须为READ-ONLY状态 (说明:如果是Oracle Database 版本为12.1,那么PDB只能为READ-ONLY状态,因在12.1中undo模式,还只能选择shared undo。)
sys. ora12c>show pdbs
CON_ID CON_NAME OPEN MODE RESTRICTED---------- ------------------------------ ---------- ----------
2 PDB$SEED READ ONLY NO
3 YPDB1 READ WRITE NOsys. ora12c>
(1) 检查是否为shared undo模式COL PROPERTY_NAME FOR A30
COL PROPERTY_VALUE FOR A30SELECT property_name, property_valueFROM database_propertiesWHERE property_name='LOCAL_UNDO_ENABLED';PROPERTY_NAME PROPERTY_VALUE------------------------------ ------------------------------LOCAL_UNDO_ENABLED TRUE
sys. ora12c>ARCHIVE LOG LISTDatabase log mode Archive ModeAutomatic archival Enabled
Archive destination /u01/app/oracle/recovery/ora12c/arch
Oldest online log sequence 21Next log sequence to archive 23Current log sequence 23sys. ora12c>
zhaoweiqing. ypdb1>CONN /AS SYSDBA
Connected.sys. ora12c>conn zhaoweiqing/zhaoweiqing@ypdb1Connected.zhaoweiqing. ypdb1>SELECT COUNT(*) FROM t;COUNT(*)----------22198Elapsed: 00:00:00.01zhaoweiqing. ypdb1>
CREATE PLUGGABLE DATABASE ypdb2 FROM ypdb1
PATH_PREFIX = '/u01/app/oracle/oradata/ora12c/ypdb2/'FILE_NAME_CONVERT = ('/u01/app/oracle/oradata/ora12c/ypdb1/', '/u01/app/oracle/oradata/ora12c/ypdb2/')SERVICE_NAME_CONVERT = ('ypdb1t','ypdb2t');
sys. ora12c>show pdbs
CON_ID CON_NAME OPEN MODE RESTRICTED---------- ------------------------------ ---------- ----------
2 PDB$SEED READ ONLY NO
3 YPDB1 READ WRITE NO
4 YPDB2 MOUNTED
sys. ora12c>SELECT pdb_id, pdb_name, con_uid, status, creation_scn, con_id FROM cdb_pdbs;PDB_ID PDB_NAME CON_UID STATUS CREATION_SCN CON_ID---------- -------------------- ---------- ---------- ------------ ----------
2 PDB$SEED 1453953285 NORMAL 213 2
3 YPDB1 2376019304 NORMAL 697945 3
4 YPDB2 3908707960 NEW 707501 4Elapsed: 00:00:00.02sys. ora12c>
sys. ora12c>ALTER PLUGGABLE DATABASE YPDB2 OPEN;Pluggable database altered.Elapsed: 00:00:14.02sys. ora12c>SELECT con_id, tablespace_name, file_name FROM cdb_data_files WHERE con_id=4;CON_ID TABLESP FILE_NAME------ ------- ---------------------------------------------------------4 SYSTEM /u01/app/oracle/oradata/ora12c/ypdb2/system01.dbf4 SYSAUX /u01/app/oracle/oradata/ora12c/ypdb2/sysaux01.dbf4 DEFTBS /u01/app/oracle/oradata/ora12c/ypdb2/deftbs01.dbf4 USERTBS /u01/app/oracle/oradata/ora12c/ypdb2/usertbs01.dbf4 UNDO_1 /u01/app/oracle/oradata/ora12c/ypdb2/system01_i1_undo.dbf4 YPDB1 /u01/app/oracle/oradata/ora12c/ypdb2/ypdb01.dbf6 rows selected.Elapsed: 00:00:00.01sys. ora12c>
sys. ora12c>SELECT service_id, name, network_name, enabled, pdb, con_id FROM cdb_services;SERVICE_ID NAME NETWORK_NAME ENA PDB CON_ID---------- ------------------- -------------------- --- --------- ----------
1 SYS$BACKGROUND NO CDB$ROOT 1
2 SYS$USERS NO CDB$ROOT 1
3 ora12c.linux.com ora12c.linux.com NO CDB$ROOT 1
6 ypdb1.linux.com ypdb1.linux.com NO YPDB1 3
1 ypdb1t ypdb1t NO YPDB1 3
1 ypdb2t ypdb2t NO YPDB2 4
2 ypdb2.linux.com ypdb2.linux.com NO YPDB2 47 rows selected.Elapsed: 00:00:00.00sys. ora12c>
sys. ora12c>conn zhaoweiqing/zhaoweiqing@ypdb2Connected.zhaoweiqing. ypdb2>SELECT COUNT(*) FROM t;COUNT(*)----------22198Elapsed: 00:00:00.11zhaoweiqing. ypdb2>
克隆远程PDB
Clone远端PDB时需要注意以下几点:col parameter for a30
col value for a30select * from nls_database_parameters where parameter='NLS_CHARACTERSET'or parameter='NLS_LANGUAGE' or parameter='NLS_NCHAR_CHARACTERSET';```**(2) 查看源端与目标端字节顺序**
```sqlcol platform_name for a40SELECT d.inst_id, t.platform_id, t.platform_name, t.endian_format, d.name FROM v$transportable_platform t, gv$database dWHERE t.platform_name = d.platform_name;
archive log list
SELECT property_name, property_valueFROM database_propertiesWHERE property_name='LOCAL_UNDO_ENABLED';
CREATE DATABASE LINK ora12cw CONNECT TO system IDENTIFIED BY oracle USING 'ORA12CW';
CREATE PLUGGABLE DATABASE pdb2 FROM ORA12CWPDB@ora12cwPATH_PREFIX = '/u01/app/oracle/oradata/ora12cl/pdb2/'FILE_NAME_CONVERT = ('D:\U01\APP\ORACLE\ORADATA\ORA12CW\ORA12CWPDB\', '/u01/app/oracle/oradata/ora12cl/pdb2/');
sys. ora12cl>show pdbs
CON_ID CON_NAME OPEN MODE RESTRICTED---------- ------------------------------ ---------- ----------
2 PDB$SEED READ ONLY NO
4 PDB2 MOUNTED 5 PDB1 MOUNTED
sys. ora12cl>SELECT pdb_id, pdb_name, con_uid, status, creation_scn, con_id FROM cdb_pdbs;PDB_ID PDB_NAME CON_UID STATUS CREATION_SCN CON_ID---------- -------------------- ---------- ---------- ------------ ----------
2 PDB$SEED 3409233005 NORMAL 1408788 2
4 PDB2 2218727525 NEW 1824437 4
5 PDB1 1058019921 NORMAL 1535445 5Elapsed: 00:00:00.00sys. ora12cl>
sys. ora12cl>alter pluggable database pdb2 open;Pluggable database altered.Elapsed: 00:00:14.02sys. ora12cl>SELECT con_id, tablespace_name, file_name FROM cdb_data_files WHERE con_id=4;CON_ID TABLESPACE_NAME FILE_NAME------ --------------- --------------------------------------------------4 SYSTEM /u01/app/oracle/oradata/ora12cl/pdb2/SYSTEM01.DBF4 SYSAUX /u01/app/oracle/oradata/ora12cl/pdb2/SYSAUX01.DBF4 UNDOTBS1 /u01/app/oracle/oradata/ora12cl/pdb2/UNDOTBS01.DBF4 USERS /u01/app/oracle/oradata/ora12cl/pdb2/USERS01.DBF
Elapsed: 00:00:00.00sys. ora12cl>
克隆本地PDB
sys. woqu>show pdbs
CON_ID CON_NAME OPEN MODE RESTRICTED---------- ------------------------------ ---------- ----------
2 PDB$SEED READ ONLY NO
3 WOQUPDB READ WRITE NOsys. woqu>COL PROPERTY_NAME FOR A30
sys. woqu>COL PROPERTY_VALUE FOR A30
sys. woqu>
sys. woqu>SELECT property_name, property_value2 FROM database_properties3 WHERE property_name='LOCAL_UNDO_ENABLED';PROPERTY_NAME PROPERTY_VALUE------------------------------ ------------------------------LOCAL_UNDO_ENABLED TRUEElapsed: 00:00:00.04sys. woqu>sys. woqu>archive log listDatabase log mode Archive ModeAutomatic archival Enabled
Archive destination USE_DB_RECOVERY_FILE_DEST
Oldest online log sequence 7Next log sequence to archive 9Current log sequence 9sys. woqu>
05:51:10 sys. woqupdb>create table t as select * from dba_objects where rownumselect count(*) from t;COUNT(*)----------10Elapsed: 00:00:00.0105:52:50 sys. woqupdb>
(4)创建测试数据表t_tab,注意这里的t表位于zhaoweiqing用户下05:51:46 zhaoweiqing. woqupdb>create table t_tab as select * from dba_objects where rownumselect count(*) from t_tab;COUNT(*)----------999Elapsed: 00:00:00.0105:52:19 zhaoweiqing. woqupdb>
sys. woqu>CREATE PLUGGABLE DATABASE pdbtest FROM woqupdb NO DATA2 PATH_PREFIX = '/u01/app/oracle/oradata/woqu/pdbtest'3 FILE_NAME_CONVERT = ('/u01/app/oracle/oradata/woqu/woqupdb', '/u01/app/oracle/oradata/woqu/pdbtest');Pluggable database created.Elapsed: 00:00:09.35sys. woqu>
sys. woqu>show pdbs
CON_ID CON_NAME OPEN MODE RESTRICTED---------- ----------- ---------- ----------
2 PDB$SEED READ ONLY NO
3 WOQUPDB READ WRITE NO
5 PDBTEST MOUNTED
sys. woqu>SELECT pdb_id, pdb_name, con_uid, status, creation_scn, con_id FROM cdb_pdbs;PDB_ID PDB_NAME CON_UID STATUS CREATION_SCN CON_ID---------- ----------- ---------- ---------- ------------ ----------
3 WOQUPDB 1167267009 NORMAL 1443334 3
2 PDB$SEED 399989944 NORMAL 1408751 2
5 PDBTEST 3356573055 NEW 1956581 5Elapsed: 00:00:00.05sys. woqu>alter pluggable database pdbtest open;Pluggable database altered.Elapsed: 00:00:07.09sys. woqu>show pdbs
CON_ID CON_NAME OPEN MODE RESTRICTED---------- ----------- ---------- ----------
2 PDB$SEED READ ONLY NO
3 WOQUPDB READ WRITE NO
5 PDBTEST READ WRITE NOsys. woqu>SELECT pdb_id, pdb_name, con_uid, status, creation_scn, con_id FROM cdb_pdbs;PDB_ID PDB_NAME CON_UID STATUS CREATION_SCN CON_ID---------- --------- ---------- ------ ------------ ----------
3 WOQUPDB 1167267009 NORMAL 1443334 3
2 PDB$SEED 399989944 NORMAL 1408751 2
5 PDBTEST 3356573055 NORMAL 1956581 5Elapsed: 00:00:00.02sys. woqu>
sys. woqu>alter session set container=pdbtest;Session altered.Elapsed: 00:00:00.07sys. woqu>show user con_idUSER is "SYS"CON_ID------------------------------5sys. woqu>select count(*) from t;COUNT(*)----------10Elapsed: 00:00:00.00sys. woqu>select count(*) from zhaoweiqing.t_tab;COUNT(*)----------
0Elapsed: 00:00:00.02sys. woqu>
위 내용은 Oracle 컨테이너 데이터베이스 설치 및 사용 사례 분석의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!