- 我可以像这样创建一个 CDB 表空间:(全部使用
sqlplus / as sysdba
:)
-- create unique table space for admin
CREATE TABLESPACE admints DATAFILE '/path/to/admints.dbf' SIZE 20M AUTOEXTEND ON;
- 我可以创建一个具有默认表空间“系统”的 CDB 用户,因为所有 PDB 都有一个“系统”表空间:
-- create admin user on CDB (the defaut tablespace is "system")
CREATE USER C##admin IDENTIFIED BY P@ssw0rd DEFAULT TABLESPACE system QUOTA UNLIMITED ON system ACCOUNT UNLOCK;
- 我无法使用默认表空间“admints”创建我的用户:
CREATE USER C##admin IDENTIFIED BY P@ssw0rd DEFAULT TABLESPACE admints QUOTA UNLIMITED ON admints ACCOUNT UNLOCK
*
ERROR at line1:
ORA-65048: error encountered when processing the current DDL statement in
pluggable database ORCLPDB
ORA-00959: tablespace 'ADMINTS' does not exist
- 而且我不能在我创建的表空间上为我创建的用户提供配额,因为它只在 CDB 上并且不是为每个 PDB 创建的。那是对的吗?
ALTER USER C##admin quota unlimited on admints unlimited
*
ERROR at line1:
ORA-65048: error encountered when processing the current DDL statement in
pluggable database ORCLPDB
ORA-00959: tablespace 'ADMINTS' does not exist
- “admits”表空间只为 CDB 创建一次,而不是为每个 PDB 创建一次。
- 我想在 CDB 的“admits”表空间上创建 C##admin 用户的表,并在其上拥有无限配额。
- 我希望 C#admin 至少对所有 PDB 具有读取权限,因此我无法卸载它们。
- 可能吗?
所有容器都有一个默认表空间:
创建用户而不指定任何内容:
然后更改根容器中的用户: