设为首页 加入收藏

TOP

10gocm-)session5-)数据库管理实验(三)
2015-07-24 11:42:51 来源: 作者: 【 】 浏览:13
Tags:10gocm- session5- 数据库 管理 实验
h打散)均匀分成4份,每份都保存在LEOINDEX表空间里
create unique index idx_t2_part on t2_part (name,itemid)global partition by hash (name) partitions 4 tablespace LEOINDEX parallel 4;
select index_name,index_type,table_name from user_indexes where table_name='T2_PART';
截断一个分区,需要保证全局索引可用
1.默认情况下,增加、删除分区>全局索引失效
2.truncate 操作会影响全局索引 delete 操作不会影响全局索引
alter table t2_part truncate partition p1 update global indexes;
select * from t2_part partition (p1);
【update global indexes 这个关键字可以在操作之后重建全局索引】
检查全局索引是否有效
select index_name,status,partitioned from dba_indexes where table_name='T2_PART';


三 FGA细粒度审计
场合:可以查出谁 什么时候 使用什么语句 删除的表
Oracle 细粒度审计是安全领域的一个分支,它可以追溯数据库的历史操作,从而保证所有的操作都是安全可靠可控,FGA是基于包来实现的
官方文档:Security Guide -> 12 Configuring and Administering Auditing -> Fine-Grained Auditing
PL/SQL Packages and Types Reference ?> 40 DBMS_FGA
要求:使用FGA技术对表进行审计
1.清理环境
只有管理员才可以删除审计
DBMS_FGA.DROP_POLICY(
object_schema VARCHAR2, 用户名(如果为空默认当前登陆用户)
object_name VARCHAR2, 待审计的对象名(表名字)
policy_name VARCHAR2 ); 审计名(必须是唯一值)
execute DBMS_FGA.DROP_POLICY(object_schema=>'ocm01',object_name=>'t',policy_name=>'audit_t');
conn ocm01/ocm01
drop table t purge; 删除待审计的表
2.创建待审计的T表
conn ocm01/ocm01
create table t (x number(10),y varchar2(20)); 创建待审计的表t
3.创建审计策略
conn / as sysdba
begin
dbms_fga.add_policy (
object_schema => 'ocm01', 审计谁
object_name => 't', 审计谁的表
policy_name => 'audit_t', 审计策略的名字
audit_condition => 'x >= 100', 触发审计的条件 x>=100
audit_column => 'x', 审计表中的哪个列‘x,y’
enable => TRUE, 审计立刻生效
statement_types => 'INSERT,UPDATE,DELETE,SELECT'); 触发审计的语句对这些语句都启动审计
end;
/
4.查询确认FGA策略是否生效
col object_schema for a20
col object_name for a15
col policy_name for a13
col enabled for a3
select object_schema,object_name,policy_name,enabled from dba_audit_policies;
5.插入测试记录符合触发审计的条件
conn leo1/leo1
insert into t values (10,'first');
insert into t values (100,'dfs');
insert into t values (200,'dsf');
insert into t values (300,'sdf');
insert into t values (400,'sdgdg');
insert into t values (500,'sdg');
insert into t values (600,'sdgsdgs');
select * from t; 查看审计表的内容
6.查看审计结果,默认会把审计结果放在SYS.FGA_LOG$基表中
注:审计会对INSERT,UPDATE,DELETE,SELECT这四种语句都做检查,并且记录谁 操作的哪个表 执行的什么语句
select OBJ$SCHEMA,OBJ$NAME,POLICYNAME,LSQLTEXT from SYS.FGA_LOG$;
set lines 200
col sql_text for a35
col object_schema for a15
select object_schema,object_name,policy_name,sql_text from dba_common_audit_trail;
显示所有审计结果


四 监控索引使用情况
场合:监控表中无用索引删除之
官方文档:Administrator’s Guide -> 16 Managing Indexes -> Monitoring Index Usage
conn ocm01/ocm01
drop table t4;
create table t4 as select * from dba_objects;
create index idx_t4 on t4(object_id);
开启LEO1下idx_t4索引的监控
alter index idx_t4 monitoring usage;
停止LEO1下idx_t4索引的监控
alter index idx_t4 nomonitoring usage;
select * from t4 where object_id=5000;
查看v$object_usage视图获得索引被使用情况
set linesize 400 设置环境
col index_name for a10
col table_name for a10
col start_monitoring for a20
col end_monitoring for a20
select * from v$object_usage;
说明: monitoring字段为YES 表示此索引已经被监控,NO未被监控
used字段为YES 表示此索引已经被使用,NO未被使用
start_monitoring与end_monitoring 表示上次监控区间


五 创建含特殊字段类型的表
创建具有ROWID及时间戳类型字段的表并插入数据
官方文档:SQL Reference -> 2 Basic Elements of Oracle SQL -> Datatypes ->搜索“ROWID”和“TIMESTAMP” WITH LOCAL TIME ZONE Datatype
1.创建LEONARDING_R表并初始化数据
conn ocm01/ocm01
构造数据环境
create table ocm01_text
(
text1 varchar2(10
首页 上一页 1 2 3 4 下一页 尾页 3/4/4
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇Oraclebackgroupprocesses 下一篇sed常见用法总结

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·Shell 中各种括号的 (2025-12-24 19:50:39)
·Shell 变量 - 菜鸟教 (2025-12-24 19:50:37)
·Linux source 命令 - (2025-12-24 19:50:34)
·switch520最新的地址 (2025-12-24 19:19:41)
·微信聊天功能使用了 (2025-12-24 19:19:39)