2011-11-28 65 views
5

如果我创建一个context命名空间: -如何列出Oracle DB中的所有上下文命名空间?

CREATE OR REPLACE CONTEXT hr_security 
    USING hr.pkg_security 
    ACCESSED GLOBALLY; 

如何列出所有这些命名空间,并期待它们的属性。例如,hr_security可以全局访问,并且可以从pkg_security包中设置。

回答

7

您可以查询DBA_CONTEXT(或[ALL_CONTEXT][1])视图,具体取决于您的权限以及您正在查看的上下文。 ALL_CONTEXT将列出在当前会话中设置了属性的所有上下文。 DBA_CONTEXT列出了数据库中的所有上下文。但是,你需要有额外的特权,以便能够查询DBA_CONTEXT视图(SELECT ANY DICTIONARY特权或SELECT_CATALOG_ROLE作用将是绰绰有余了,但你也可以获准进入这一观点明确)

SELECT namespace, 
     schema, 
     package, 
     type 
    FROM dba_context 

将有行的HR_SECURITY名称空间显示它与PKG_SECURITY程序包关联,TYPEACCESSED GLOBALLY

+0

对我而言'DBA_CONTEXT'起作用。 'ALL_CONTEXT'几乎没有列出任何命名空间。 – AppleGrew

相关问题