场景3 Data Management

场景3 Data Management

 

数据管理

性能优化

OLTP OLAP

 

物化视图 :表的快照

传输表空间 :异构平台的数据迁移

星型转换 :事实表

 

OLTP : 在线事务处理

1. transaction —> DML

2. 数据量小

3. 处理时间短 —> SQL 共享,绑定变量

4. 并发量大

 

OLAP,DSS

1. 以查询为主(海量)—> 数据汇总 —> 结果放到表(物化视图)里

2. 处理时间长

3. 几乎无并发

4. 做并行处理

 

SGA + PGA

memory_target : 自动按需分配SGA和PGA

 

eg :

set autotrace on

 

set linesize 120

set time on

set timing on

set pagesize 20

set sqlprompt

 

 

 

db link :连接前置数据库和后台数据库

前置database(查询)

后台database(统计)

物化视图 —> 读写分离

 

eg :

grant create materialized view to scott

set auto trace off

create materialized view emp_mv1 as select sum(sal) sum_al, avg(sal) avg_sal, min(sal) min_al, dept no from emp group by deptno;

desc user_segments

col segment_name for a20

select segment_name, segment_type, tablespace_name, extents, bytes/1024 from user_segments where segment_name=‘EMP_MV1’;

 

eg :

set autotrace on

select …; (查看资源消耗)执行计划 execution plan

 

将复杂的查询结果存储到物化视图里

 

PCTFREE : 一般表预留10%的空间来做update等DML操作

 

eg:show parameter rewrite

drop materialized view emp_mv1

create materialized view emp_mv1 enable query rewrite as select sum(sal) sum_al, avg(sal) avg_sal, min(sal) min_al, dept no from emp group by deptno;

 

李全新 邮箱 :quanxin.li@enmotech.com

 

手工建库脚本从官方文档拷贝修改

 

eg : desc dbms_mview

set autotrace off;

select * from emp;

update emp set deptno=40 where empno = …;

commit;

select * from emp;

select * from emp_mv1;

exec dbms_mview.refresh(‘emp_mv1’);

select * from emp_mv1;

 

物化视图日志记录基表数据的变化以便进行快速刷新

 

eg :

select * from tab;

 

create index emp_mv1_ind on emp_mv1(deptno) tablespace indx;

analyze index emp_mv1_ind compute …;

 

PCT Refresh

 

表空间移动

 

数据迁移 :

1. expdp, impdp(exp, imp)(异构平台)

2. tablespace transport(异构平台)expdp metadata, copu datafile

3. dg (Data Guard) :容灾 数据克隆 (同构平台)

4. ogg (Oracle Golden Gate) : 收费软件

5. 存储镜像

 

表空间自包含的检测 :

execute dbms_tts.transport_set_check(‘users’);

eg :

create table emp1 as select * from emp;

create index emp1_empno on emp1(empno) tablespace indx;

alter table emp1 add constraint pk_emp1 primary key(empno);

alter table emp1 move tablespace indx;

execute dbms_tts.transport_set_check(‘users’);

 

 

会用expdp

 

外部表 external table

 

重建 OEM :

emca -config dbcontrol db -repos -recreate

 

解锁sh用户

 

事实表

维度表

 

select constraint_name, table_name from user_constraints;

 

desc user_indexes

select index_name, table_name from user_indexes;

 

 

 

星型查询 : 在事实表和维度表之间进行连接查询

 

bitmap index

show parameter star

set star_tranformation_enabled to true

 

 

eg :

emctl status dbconsole

emctl start dbconsole

 

merge join cartesian

 

对表 t2 做分析 :

analyze table t2 compute statistatics;

 

星型转换

 

并行查询

设置并行度(DOP degree of parallelism)

eg : 

alter session force parallel query; 

alter session set parallel_degree_policy=limited;(设置所有SQL执行并行)

 

eg :

show parameter parallel

 

parallel_min_servers : 指定最少启用几个并行进程

 

set autotrace on

r

 

eg :

alter session enable parallel dml;

set autotrace on

insert /*+ parallel(4) */ into emp1 select /*+ parallel(4) */ from emp;

 

 

eg :alter table sh.sales parallel 8; (设置表sales的并行度为8)

 

parallel_min_time_threshold : 指定执行时间,超过则自动开启并行查询,DOP

 

posted @ 2016-08-10 09:41  Orchidelle  阅读(173)  评论(0编辑  收藏  举报