好的一个同义词表意味着它指向另一个数据库,它现在从当前数据库拥有,它只是一个镜像,即使它的情况是有道理的,如果我授予选择我可以从其他数据库中选择,我明白这一点。但为什么我无法分析这个同义词的统计数据。我需要一些技术说明或官方文件为什么我不能分析stastics一个synonm表?
回答
你必须看看Oracle Doc其中明确spefices,作为一个先决条件,以分析所有对象:
要分析必须是本地的架构对象,而且它必须是在你 自己的模式,或者你必须具有ANALYZE ANY系统特权。 •您不能使用ANALYZE来收集数据字典表的统计信息
:
还请务必阅读本:在分析表受到以下限制
限制。
•不能使用ANALYZE来收集外部表的统计信息。相反,您必须使用DBMS_STATS包。
•不能使用ANALYZE在临时表上收集默认统计信息。但是,如果您已经在临时表的一列或多列与用户定义的统计类型之间创建了关联,则可以使用ANALYZE在临时表上收集用户定义的统计信息。
•您无法计算或估计以下列类型的统计信息:REF列类型,变量,嵌套表,LOB列类型(不分析LOB列类型,它们被跳过),LONG列类型或对象类型。但是,如果统计类型与此列关联,则Oracle数据库将收集用户定义的统计信息。
您不应该使用ANALYZE来收集统计信息。你应该使用DBMS_STATS() – BobC
那么,首先我没有回答我们是否应该使用'ANALYZE'或不。我刚才提到OP在哪些情况下可以找到失败。也不是所有的'DBMS_STATS'都是有用的。请阅读文档。它表示您必须使用ANALYZE语句(而不是DBMS_STATS)进行与基于成本的优化器无关的统计信息收集。此外,我不能找到“分析”是否得到了解决。所以不能理解你的陈述'你不应该使用ANALYZE来收集统计信息。' – XING
对于收集统计信息,你应该使用DBMS_STATS()。 ANALYZE正在验证结构,例如链接行,空闲列表块等。 – BobC
我怀疑你会找到一个文件,列举你所有的东西不能做。 DBMS_STATS.GATHER_TABLE_STATS()
的文档非常清晰,因为您可以指定模式名称和表格。 但是,我看到是否可以找到可能会被拒绝的技术原因。
这是nt一个答案,而应该是一个评论。 – XING
没有技术上的原因,我们不允许通过同义词收集统计数据。我们只是假设(因为它是如何指定的),该对象是一个表。
如果我正确地理解了你,通过“同义词”,你指的是通过数据库链接访问的另一个数据库中的表格。如果是这样,你不能通过数据库链接分析远程对象(至少不是11g)。
From the horses mouth:对远程对象
授予的权限执行DESCRIBE一些远程对象的操作:
不能使用数据库链接执行以下操作。下面 远程对象,但是,做支撑解释性说明:
表视图程序功能
分析远程对象
定义或实施参照完整性
角色授予远程数据库中的用户
获取远程数据库上的非默认角色。例如,如果jane 连接到本地数据库并执行 使用固定用户链接作为scott连接的存储过程,jane会在远程数据库上接收scott的 默认角色。简不能发出SET ROLE到 获得非默认角色。
执行哈希联接的查询使用共享服务器连接
使用当前用户连接不需要认证通过SSL,密码, 或NT本地认证
- 1. 为什么不能让我分析JSON?
- 2. 为什么我不能为LWP :: UserAgent分配一个IP?
- 3. 为什么我不能解析“+1”int?
- 4. 为什么我不能将location.hash分配给一个变量?
- 5. 为什么我的词法分析器不能识别行情“”
- 6. 为什么我不能分配element.innerHTML?
- 7. 为什么我不能分配一个常量值,我该怎么做呢?
- 8. 为什么子报表不能拆分?
- 9. 为什么for循环给我一个分析错误?
- 10. 功能将不编译,因为一个分号,我不知道为什么
- 11. 不知道为什么我的功能不是一个功能?
- 12. 为什么我不能将一个wordpress函数分配给一个变量?
- 13. 为什么我不能解析与JSON.parse这个JSON字符串()
- 14. 为什么我不能用SimpleXML解析这个SOAP响应?
- 15. 为什么我不能解析这个double_?
- 16. 为什么我不能为每个循环分配值? Java
- 17. MYSQL:为什么我不能创建表
- 18. 为什么我不能有一个异常类一个auto_ptr
- 19. 为什么我会为我的第一个日期分析获得NaN?
- 20. 为什么我们将一个mysql表分成许多小表?
- 21. 为什么我不能从一个列表理解中得到两个列表?
- 22. 为什么不表达cookie分析器解析我所有的cookie数据?
- 23. 为什么我不能JSONSerialize这个NSArray?
- 24. 我不能LogCat这个值。为什么?
- 25. 为什么我不能ExecuteNonQuery()?
- 26. Git Subtree。为什么我不能从一个子树而不是根分支?
- 27. 为什么不能为std :: tuple分配一个初始化列表?
- 28. 为什么Jericho解析器不能解析这个HTML代码?
- 29. 为什么我不能std ::分区这个std :: unordered_map?
- 30. Eclipse Subversive插件:为什么我不能创建这个分支?
你试图收集的代名词本身统计(这没有多大意义),或者它指向的表格;并且实际上是在同一个数据库(但另一个模式)或不同的数据库(通过数据库链接)?包括你尝试的陈述和你得到的错误可能也有帮助。 (无论如何,已经发布的一些答案可能会解释这一点,但它仍然是一个很好的缩小范围) –
@AlexPoole开发者正在运行分析同义词表上的语句(该表被引用到同一服务器上的另一个数据库)错误是课程表不存在;我试图用技术手段解释,让他明白为什么他的做法是错误的。 anywya你指出的答案是好的 – Moudiz