目录
环境:
此文档所用环境如下:
操作系统:
数据库信息:
步骤
准备
1. 配置/etc/hosts文件
2. 在Sqlplus以dba身份登录oracle,执行
Showparameter audit_trail
若显示NONE,则执行
alter system set audit_trail=DBscope=spfile;
重启数据库,开启审计功能
3. 保证语言和字符集环境变量与数据库一致,同为american,否则vault无法显示默认的规则
4. 检查Vault 是否启用
SELECT * FROM V$OPTION WHERE PARAMETER = 'Oracle Database Vault';
PARAMETER VALUE
----------------------------- -----------------------
Oracle Database Vault TRUE
True表示已经启用,若为false,需要安装
安装
5. 启用Vault可选插件:则按以下步骤
a) 关闭数据库,EM console,监听.
顺序:EM-数据库-监听
o UNIX: 保证环境变量正确:ORACLE_HOME
, ORACLE_SID
, 和PATH
执行:
sqlplus sys as sysoper
Enter password: password
SQL> SHUTDOWN IMMEDIATE
SQL> EXIT
$ emctl stop dbconsole
$ lsnrctl stop [listener_name]
对于Oracle RAC , 关闭每一个实例:
$ srvctl stop database -d db_name
o Windows: 控制面板-服务-停止,如下图(若oracle实例名orcl,下同)
数据库(OracleServiceORCL);
EM console(OracleDBConsoleorcl);
监听(OracleOraDb11g_home1TNSListener) ;
b) 启用Valut:
o UNIX: 执行以下命令,vault依赖于LabelSecurity,所以必须先启用.
$ cd $ORACLE_HOME/rdbms/lib
$ make -f ins_rdbms.mk dv_on lbac_on ioracle
o Windows: 进入ORACLE_HOME\bin
目录,
将oradvll.dll 文件的备份 (备份名oradv11.dll.dbl)改回原名 oradvll.dll.
将oralbacll.dll文件的备份 (备份名oralbacll.dll.dbl )改回原名oralbacll.dll
备份后,改名,去掉.db1
c) 重新启动数据库,EM console,监听
顺序:监听-数据库-EM.
o UNIX:
sqlplus sys as sysoper
Enter password: password
SQL> STARTUP
SQL> EXIT
$ emctl start dbconsole
$ lsnrctl start [listener_name]
对于Oracle RAC , 启动每一个实例:
$ srvctl start database -d db_name
o Windows: 控制面板-服务,依次启动,如上图。
d) 在RAC环境下,每一个节点都执行以上步骤,修改文件名称。
e) 检查
6. 停用Vault 可选插件:则按以下步骤
【只有在生产日常维护工作,需要停用Vault时候才执行此步骤,如升级DB等】
a) 关闭数据库,EM console,监听.
顺序:EM-数据库-监听
o UNIX:
sqlplus sys as sysoper
Enter password: password
SQL> SHUTDOWN IMMEDIATE
SQL> EXIT
$ emctl stop dbconsole
$ lsnrctl stop [listener_name]
Oracle RAC
$ srvctl stop database -d db_name
o Windows: 控制面板-服务, 依次关闭,如上图。
b) 禁用Vault:
o UNIX: Run thefollowing commands:
$ cd $ORACLE_HOME/rdbms/lib
$ make -f ins_rdbms.mk dv_off ioracle
o Windows: 进入ORACLE_HOME\bin
目录
修改oradvll.dll
名称
,如 oradvll.dll.dbl
.
c) 重新启动数据库,EM console,监听,顺序:监听-数据库-EM.
o UNIX:
sqlplus sys as sysoper
Enter password: password
SQL> STARTUP
SQL> EXIT
$ emctl start dbconsole
$ lsnrctl start [listener_name]
Oracle RACinstallations
$ srvctl start database -d db_name
o Windows: 控制面板-服务,依次启动,如上图。
d) 在RAC环境下,每一个节点都执行以上步骤,修改文件名称.
e) 检查Vault
SELECT * FROM V$OPTION WHERE PARAMETER = 'Oracle Database Vault';
7. 注册Vault
a) 保证EM console运行状态.
emctl status dbconsole
b) 关闭数据库,EM console,监听. 具体顺序:EM-数据库-监听.
o UNIX:
sqlplus sys as sysoper
Enter password: password
SQL> SHUTDOWN IMMEDIATE
SQL> EXIT
$ emctl stop dbconsole
$ lsnrctl stop [listener_name]
Oracle RACinstallations
$ srvctl stop database -d db_name
o Windows: 控制面板-服务,依次关闭,如上图。
c) 若没有启用,则启用Vault可选插件:如第4步 b)。
d) 重新启动数据库和监听. (暂时不启动EM console.)
o UNIX:
sqlplus sys as sysoper
Enter password: password
SQL> STARTUP
SQL> EXIT
$ lsnrctl start [listener_name]
Oracle RAC:
$ srvctl start database -d db_name
o Windows: 控制面板-服务,依次启动监听和数据库,如上图。.
e) 生产部署时,
i. 关闭数据库后,备份整个oracle base下的所有安装文件(数据库文件不需要:数据文件,日志文件,控制文件)
ii. 重启后,确认监听和数据库的状态,全部启动,且数据库必须已经注册到监听
f) 启动 DatabaseConfiguration Assistant.
o UNIX: 打开终端,相应用户登录,如oracle,执行:
dbca
默认的, $ORACLE_HOME/bin/dbca
被调用.
o Windows: 开始 -所有程序. 然后点击 Oracle - ORACLE_HOME, Configuration andMigration Tools然后选择Database Configuration Assistant.
也可以在cmd直接执行:
dbca
或者
g) 欢迎页面, 点击 Next.
h) 选择 Configure DatabaseOptions/配置数据库选件, 点击 Next..
i) 列表选择相应的数据库,点击 Next.
j) 选择Label Security,Vault(依赖Label)点击 Next :
k) 输入DatabaseVault Owner (for example, DBVOWNER
) 和 Database Vault Account Manager (for example,DVMGR
).
输入密码,需要满足一定复杂度,如Oracle_123.
l) 点击 Next.
m) 选择专用 或者 共享 (取决于建库时的选择), 点击 完成, 最后点击 OK,过程中会重启数据库 .
Alert日志有如下信息
n) 退出 DatabaseConfiguration Assistant.
o) 默认会启动EM console,若没有启动,则执行
o UNIX:
$ emctl start dbconsole
o Windows: 控制面板-服务,启动EM OracleDBConsoleorcl(若oracle实例名orcl),如上图。
注册结束.
配置
8. 登录 Oracle Database Vault Administrator
https://host_name:port/dva
o host_name: 安装Oracle Database Vault的计算机名称
o port: EM Console HTTPS 端口号,如1158
如果不能确定端口号,查询 $ORACLE_HOME/
host_sid/sysman/config/emd.properties
文件,找到 REPOSITORY_URL
.默认是和Oracle Enterprise Database Control相同.
回车
继续浏览网站:
如果无法启动OracleDatabase Vault Administrator,检查Oracledatabase console 状态是否是 running.
o UNIX: 进入 $ORACLE_HOME/bin
目录执行:
./emctl status dbconsole
./emctl start dbconsole
o Windows: cmd执行
emctlstatus dbconsole
需要启动,则控制面板-服务,启动EM OracleDBConsoleorcl(若oracle实例名orcl),如上图。
$ORACLE_HOME/sysman/log
页面输入:
o 用户名: 有以下角色的可以登录数据库:
1. 创建策略: DV_OWNER
或者 DV_ADMIN
2. 查看报告: DV_OWNER
, DV_ADMIN
,或者DV_SECANALYST
3.
创建和管理用户和角色: DV_ACCTMGR
注册时建立的用户:
DBOWNER:具有DV_OWNER
,所以可以登录,可以执行
1
,
2
DVMGR:具有DV_ACCTMGR
,可以执行
3
,
用来新建修改用户,但无法登录vault admin
默认情况,无法使用SYS
, SYSTEM
登录. 除非拥有DV_ADMIN
或者 DV_OWNER
的角色.
o 密码: 根据注册时输入.
o 主机:安装 OracleDatabase Vault的主机名称,格式:
server.domain
如:
myserver-pc.us.example.com
o 端口: OracleDatabase的端口号. 默认是1521.不确认可以查询 $ORACLE_HOME/network/admin/tnsnames.ora
文件.
o SID/Service: 数据库SID或者服务名. 不确认可以查询$ORACLE_HOME/network/admin/tnsnames.ora
文件。
§ SID::
orcl
§ Service:格式:
service_name.domain
如
orcl.us.example.com
点击登录,进入首页
9. 此时已经对dba作了限制,包括
创建用户
修改密码
此部分权限转移给了新建的DVMGR用户
10. 配置NC相关
以下配置NC数据NC63,防止DBA操作的功能。
l 当前查询
l 选择领域
l 点击创建
l 输入,可以禁用审计,避免资源消耗。
l 点击确定,在领域首页选择‘nc63_realms’,
l 点击编辑,出现新选项
l 在领域保护的对象后面选择创建,选择nc63用户,其他默认%,保护nc所有对象类型的所有对象,点击确定。
l 点击确定,创建完毕。
l 验证查询
配置完毕。
l 查看报告,选择DatabaseVault报告中的领域审计,点击运行报告
报告如下:
卸载
卸载vault后,数据库参数恢复,保持与安装前一样.
1. 关闭数据库,EM console,监听. 具体顺序:EM-数据库-监听。
UNIX:
sqlplus sys as sysoper
Enter password: password
Connected.
SQL> SHUTDOWN IMMEDIATE
SQL> EXIT
$ emctl stop dbconsole
$ lsnrctl stop [listener_name]
Oracle RAC:
$ srvctl stop database -d db_name
Windows:控制面板-服务,依次关闭,如上图。.
2. 执行以下命令:
o UNIX
$ cd $ORACLE_HOME/rdbms/lib
$ make -f ins_rdbms.mk dv_off lbac_off ioracle
o Windows: 进入ORACLE_HOME\bin
目录
修改oradvll.dll
名称
,如 oradvll.dll.dbl
.
3. 重新启动数据库,EM console,监听
顺序:监听-数据库-EM.
o UNIX:
SQL> STARTUP
SQL> EXIT
$ emctl stop dbconsole
$ lsnrctl start [listener_name]
Oracle RAC:
$ srvctl start database -d db_name
o Windows: 控制面板-服务,依次启动,如上图。.
4. 在SQL*Plus,以SYS
as SYSDBA
登录.
5. 禁用 recyclebin.
检查是否启用recycle:
SQL> SHOW PARAMETER RECYCLEBIN
如果启用状态,执行以下命令,并重新启动数据库:
SQL> ALTER SYSTEM SET RECYCLEBIN = OFF SCOPE=SPFILE;
SQL> SHUTDOWN IMMEDIATE
SQL> STARTUP
6. 执行以下脚本:
SQL> @$ORACLE_HOME/rdbms/admin/dvremov.sql
7. 手动删除
用户DVOWNER
, DVMGR
角色DV_REALM_RESOURCE
, DV_REALM_OWNER
.
SQL> DROP DBV_OWNER CASCADE;
SQL> DROP DBV_ACCTMGR CASCADE;
SQL> DROP DV_REALM_RESOURCE;
SQL> DROP DV_REALM_OWNER;
8. 检查:
SQL> SELECT * FROM V$OPTION WHERE PARAMETER = 'Oracle Database Vault';
PARAMETER VALUE
----------------------------- -----------------------
Oracle Database Vault FALSE
帮助
http://docs.oracle.com/cd/E11882_01/server.112/e23090/toc.htm