首批通过分布式安全可靠测评,为关键业务系统打造
desc 展示引用 DBLink 表的视图报错 ORA-04063
更新时间:2026-05-26 02:16
问题现象
创建一个访问 DBLink 表的视图,使用 desc 展示该视图字段时,报错 ORA-04063。
示例如下:
创建一个访问 DBLink 表的视图
v。create view v as select * from st.t@my_link11;使用
desc展示视图v的字段时,出现错误。desc v; ORA-04063: view 'SYS.V' has errors
问题原因
视图列信息不存储在内部表中,desc 时需要解析这个视图的定义。由于解析时没有设置一个 DBLink 表依赖的变量,所以无法解析定义中的 DBLink 表。
问题的风险及影响
无法查询访问 DBLink 表的视图的列信息。
影响租户
影响 OceanBase 数据库中的 Oracle 租户和 MySQL 租户,对于 SYS 租户无影响。
影响的版本
OceanBase 数据库 V3.1.2 GA(oceanbase-3.1.2-20210618150922)及之后版本、V3.2.3 GA(oceanbase-3.2.3.0-20220418212020)及之后版本、V3.2.4 GA(oceanbase-3.2.4.0-100000072022102819)及之后版本。
解决方法及规避方式
升级至问题已修复版本。目前已修复的版本包括 OceanBase 数据库 V3.2.3 BP7 Hotfix2(oceanbase-3.2.3.3-107020062023022810)、V3.2.3 BP7 Hotfix3(oceanbase-3.2.3.3-107030052023031712)、V3.2.3 BP7 Hotfix4(oceanbase-3.2.3.3-107040032023032910)、V3.2.3 BP7 Hotfix5(oceanbase-3.2.3.3-107050022023040817)、V3.2.3 BP7 Hotfix6(oceanbase-3.2.3.3-107060012023041113)、V3.2.3 BP8(oceanbase-3.2.3.3-108000062023041511)及之后版本、V3.2.4 BP2(oceanbase-3.2.4.2-102000042023022717)及之后版本。
在本地创建与远端 server 相同的表,建立新的访问本地实体表的视图,查询该视图的列信息。