文档解释
ORA-39936: Token manager for the CSX tablespace string not fully contained in the transportable set.
Cause: Informational message to describe a failure during transportable containment checking.
Action: Include the specified tablespace into the transportable set.
。
ORA-39936: 在移植表空间所使用的token管理器没有完整包含在移植集合中。
官方解释
当尝试使用DBMS_TTS.TRANSPORT_SET_CHECK(),或者使用CREATE TABLE null AS SELECT * FROM TRANSPORT_SET TABLESPACE时,ORA-39936会出现,这种错误表示token管理器,没有完整包含在移植底层表示的表空间中。
常见案例
发生该错误的案例很常见,当用户尝试用DBMS_TTS,来从一个数据库(A)移植数据到另一个数据库(B)时,特别是当他想将一个表空间移植到另一个数据库上操作时,而使用的完整的transport_set时,就可能出现ORA-39936移植错误。
一般处理方法及步骤
1、 首先,检查一下表空间的字典表是否被移植,一般情况下,表空间的字典表是存储在源数据库的,如果也被移植,就可能出现ORA-39936错误。
2、 如果表空间的字典表存在,检查一下其中的TOKEN_MANAGER是否正确。
3、 对比目标系统是否存在对应的表空间,此时,比较表空间中所含有的所有token,来确定一个正确的token管理器。
4、 最后,为了防止ORA-39936移植错误的再次出现,可以为每个token管理器指定一个用户及相应的权限,存放在非共享表空间中。