Create your own awesome maps

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;