场景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

原文地址:https://www.cnblogs.com/jilili/p/5755486.html