我要编辑Oracle表中varchar2列的长度(从50到200)。
我正在检查以下Oracle视图,以检测引用此特定列的底层包/表之间可能产生的影响:
我还考虑过检查可能使用该字段的一些可能的Oracle作业,但我没有发现任何相关内容。
由于我是Oracle新手,您认为检查上述两个视图是否应该足够或者我错过了什么?
答案 0 :(得分:2)
您也可以查看DBA_DEPENDENCIES
view:
DBA_DEPENDENCIES
描述了数据库中程序,包,函数,包体和触发器之间的所有依赖关系,包括在没有任何数据库链接的情况下创建的视图的依赖关系。
虽然它没有这么说,奇怪的是,它包含对表的包和触发器依赖性,因此如果您使用referenced_name = '<your table>'
查询,您将看到任何因表更改而无效的内容。其中一些并不重要 - 如果你有一个带有%type
依赖关系的参数的过程,它将被无效,但在编译后也会一样。
但您可以将自己的变量定义为varchar2(50)
而不是table.column%type
,这些变量将更难找到。该视图中列出的对象将是一个很好的起点,但您可能仍需要手动检查它们的来源以查找类似的问题,而不是等待测试用例失败。