启用数据字典保护: 可以通过设置初始化参数 O7_DICTIONARY_ACCESSIBILITY 为false来保护数据字典。 此参数可以防止用户(拥有任何系统权限即是在SYS模式对象的权限的用户)来使用这些数据字典。 oracle数据库提供高度细化的权限。 一个这样的特权,通常所说
启用数据字典保护:
可以通过设置初始化参数O7_DICTIONARY_ACCESSIBILITY 为false来保护数据字典。
此参数可以防止用户(拥有任何系统权限即是在SYS模式对象的权限的用户)来使用这些数据字典。
oracle数据库提供高度细化的权限。
一个这样的特权,通常所说的任何特权,通常授予唯一的应用程序的owners和个人的数据库管理员。
例如,可以授予DROP ANY TABLE 的权限给一个应用程序所有者,通过打开或关闭的07_DICTIONARY_ACCESSIBILITY初始化参数,免遭意外或恶意使用的任何特权,可以保护Oracle数据字典。
启用数据字典保护工作流
使用em登陆到Oracle Enterprise Manager Database Control (Database Control).
点击Server"服务器",点击Initialization Parameters“初始化参数”。
搜索O7_DICTIONARY_ACCESSIBILITY这个参数。
将O7_DICTIONARY_ACCESSIBILTY
设置为FALSE。
点击应用,然后重启数据库。
O7_DICTIONARY_ACCESSIBILITY参数:
O7_DICTIONARY_ACCESSIBILITY控制对系统权限的限制。如果该参数被设置为true时,sys模式中的对象都可以访问数据字典。默认设置为false,确保系统权限被允许访问其他任何模式,而不能访问sys模式。
例如,O7_DICTIONARY_ACCESSIBILITY设置为false,那么SELECT ANY TABLE
的权限允许访问除了sys模式(数据字典不能被访问)中任何视图或表。系统权限EXECUTE
ANY PROCEDURE ,可以访问任何模式除了sys模式。
如果这个参数设置为falise,你需要访问在sys模式的对象,那么必须明确授予对象权限。以下角色,可以授予数据库管理员,也允许访问字典对象:
SELECT_CATALOG_ROLE
EXECUTE_CATALOG_ROLE
DELETE_CATALOG_ROLE