Oracle 12c如何使用SQL*Plus来创建与删除应用程序容器

67次阅读
没有评论

共计 2635 个字符,预计需要花费 7 分钟才能阅读完成。

丸趣 TV 小编给大家分享一下 Oracle 12c 如何使用 SQL*Plus 来创建与删除应用程序容器,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

可以使用不同方式来创建应用程序容器,比如使用 CDB seed,克隆现有的 PDB 或 Non-CDB,插入一个被拔出的 PDB,也可以从 CDB 中删除应用程序容器。

创建应用程序容器
可以使用 create pluggable database 语句来在 CDB 中创建应用程序容器。当执行 create pluggable database 语句时指定 as application container 子句可以创建一个新的应用程序容器。应用程序容器由应用程序 root 与用来存储一个或多个应用程序数据的一组应用程序 PDB 组成。应用程序 PDB 可以被附加到应用程序 root 中,并且可以选择快速地创建应用程序 seed 与简单地创建新的应用程序 PDB。应用程序 PDB 与应用程序 root 可以共享应用程序公共对象。

有三种类型的应用程序公共对象:
. 元数据链接应用程序公共对象存储特定对象的元数据,比如表。因此容器可以共享有相同结构没有相同数据的应用程序公共对象。

. 数据链接应用程序公共对象只在应用程序 root 中定义一次并且在应用程序 PDB 的上下文中共享只读对象。

. 扩展数据链接应用程序公共对象在应用程序 root 中存储共享数据但也允许应用程序 PDB 来将数据添加到对象中。添加的数据是本地数据它对于每个应用程序 PDB 来说是唯一的。

通过执行 creatae pluggable database as application container 子句可以创建应用程序容器。也可以使用以下技术来创建应用程序容器:
. 使用 CDB seed
. 克隆现有的 PDB 或 Non-CDB
. 迁移 PDB
. 插入被拔出的 PDB

当当前容器是 CDB 的 root 并且在执行 create pluggable database 语句时指定了 as application container 子句时,将创建应用程序容器。

迁移现有的应用程序为应用程序容器
可以通过使用现有的 PDB 来创建应用程序容器。当迁移现有应用程序为一个应用程序容器时必须完成额外的任务。要附加的 PDB 必须包含应用程序数据库对象,包含它们的数据,并且对于应用程序所访问的相关数据库对象必须执行 dbms_pdb 中的过程。当应用程序公共用户,角色或 profiles 存放在应用程序 root 中,对与应用程序相关的数据库对象必须执行 dbms_pdb 包。在应用程序迁移为应用程序容器后,可以在应用程序容器中创建应用程序 PDB,并且可以使用现有的 PDB 来创建应用程序 PDB。

创建应用程序容器的准备
在创建应用程序容器之前必须完达到以下条件:
.CDB 必须存在

.CDB 必须处于读写模式

. 当前容器如果是 CDB 的 root,那么当前用户必须是一个公共用户

. 当前用户必须有 create pluggable database 系统权限

. 对于每个应用程序容器必须要决定一个唯一的应用程序容器名字。每个应用程序容器名字必须对于单个 CDB 中的所有容器来说是唯一的,并且每个应用程序容器名字必须在特定监听所监听的所有 CDB 范围内是唯一的。应用程序容器名字用来区分 CDB 中的应用程序容器。应用程序容器名字遵守与服务名一样的规则,它是大小写敏感的。

. 如果在使用物理备库的 Data Guard 配置中创建应用程序容器,那么在创建应用程序容器之前必须完成额外的任务。

. 如果使用 PDB 将现有的应用程序迁移成应用程序容器,那么它必须能够通过克隆 PDB 来创建应用程序 root,迁移 PDB 到应用程序 root 中,或者将 PDB 插入到应用程序 root 中。

创建应用程序容器
可以执行 create pluggable database … as application container 语句来创建应用程序容器。创建应用程序容器的操作如下:
1. 在 SQL*Plus 中,确保当前容器为 CDB 的 root。

2. 执行 create pluggable database … as application container 语句。如果需要还可以指定其它子句。在创建应用程序容器后,它处于 mounted 模式,并且它的状态为 NEW。可以查询 v$pdbs 视图的 open_mode 列来查看应用程序容器的打开模式。可以通过查询 cdb_pdbs 或 dba_pdbs 视图来查看应用程序状态。并且会对应用程序容器创建一个新的缺省服务。这个服务与应用程序容器有相同的名字,并且可以被用来访问应用程序容器。

3. 以读写模式来打开新的应用程序容器。为了将新应用程序容器集成到 CDB 中必须以读写模式来打开新的应用程序容器。如果你试图以只读模式来打开应用程序容器将会返回错误住处。在应用程序容器以读写模式打开后,它的状态将会变为 NORMAL。

4. 备份应用程序容器

使用 CDB Seed 来创建应用程序容器
这个例子假设满足以下条件:
. 对应用程序容器没有使用存储限制。因此不指定 storage 子句。

. 应用程序容器不创建缺省表空间

. 不指定 path_prefix 子句

. 不指定 file_name_convert 与 create_file_dest 子句。可以启用 OMF 或设置 pdb_file_name_convert 参数。与 CDB Seed 相关的文件基于 OMF 配置或参数设置将会被复制到新目录中。

. 在目标目录中如果没有与新 temp 文件同名的文件存储,将会创建新 temp 文件,因此不指定 tempfile reuse 子句。

. 没有预先定义的 Oracle 角色需要被授予给 PDB_DBA 角色。

SQL  create pluggable database salesact as application container admin user salesadm identified by  xxzx
Pluggable database created.

NAME OPEN_MODE
-------------------------------------------------------------------------------------------------------------------------------- ----------
PDB$SEED READ ONLY
JYPDB READ WRITE
ORCLPDB READ WRITE
SALESACT MOUNTED

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-07-24发表,共计2635字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)