启用数据字典保护: 可以通过设置初始化参数 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