Oracle 10g&11g安装卸载Oracle Label Security
oracle label securit简介
oracle label security是内置于数据库引擎中的过程与约束条件集,该数据引擎实施对在单个表或整个模式上的"行"级访问控制。要利用oracle label security,需要创建一个或多个安全策略,其中每一个安全策略都包含一组标签。你可以用这些标签来标明哪些用户能够访问什么类型数据。在创建了一个策略之后,将该策略应用于需要保护的表,并将这些标签授予你的用户,这样,你就完成了整个过程。oracle label security对查询的修改是透明的,并且在即时计算访问级别,以执行你的新策略。oracle label security 让企业和*机构能够将具有不同访问要求的数据(包括*机密数据)整合到同一个数据库中。它根据数据分类和应用用户的访问标签实施多级访问控制。借助这一强大功能,用户可以在 oracle database 中按需访问与研发项目、非公共财务信息或者医疗保健信息相关的敏感数据。
oracle label security安装
首先使用下面脚本检查数据库实例是否安装了oracle label security组件
col comp_name for a36;
col version for a30;
select comp_id, comp_name, version, status
from dba_registry
where comp_name='oracle label security';
如果没有安装oracle label security组件,那么可以使用catols.sql脚本创建oracle label security所需要用户lbacsys及数据库对象
@?/rdbms/admin/catols.sql
执行脚本过程可能会遇到“ora-01432: public synonym to be dropped does not exist”错误,这个是删除的同义词不存在,不必纠结。可以忽略。 另外,需要注意的是:脚本执行完成后会执行shutdown immediate关闭数据实例。
oracle label security对象和有效性检查
可以使用下面脚本检查oracle label security对象和对象有效性,如下所示:
select object_type,object_name
from dba_objects
where owner='lbacsys' and status='invalid';
select object_type,count(*)
from dba_objects
where owner='lbacsys' group by object_type;
卸载oracle label security
卸载oracle label security也仅需执行一个catnools.sql脚本即可。如下所示:
sql> @?/rdbms/admin/catnools.sql
pl/sql procedure successfully completed.
pl/sql procedure successfully completed.
trigger dropped.
trigger dropped.
trigger dropped.
pl/sql procedure successfully completed.
pl/sql procedure successfully completed.
user dropped.
2 rows deleted.
commit complete.
sql>
上一篇: mysql分组函数及其用例
下一篇: 冬季御寒补充四营养素 暖身抗寒增强抵抗力