文档解释
ORA-39939: More than one set of token tables are used in tablespace string.
Cause: Informational message to describe a failure during transportable containment checking.
Action: Remap tables in the specified tablespace to use same token tables.
ORA-39939: More than one set of token tables are used in tablespace string.
这是一个由Oracle Database报告的故障代码,表示在某个表空间中已经存在超过一组token表。可能的原因是数据库中存在超过一组共享的token,这可能是由于表的较旧或错误的软件更新导致的,此外,数据库的字典表可能受到损坏或损坏。
官方解释
ORA-39939表示在某个表空间中存在超过一组token表,它出现时表明可能存在一些版本或更新错误,或一些陈旧的(或来自未知源的)文件被合并到表空间中。
常见案例
此故障在更新Oracle数据库操作系统(或移动字典表)时可能发生,将在数据库引擎和操作系统之间引入不一致性,可能导致字典表记录的损坏。
一般处理方法及步骤
要解决此问题,必须使用一些原子操作来更改数据库文件和重新启动该数据库,应当关闭此数据库,更改表空间结构(包括更改记录格式),复制表空间和其他所有正在使用的文件,并重新启动数据库:
1、关闭数据库,回滚所有的未提交的事务,然后关闭全部的实例
2、检查表空间结构(列,表,索引),并确保token表至少可以支持8个字节的标识符
3、通过以下SQL命令复制表空间:ALTER TABLESPACE tablespace_name COPY;
4、使用数据库控制文件文件启动数据库
5、检查表空间,并确保token表是唯一的
6、安全地关闭数据库,并确保token表正确定义