Online Mind Mapping and Brainstorming

Create your own awesome maps

Online Mind Mapping and Brainstorming

Even on the go

with our free apps for iPhone, iPad and Android

Get Started

Already have an account? Log In

DDB4.0集成Oracle存储引擎 by Mind Map: DDB4.0集成Oracle存储引擎
5.0 stars - 2 reviews range from 0 to 5

DDB4.0集成Oracle存储引擎

Oracle存储体系结构

磁盘管理方式

表空间

用户数据表

集成Oracle存储引擎工作内容

表空间及磁盘管理方式

用户管理

表结构定义

存储过程及触发器

SQL语句接口

DDB+Oracle与RAC的区别

Oracle磁盘管理方式

Oracle ASM

操作系统文件系统

裸设备

OCFS-Oracle 集群文件系统

DDB集成磁盘管理

Oracle ASM 优点

简化文件管理

条带化数据分布

条带化数据分布

在修改存储配置后,在线自动重新均衡数据

ASM与传统RAID之间的选择

本身并不冲突

提供更灵活的策略

Oracle用户帐户

Oracle用户帐户类别

管理级用户帐户(SYS,SYSMAN,DBSNMP)

示例数据库帐户 :Scott/tiger

内部组件帐户

Oracle权限和角色

系统权限 GRANT CREATE SESSION TO jward;

数据库对象权限 GRANT CREATE TABLE TO jward;

角色

用户创建语句

CREATE USER jward IDENTIFIED BY password DEFAULT TABLESPACE data_ts QUOTA 100M ON test_ts QUOTA 500K ON data_ts TEMPORARY TABLESPACE temp_ts PROFILE clerk

Oracle资源管理 可精确控制一个用户的行为

控制用户连接中 session 的总数

控制数据库的命令调用次数

控制分配给消费者组的 CPU 时间

控制分配给消费者组的逻辑读次数

控制用户并发 session 数量

控制 session 连接时间

控制 session 的内存能占 SGA 的比例

Oracle认证方式

用户名/密码认证 最常用的登录方式

操作系统用户认证 建议屏蔽

SSL 认证

目录访问控制认证

Oracle中的表

堆组织表 应用最广泛的表类型

索引组织表

CREATE TABLE tbl_name (column_definition,……)organization index

索引聚簇表

CREATE CLUSTER cluster_name (cluster_column_definition,……) SIZE cluster_size; CREATE index_name ON CLUSTER cluster_name; CREATE TABLE tbl_name (column_definition,……) CLUSTER cluster_name(cluster_column)

散列聚簇表

CREATE CLUSTER hash_cluster_name (hash_key); CREATE TABLE tbl_name (column_definition,……) CLUSTER hash_cluster_name(cluster_column)

有序散列聚簇表

CREATE CLUSTER hash_cluster_name (hash_key, order_key SORT); CREATE TABLE tbl_name (column_definition1, column_definition2,……,order_column SORT, column_definition3,……) CLUSTER hash_cluster_name(cluster_column, order_column)

临时表

CREATE GLOBAL TEMPORARY TABLE table_name ON COMMIT PRESERVE/DELETE ROWS (column_definition,……)

Oracle中的索引

B树索引 最经典的索引结构

B树索引压缩

CREATE INDEX index_name ON table_name(column1,……) COMPRESS &1

反向键B树索引

CREATE INDEX index_name ON table_name(column1,……) REVERSE

降序B树索引

CREATE INDEX index_name ON table_name(column1 asc, column2 desc)

位图索引

CREATE BITMAP index_name ON table_name(column1,……)

函数索引

CREATE INDEX index_name ON table_name(function(column1

Oracle存储过程

创建存储过程语法

CREATE OR REPLACE PROCEDURE procedure_name(parameter1, parameter2,…) IS BEGIN …… END

调用存储过程

exec/call procedure_name(parameter1, parameter2,……)

Oracle程序包

包说明 包主体

Oracle触发器

创建触发器语法

CREATE [OR REPLACE] TRIGGER trigger_name {BEFORE | AFTER} event [OR event2…] ON table_name [FOR EACH ROW]

触发器类型

表级触发器, 当对某张表执行特定操作时触发

行级触发器, 当对某张表每条记录执行特定操作时触发

组合触发器, 组合几种情况,触发器可以响应多种情况

事件触发器, 某类特定事件发生时触发,如用户登录、创建表等等,具体事件参阅Oracle文档说明

Oracle数据表连接方式

Nested loops

SELECT /*+ use_nl(t1 t2) */ * FROM t1, t2 WHERE t1.id = t2.t1_id AND t1.n = 19

Hash join

SELECT /*+ use_hash(t1 t2) */ * FROM t1, t2 WHERE t1.id = t2.t1_id AND t1.n = 19

Sort-merge join

SELECT /*+ use_merge(t1 t2) */ * FROM t1, t2 WHERE t1.id = t2.t1_id AND t1.n = 19

Limit-Offset语法

Mysql

SELECT * FROM table LIMIT 10 OFFSET 10

Oracle实现方式

SELECT * FROM (SELECT rownum r , * FROM table WHERE rownum < 20) t2 WHERE t2.r >= 10;

SQL语句:select rownum ,id,name from student order by name; ROWNUM ID NAME ---------- ------ --------------------------------------------------- 3 200003 李三 2 200002 王二 1 200001 张一 4 200004 赵四 正确的SQL如下: select * from (select * from student order by name) t where t.rownum < 3;