欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Oracle 10g&11g安装卸载Oracle Label Security

程序员文章站 2022-05-15 13:32:14
Oracle Label Securit简介 Oracle Label Security是内置于数据库引擎中的过程与约束条件集,该数据引擎实施对在单个表或整个模式上的"行"级访问控制。要利用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>