更改PDB的打开模式

RESTRICT模式

维护时使用,可以让只有RESTRICT权限的用户才能连接到数据库,其他用户无法连接。

ALTER PLUGGABLE DATABASE 数据库名 CLOSE;

ALTER PLUGGABLE DATABASE 数据库名 OPEN RESTRICTED;

SQL> ALTER PLUGGABLE DATABASE pdb1 OPEN RESTRICTED;

Pluggable database altered.

SQL> SHOW PDBS;

    CON_ID CON_NAME                       OPEN MODE  RESTRICTED
---------- ------------------------------ ---------- ----------
2 PDB$SEED READ ONLY NO
3 PDB1 READ WRITE YES

只读模式

ALTER PLUGGABLE DATABASE 数据库名 CLOSE;

ALTER PLUGGABLE DATABASE 数据库名 OPEN READ ONLY;

SQL> ALTER PLUGGABLE DATABASE PDB1 OPEN READ ONLY;

Pluggable database altered.

SQL> SHOW PDBS

    CON_ID CON_NAME                       OPEN MODE  RESTRICTED
---------- ------------------------------ ---------- ----------
2 PDB$SEED READ ONLY NO
3 PDB1 READ ONLY NO

修改PDB的设置

在PDB1中创建表空间tbs1

SQL> CREATE TABLESPACE tbs1 DATAFILE '/u01/app/oracle/oradata/TESTCDB/pdb1/tbs1_1.dbf' SIZE 100M;

Tablespace created.

SQL> SELECT FILE_NAME FROM DBA_DATA_FILES;

FILE_NAME
--------------------------------------------------------------------------------
/u01/app/oracle/oradata/TESTCDB/pdb1/tbs1_1.dbf <===新创建的表空间。

数据文件offline与online

ALTER PLUGGABLE DATABASE DATAFILE '数据文件路径' OFFLINE ;

RECOVERY DATAFILE '数据文件路径'

ALTER PLUGGABLE DATABASE DATAFILE '数据文件路径' ONLINE ;

ALTER PLUGGABLE DATABASE DATAFILE '/u01/app/oracle/oradata/TESTCDB/pdb1/tbs1_1.dbf' OFFLINE;
RECOVERY DATAFILE ''/u01/app/oracle/oradata/TESTCDB/pdb1/tbs1_1.dbf';
ALTER PLUGGABLE DATABASE DATAFILE '/u01/app/oracle/oradata/TESTCDB/pdb1/tbs1_1.dbf' ONLINE;

修改默认永久表空间

修改默认永久表空间,可以防止用户登陆后,将数据写在系统表空间上。

ALTER PLUGGABLE DATABASE DEFAULT TABLESPACE 表空间名;

SQL> ALTER PLUGGABLE DATABASE DEFAULT TABLESPACE TBS1;

Pluggable database altered.

SQL>  SELECT NAME, VALUE$ FROM PROPS$ WHERE NAME='DEFAULT_PERMANENT_TABLESPACE';

NAME                           VALUE$
------------------------------ --------------------
DEFAULT_PERMANENT_TABLESPACE TBS1

修改默认临时表空间

ALTER PLUGGABLE DEFAULT TEMPORARY TABLESPACE 临时表空间名;

通过PROPS$ 查看临时表空间
SQL> SELECT NAME, VALUE$ FROM PROPS$ WHERE NAME='DEFAULT_TEMP_TABLESPACE'; NAME VALUE$
------------------------------ --------------------
DEFAULT_TEMP_TABLESPACE TEMP 通过DBA_TEMP_FILES查看临时表空间对应的数据文件
SQL> SELECT FILE_NAME, TABLESPACE_NAME FROM DBA_TEMP_FILES; FILE_NAME TABLESPACE
------------------------------------------------------------ ----------
/u01/app/oracle/oradata/TESTCDB/pdb1/temp01.dbf TEMP 创建新的临时表空间PDB1_TEMP以及数据文件。
SQL> CREATE TEMPORARY TABLESPACE PDB1_TEMP TEMPFILE '/u01/app/oracle/oradata/TESTCDB/pdb1/pdb1_temp01.dbf' SIZE 100M; Tablespace created. 修改默认临时表空间到新创建的临时表空间。
SQL> ALTER PLUGGABLE DATABASE DEFAULT TEMPORARY TABLESPACE PDB1_TEMP; Pluggable database altered. 再次查看PROPS$, 默认临时表空间已经修改。
SQL> SELECT NAME, VALUE$ FROM PROPS$ WHERE NAME='DEFAULT_TEMP_TABLESPACE'; NAME VALUE$
------------------------------ --------------------
DEFAULT_TEMP_TABLESPACE PDB1_TEMP 通过DBA_TEMP_FILES查看临时表空间对应的数据文件, 能看到新创建的临时表空间和数据文件。
SQL> SELECT TABLESPACE_NAME, FILE_NAME FROM DBA_TEMP_FILES; TABLESPACE FILE_NAME
---------- ------------------------------------------------------------
PDB1_TEMP /u01/app/oracle/oradata/TESTCDB/pdb1/pdb1_temp01.dbf
TEMP /u01/app/oracle/oradata/TESTCDB/pdb1/temp01.dbf

设置PDB的最大容量

一般不会设置最大容量。

ALTER PLUGGABLE DATABASE STORAGE (MAXSIZE 2G);

更改PDB的GLOBAL NAME

数据库应当置于 RESTRICT MODE.

在CDB$ROOT下,ALTER PLUGGABLE DATABASE PDB名 OPEN RESTRICTED;

在PDB下, ALTER PLUGGABLE DATABASE RENAME GLOBAL_NAME TO 新PDB名;

SQL> CONN SYS/ORACLE AS SYSDBA
Connected.
SQL> ALTER PLUGGABLE DATABASE PDB1 CLOSE; Pluggable database altered. SQL> ALTER PLUGGABLE DATABASE PDB1 OPEN RESTRICTED; Pluggable database altered. SQL> ALTER SESSION SET CONTAINER=PDB1; Session altered. SQL> ALTER PLUGGABLE DATABASE RENAME GLOBAL_NAME TO PDB_OPERA; Pluggable database altered. SQL> SHOW PDBS CON_ID CON_NAME OPEN MODE RESTRICTED
---------- ------------------------------ ---------- ----------
3 PDB_OPERA READ WRITE YES SQL> ! lsnrctl status
Service "pdb_opera" has 1 instance(s).
Instance "testcdb", status READY, has 1 handler(s) for this service... 改名后,并不会改变文件存放的位置。
SQL> SELECT FILE_NAME , TABLESPACE_NAME FROM CDB_DATA_FILES; FILE_NAME TABLESPACE
------------------------------------------------------------ ----------
/u01/app/oracle/oradata/TESTCDB/pdb1/system01.dbf SYSTEM
/u01/app/oracle/oradata/TESTCDB/pdb1/sysaux01.dbf SYSAUX
/u01/app/oracle/oradata/TESTCDB/pdb1/undotbs01.dbf UNDOTBS1
/u01/app/oracle/oradata/TESTCDB/pdb1/users01.dbf USERS
/u01/app/oracle/oradata/TESTCDB/pdb1/tbs1_1.dbf TBS1

PDB级别修改初始化参数

查看一个参数是否可以在PDB级别修改,查询V$PARAMETER里面的ISPDB_MODIFIABLE字段。

SQL> SELECT NAME, ISPDB_MODIFIABLE FROM V$PARAMETER WHERE NAME='ddl_lock_timeout';

NAME ISPDB


ddl_lock_timeout TRUE

CDB级别,DDL_LOCK_TIMEOUT是0.

SQL> SHOW PARAMETER DDL_LOCK_TIMEOUT;

NAME TYPE VALUE


ddl_lock_timeout integer 0

切换到PDB级别,修改初始化参数为10

SQL> ALTER SESSION SET CONTAINER=PDB1;

Session altered.

SQL> ALTER SYSTEM SET DDL_LOCK_TIMEOUT=10;

System altered.

切换回CDB级别, 看到初始化参数仍然为0.

SQL> CONN / AS SYSDBA;

Connected.

SQL> SELECT NAME, VALUE FROM V$PARAMETER WHERE NAME ='ddl_lock_timeout';

NAME VALUE


ddl_lock_timeout 0


可以通过V$SYSTEM_PARAMETER查看各个PDB的参数值。

SQL> SELECT NAME, VALUE, ISPDB_MODIFIABLE, CON_ID FROM V$SYSTEM_PARAMETER

2 WHERE NAME='ddl_lock_timeout';

NAME VALUE ISPDB CON_ID


ddl_lock_timeout 0 TRUE 0

ddl_lock_timeout 10 TRUE 3


# ALTER SYSTEM命令对应的PDB级别
- ALTER SYSTEM FLUSH SHARED_POOL 只影响PDB级别
- ALTER SYSTEM FLUSH BUFFER_CACHE 只影响PDB级别
- ALTER SYSTEM ENABLE RESTRICTED SESSION 只影响PDB级别
- ALTER SYSTEM KILL SESSION 只影响PDB级别
- ALTER SYSTEM SET 参数 只影响PDB级别 - ALTER SYSTEM CHECKPOINT 无论在哪执行,影响CDB级别。
- ALTER SYSTEM SWITCH LOGFILE 不允许在PDB级别执行。 # 删除PDB
关闭PDB
ALTER PLUGGABLE DATABASE PDB名 CLOSE; 删除PDB并关联删除数据文件。
DROP PLUGGABLE DATABASE PDB名 INCLUDING DATAFILES # CDB的默认管理用户
当创建一个不包含PDB的CDB时,只会创建sys和system用户作为管理用户。当创建一个或多个PDB的时候,会创建PDBADMIN管理用户。
PDBADMIN的默认权限是PDB_DBA,实际运作中,需要再给他授权DBA角色。

SQL> conn sys/oracle@pdb1 as sysdba

Connected.

SQL> GRANT DBA TO PDBADMIN;

Grant succeeded.

[Oracle19C 数据库管理] 管理PDB的更多相关文章

  1. 十四、oracle 数据库管理--管理表空间和数据文件

    一.概念表空间是数据库的逻辑组成部分.从物理上讲,数据库数据存放在数据文件中:从逻辑上讲,数据库数据则是存放在表空间中,表空间由一个或多个数据文件组成. 二.数据库的逻辑结构oracle中逻辑结构包括 ...

  2. oracle 数据库管理--管理表空间和数据文件

    一.概念表空间是数据库的逻辑组成部分.从物理上讲,数据库数据存放在数据文件中:从逻辑上讲,数据库数据则是存放在表空间中,表空间由一个或多个数据文件组成. 二.数据库的逻辑结构oracle中逻辑结构包括 ...

  3. 管理表空间和数据文件<六>

    数据库管理 -- 管理表空间和数据文件  介绍 表空间是数据库的逻辑组成部分.从物理上讲,数据库数据存放在数据文件中:从逻辑上讲,数据库则是存放在表空间中,表 空间由一个或多个数据文件组成. 数据库 ...

  4. 版本12.2.0.1.0数据库,复制种子数据库快速创建租户数据库PDB

    实验测试:快速创建一个数据库PDB2: 实验环境:12.2.0.1.0版本数据库,dbca图形化安装,现有环境,CDB容器数据库ORCL,PDB可插拔数据库ABC   ---查询CDB名称,状态 SQ ...

  5. oracle 笔记

    1.Oracle认证,与其它数据库比较,安装 Oracle安装会自动的生成sys用户和system用户: (1)sys用户是超级用户,具有最高权限,具有sysdba角色,有create databas ...

  6. oracle8

    数据库管理 -- 管理表空间和数据文件 表空间是数据库的逻辑组成部分.从物理上讲,数据库数据存放在数据文件中:从逻辑上讲,数据库则是存放在表空间中,数据管理是以表空间管理的,表空间由一个或多个数据文件 ...

  7. 最全的ORACLE-SQL笔记

    -- 首先,以超级管理员的身份登录oracle sqlplus sys/bjsxt as sysdba --然后,解除对scott用户的锁 alter user scott account unloc ...

  8. 韩顺平Oracle笔记

    韩顺平Oracle笔记 分类: DataBase2011-09-07 10:24 3009人阅读 评论(0) 收藏 举报 oracle数据库sqljdbcsystemstring   目录(?)[-] ...

  9. Orcle 查询语句

    首先,以超级管理员的身份登录oracle       sqlplus sys/bjsxt as sysdba   --然后,解除对scott用户的锁       alter user scott ac ...

  10. oracle rm -fr datafile 数据文件被误删的场景恢复(没有rman备份)

    环境: Linux release 7.5 oracle19c (无pdb,从11.2.0.4升级上去的) 一:单个非系统表空间的数据文件被删除 我先备份一下,虽然是测试环境. [oracle@19c ...

随机推荐

  1. VueJs 监听 window.resize 方法---窗口变化

    mounted() { let _this = this; window.onresize = ()=>{ return (()=>{ this.vscreen.height=docume ...

  2. Hugging Face 每周速递: Space 支持创建模版应用、Hub 搜索功能增强、BioGPT-Large 还有更多

    每一周,我们的同事都会向社区的成员们发布一些关于 Hugging Face 相关的更新,包括我们的产品和平台更新.社区活动.学习资源和内容更新.开源库和模型更新等,我们将其称之为「Hugging Ne ...

  3. 图形学101 3 transform

    2d中都可以写成xy 与矩阵乘以 xy的关系 齐次坐标

  4. CF1764G1 题解

    题意 传送门 交互库有一个 \([1,n]\) 的排列 \(p\),你可以询问 \(l,r,k\),交互库会返回 \(\lfloor\dfrac{p_l}{k}\rfloor,\lfloor\dfra ...

  5. element-ui下表格头部字段hover显示tips信息

    记录一下表格头部加hover之后显示tips信息循环,或单独的el-table-column都可以哦 <el-table-column             prop="name&q ...

  6. Deer_GF之IOS出热更包

    Hi,今天介绍一下Deer_GF_Wolong,框架基于HybridCLR热更新技术,出IOS热更包 首先我们需要准备的工作: 环境:Mac Unity 版本 2021.3.1f1c1 热更方案:Hy ...

  7. 新的学习历程-python5 输入输出基础

    1 uname=input("please input username:") 2 print("welcome",uname) #print各项间默认以空格作 ...

  8. 蓝牙mesh组网实践(mesh组网的评估与沁恒蓝牙芯片选型)

    目录 沁恒的组网方式主要有2.4G私有协议组网和BLE mesh组网两大类.2.4G私有协议组网灵活性相对较高,对开发者的要求也相对较高.mesh组网本身有一系列规范,考虑到了可靠性.安全性.功能性等 ...

  9. React自定义组件参数小驼峰命名提示警告 Warning: React does not recognize the `xxXxx` prop on a DOM element.

    Warning: React does not recognize the `xxXxx` prop on a DOM element. If you intentionally want it to ...

  10. 第二性 合卷本 横本.EPUB

    书本详情 第二性台版 作者: 西蒙.德.波娃(Simone de Beauvoir)出版社: 貓頭鷹原作名: Le Deuxième Sexe译者: 邱瑞鑾出版年: 2013-10页数: 1136装帧 ...