在上一篇文章中討論了如何利用VPD對Oracle表中的行進行存取控制(見《[Oracle] 資料 庫安全之 - 虛擬私人資料庫 (VPD)》),下面介紹一種比VPD複雜一點的存取控制技術— —OLS (Oracle Label Security)。
啟用OLS
如果你的資料庫版本是10g,則需 要額外安裝OLS組件,但如果是11g,只要啟用OLS即可,因為11g裡OLS是預設安裝的,下面是 11g下啟動OLS的語句:
C:\Users\xianzhu>chopt enable lbac Writing to C:/app/xianzhu/product/11.2.0/dbhome_1/install/enable_lbac.log... movefile C:\app\xianzhu\product\11.2.0\dbhome_1/bin/oralbac11.dll.dbl C:\app\xianzhu\product\11.2.0\dbhome_1/bin/oralbac11.dll
OLS啟動成功,並重啟資料庫之後,再用sqlplus登陸資料庫時,會發現多了"Oracle Label Security"的提示資訊:
C:\Users\xianzhu>sqlplus test/test SQL*Plus: Release 11.2.0.1.0 Production on 星期日 6月 9 09:40:17 2013 Copyright (c) 1982, 2010, Oracle. All rights reserved. 串連到: Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production With the Partitioning, Oracle Label Security, OLAP, Data Mining and Real Application Testing options
啟動OLS還是不夠的,還需要用dbca配置OLS,其主要步驟如下: