[Oracle19C 数据库管理] 管理PDB
更改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的更多相关文章
- 十四、oracle 数据库管理--管理表空间和数据文件
		一.概念表空间是数据库的逻辑组成部分.从物理上讲,数据库数据存放在数据文件中:从逻辑上讲,数据库数据则是存放在表空间中,表空间由一个或多个数据文件组成. 二.数据库的逻辑结构oracle中逻辑结构包括 ... 
- oracle 数据库管理--管理表空间和数据文件
		一.概念表空间是数据库的逻辑组成部分.从物理上讲,数据库数据存放在数据文件中:从逻辑上讲,数据库数据则是存放在表空间中,表空间由一个或多个数据文件组成. 二.数据库的逻辑结构oracle中逻辑结构包括 ... 
- 管理表空间和数据文件<六>
		数据库管理 -- 管理表空间和数据文件  介绍 表空间是数据库的逻辑组成部分.从物理上讲,数据库数据存放在数据文件中:从逻辑上讲,数据库则是存放在表空间中,表 空间由一个或多个数据文件组成. 数据库 ... 
- 版本12.2.0.1.0数据库,复制种子数据库快速创建租户数据库PDB
		实验测试:快速创建一个数据库PDB2: 实验环境:12.2.0.1.0版本数据库,dbca图形化安装,现有环境,CDB容器数据库ORCL,PDB可插拔数据库ABC ---查询CDB名称,状态 SQ ... 
- oracle  笔记
		1.Oracle认证,与其它数据库比较,安装 Oracle安装会自动的生成sys用户和system用户: (1)sys用户是超级用户,具有最高权限,具有sysdba角色,有create databas ... 
- oracle8
		数据库管理 -- 管理表空间和数据文件 表空间是数据库的逻辑组成部分.从物理上讲,数据库数据存放在数据文件中:从逻辑上讲,数据库则是存放在表空间中,数据管理是以表空间管理的,表空间由一个或多个数据文件 ... 
- 最全的ORACLE-SQL笔记
		-- 首先,以超级管理员的身份登录oracle sqlplus sys/bjsxt as sysdba --然后,解除对scott用户的锁 alter user scott account unloc ... 
- 韩顺平Oracle笔记
		韩顺平Oracle笔记 分类: DataBase2011-09-07 10:24 3009人阅读 评论(0) 收藏 举报 oracle数据库sqljdbcsystemstring 目录(?)[-] ... 
- Orcle 查询语句
		首先,以超级管理员的身份登录oracle sqlplus sys/bjsxt as sysdba --然后,解除对scott用户的锁 alter user scott ac ... 
- oracle rm -fr datafile  数据文件被误删的场景恢复(没有rman备份)
		环境: Linux release 7.5 oracle19c (无pdb,从11.2.0.4升级上去的) 一:单个非系统表空间的数据文件被删除 我先备份一下,虽然是测试环境. [oracle@19c ... 
随机推荐
- JMeter BeanShell 学习
			JMeter BeanShell 学习 Beanshell分为: JMeter有如下BeanShell组件: 定时器: BeanShell Timer 前置处理器:BeanShell PreProce ... 
- 如何把已安装的nodejs高版本降级为低版本(图文教程)
			第一步.先清空本地安装的node.js版本 1.按健win+R弹出窗口,键盘输入cmd,然后敲回车(或者鼠标直接点击电脑桌面最左下角的win窗口图标弹出,输入cmd再点击回车键) 2.然后进入命令控制 ... 
- vue2和vue3区别
			1. vue2和vue3双向数据绑定原理发生了改变 vue2的双向数据绑定是利用了es5 的一个API Object.definepropert() 对数据进行劫持 结合发布订阅模式来实现的.vue3 ... 
- Angular UI库
			1.angular 使用 bootstrap 安装bootstrap npm install bootstrap --save 安装bootstrap-icons npm i bootstrap-ic ... 
- LeetCode-1606 找到处理请求最多的服务器
			来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/find-servers-that-handled-most-number-of-requests ... 
- mysql转DM的日期函数转换
			背景: 项目要从mysql转换为DM数据库,发现很多日期函数在DM是不能用的. 所以大概总结下有哪些,以及转换思路. 正文: INTERVAL 表示日期间隔. 看做拼接符. DATE_ADD 表示日期 ... 
- nginx反向代理hyperf
			location / { #反向代理到 本地9501端口 proxy_pass http://127.0.0.1:9501; proxy_redirect off; p ... 
- winform应用程序
			1.winform桌面应用程序是一种智能的客户端技术,我们可以使用winform应用程序帮助我们获得信息或者传输信息等 2.属性 Names:在后台要获得前台的控件对象,需要使用Name属性 Visi ... 
- MySQL安装最后一步无响应解决方法
			一.卸载及安装 MySQL安装到最后一步就卡住,如图: 卸载原来安装的MySQL1.首先,卸载MySQL:2.然后,删除C盘下(C:\ProgramData\MySQL)文件: 然后重新安装MySQL ... 
- 2021年全国II巻高考作文刚刚认真看了一下发现很经典,用漫画书法的形式告诉做人的道理!!!说说自己的想法
			我觉得做人就应该做到这三句话: 1.逆风起笔 藏而不露 ---- 懂得在逆境中潜行 2.中锋用笔 不偏不倚 ---- 做人要正直 不要走歪路 3.停滞迂回 缓缓出头 -- 借喻青年人 ... 
