2011-11-28 22 views
5

Nếu tôi có thể tạo một không gian tên ngữ cảnh: -Làm cách nào để liệt kê tất cả các không gian tên ngữ cảnh trong Oracle DB?

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

Làm thế nào tôi có thể liệt kê tất cả các không gian tên như vậy và tìm kiếm tài sản của họ. Ví dụ: hr_security có thể truy cập trên toàn cầu và có thể được đặt từ gói pkg_security.

Trả lời

7

Bạn có thể truy vấn chế độ xem DBA_CONTEXT (hoặc [ALL_CONTEXT][1]) tùy thuộc vào đặc quyền của bạn và ngữ cảnh bạn đang xem. ALL_CONTEXT sẽ liệt kê tất cả các ngữ cảnh có thuộc tính được đặt trong phiên hiện tại. DBA_CONTEXT liệt kê tất cả các ngữ cảnh trong cơ sở dữ liệu. Tuy nhiên, bạn cần phải có ưu đãi bổ sung để có thể truy vấn xem DBA_CONTEXT (các SELECT ANY DICTIONARY đặc quyền hoặc SELECT_CATALOG_ROLE vai trò sẽ được đầy đủ hơn nhưng bạn cũng có thể được cấp quyền truy cập vào xem mà cụ thể)

SELECT namespace, 
     schema, 
     package, 
     type 
    FROM dba_context 

sẽ có một hàng cho không gian tên HR_SECURITY cho biết rằng nó được liên kết với gói PKG_SECURITY với một số TYPE của ACCESSED GLOBALLY.

+0

Đối với tôi 'DBA_CONTEXT' hoạt động. 'ALL_CONTEXT' liệt kê hầu như không có vùng tên nào. – AppleGrew

Các vấn đề liên quan