本地和远程数据库必须具有相同的字节顺序。
本地和远程数据库必须安装相同的选项,或者远程数据库必须具有本地数据库中存在的子
集。
如果本地
CDB
的字符集是
AL32UTF8
,则远程数据库可以是任何字符集。如果本地
CDB
不使用
AL32UTF8
,则远程和本地数据库的字符集非常匹配。
如果远程数据库使用透明数据加密(
TDE
),则必须在尝试克隆之前正确配置本地
CDB
。
如果没有,您将留下一个只能在限制模式下打开的新
PDB
。
错误
19174942
在
12.2
中标记为已修复。我无法证实这一点,所以万一我会留在这里,
但不应再这样了。远程
PDB *
中每个普通用户的默认表空间必须
*
存在于本地
CDB
中。如
果不是这样,请在本地
PDB
的根容器中创建缺少的表空间。如果您不这样做,您的新
PDB
将只能在受限模式下打开(错误
19174942
)。
从非
CDB
克隆时,本地和远程数据库都必须使用
12.1.0.2
或更高版本。
在下面的示例中,我有三个在同一虚拟机上运行的数据库,但它们可以在不同的物理或虚拟服务器
上运行。
cdb1
:最终将容纳克隆的本地数据库。
db12c
:远程非
CDB
。
cdb3
:远程
CDB
,用于克隆远程
PDB
(
pdb5
)。
克隆远程
PDB
连接到远程
CDB
并准备远程
PDB
进行克隆。
export ORAENV_ASK = NO
export ORACLE_SID = cdb3
. oraenv
export ORAENV_ASK = YES
sqlplus / as sysdba
在远程数据库中创建用户以与数据库链接一起使用。在这种情况下,我们将在远程
PDB
中使用普通
用户。
CREATE USER c##remote_clone_user IDENTIFIED BY remote_clone_user CONTAINER = ALL;
GRANT CREATE SESSION
,
CREATE PLUGGABLE DATABASE TO c##remote_clone_user CONTAINER =
ALL;
检查远程
CDB
是否处于本地
undo
模式和存档日志模式。
CONN / AS SYSDBA
COLUMN property_name FORMAT A30
COLUMN property_value FORMAT A30
SELECT property_name
,
property_value
评论