数据库--《TianleSoftware Oracle 学习手册》教你怎样学习Oracle

  • 小编 发布于 2019-12-06 15:20:53
  • 栏目:科技
  • 来源:java高级互联网架构师
  • 7646 人围观


数据库--《TianleSoftware Oracle 学习手册》教你怎样学习Oracle

很多小伙伴们学习数据库,可能很少有时间去整理资料,今天小编整理一下资料给小伙伴们分享,希望对小伙伴有帮助,以下是整理的资料内容,小编给大家介绍一下:

一、Oracle 基础知识

1.1 Oracle OLAP 与 OLTP 介绍

数据处理大致可以分成两大类:联机事务处理 OLTP(on-line transaction

processing)、联机分析处理 OLAP(On-Line Analytical Processing)。

(1)OLTP 是传统的关系型数据库的主要应用,主要是基本的、日常的事务处

理,例如银行交易。OLTP 系统强调数据库内存效率,强调内存各种指标的命令

率,强调绑定变量,强调并发操作;

(2)OLAP 是数据仓库系统的主要应用,支持复杂的分析操作,侧重决策支持,

并且提供直观易懂的查询结果。OLAP 系统则强调数据分析,强调 SQL 执行市

场,强调磁盘 I/O,强调分区等。

OLTP 与 OLAP 之间的比较:


数据库--《TianleSoftware Oracle 学习手册》教你怎样学习Oracle

1.1.2 什么是 OLAP

OLAP,也叫联机分析处理(Online Analytical Processing)系统,有的时候也

叫 DSS 决策支持系统,就是我们说的数据仓库。在这样的系统中,语句的执行

量不是考核标准,因为一条语句的执行时间可能会非常长,读取的数据也非常多。

所以,在这样的系统中,考核的标准往往是磁盘子系统的吞吐量(带宽),如能

达到多少 MB/s 的流量。

磁盘子系统的吞吐量则往往取决于磁盘的个数,这个时候,Cache 基本是没

有效果的,数据库的读写类型基本上是 db file scattered read 与 direct path

read/write。应尽量采用个数比较多的磁盘以及比较大的带宽,如 4Gb 的光纤接

口。

1.2 索引详解

1.2.1 索引介绍

1.2.1.1 索引的创建语法

CREATE UNIUQE | BITMAP INDEX <schema>.<index_name>

ON <schema>.<table_name>

(<column_name> | <expression> ASC | DESC,

<column_name> | <expression> ASC | DESC,...)

TABLESPACE <tablespace_name>

STORAGE <storage_settings>

LOGGING | NOLOGGING

COMPUTE STATISTICS

NOCOMPRESS | COMPRESS<nn>

NOSORT | REVERSE

PARTITION | GLOBAL PARTITION<partition_setting>

相关说明

1)UNIQUE | BITMAP:指定 UNIQUE 为唯一值索引,BITMAP 为位图索引,省略为 B-Tree

索引。

2)<column_name> | <expression> ASC | DESC:可以对多列进行联合索引,当为

expression 时即―基于函数的索引‖

3)TABLESPACE:指定存放索引的表空间(索引和原表不在一个表空间时效率更高)

4)STORAGE:可进一步设置表空间的存储参数

5)LOGGING | NOLOGGING:是否对索引产生重做日志(对大表尽量使用 NOLOGGING

来减少占用空间并提高效率)

6)COMPUTE STATISTICS:创建新索引时收集统计信息

7)NOCOMPRESS | COMPRESS<nn>:是否使用―键压缩‖(使用键压缩可以删除一个键列

中出现的重复值)

8)NOSORT | REVERSE:NOSORT 表示与表中相同的顺序创建索引,REVERSE 表示相

反顺序存储索引值

9)PARTITION | NOPARTITION:可以在分区表和未分区表上对创建的索引进行分区

1.2.1.2 索引特点

第一,通过创建唯一性索引,可以保证数据库表中每一行数据的唯一性。

第二,可以大大加快数据的检索速度,这也是创建索引的最主要的原因。

第三,可以加速表和表之间的连接,特别是在实现数据的参考完整性方面特别有意义。

第四,在使用分组和排序子句进行数据检索时,同样可以显著减少查询中分组和排序的时间。

第五,通过使用索引,可以在查询的过程中,使用优化隐藏器,提高系统的性能。

1.2.1.3 索引不足

第一,创建索引和维护索引要耗费时间,这种时间随着数据量的增加而增加。

第二,索引需要占物理空间,除了数据表占数据空间之外,每一个索引还要占一定的物理空

间,如果要建立聚簇索引,那么需要的空间就会更大。

第三,当对表中的数据进行增加、删除和修改的时候,索引也要动态的维护,这样就降低了

数据的维护速度。

1.2.1.4 应该建索引列的特点

1)在经常需要搜索的列上,可以加快搜索的速度;

2)在作为主键的列上,强制该列的唯一性和组织表中数据的排列结构;

3)在经常用在连接的列上,这些列主要是一些外键,可以加快连接的速度;

4)在经常需要根据范围进行搜索的列上创建索引,因为索引已经排序,其指定的范围是连

续的;

5)在经常需要排序的列上创建索引,因为索引已经排序,这样查询可以利用索引的排序,

加快排序查询时间;

6)在经常使用在 WHERE 子句中的列上面创建索引,加快条件的判断速度。

1.3 分区表总结

1.3.1. 分区表理论知识

Oracle 提供了分区技术以支持 VLDB(Very Large DataBase)。分区表通过对分

区列的判断,把分区列不同的记录,放到不同的分区中。分区完全对应用透明。

Oracle 的分区表可以包括多个分区, 每 个 分 区 都 是 一 个 独 立 的 段

(SEGMENT),可以存放到不同的表空间中。查询时可以通过查询表来访问各

个分区中的数据,也可以通过在查询时直接指定分区的方法来进行查询。

When to Partition a Table 什么时候需要分区表,官网的 2 个建议如下:

(1)Tables greater than 2GB should always be considered for partitioning.

(2)Tables containing historical data, in which new data is added into the newest

partition. A typical example is a historical table where only the current month's data is

updatable and the other 11 months are read only.

在 oracle 10g 中最多支持:1024k-1 个分区:

Tables can be partitioned into up to 1024K-1 separate partitions

联机文档上有关分区表和索引的说明:

Partitioned Tables and Indexes

http://download.oracle.com/docs/cd/B19306_01/server.102/b14220/partconc.htm

#sthref2604

分区提供以下优点:

(1)由于将数据分散到各个分区中,减少了数据损坏的可能性;

(2)可以对单独的分区进行备份和恢复;

(3)可以将分区映射到不同的物理磁盘上,来分散 IO;

(4)提高可管理性、可用性和性能。

Oracle 10g 提供了以下几种分区类型:

(1)范围分区(range);

(2)哈希分区(hash);

(3)列表分区(list);

(4)范围-哈希复合分区(range-hash);

(5)范围-列表复合分区(range-list)。

Range 分区:

Range 分区是应用范围比较广的表分区方式,它是以列的值的范围来做为分

区的划分条件,将记录存放到列值所在的 range 分区中。

如按照时间划分,2010 年 1 月的数据放到 a 分区,2 月的数据放到 b 分区,

在创建的时候,需要指定基于的列,以及分区的范围值。

在按时间分区时,如果某些记录暂无法预测范围,可以创建 maxvalue 分区,

所有不在指定范围内的记录都会被存储到 maxvalue 所在分区中。

如:

create table pdba (id number, time date) partition by range (time)

(

partition p1 values less than (to_date('2010-10-1', 'yyyy-mm-dd')),

partition p2 values less than (to_date('2010-11-1', 'yyyy-mm-dd')),

partition p3 values less than (to_date('2010-12-1', 'yyyy-mm-dd')),

partition p4 values less than (maxvalue)

)

这一部分还有很多知识:


数据库--《TianleSoftware Oracle 学习手册》教你怎样学习Oracle


数据库--《TianleSoftware Oracle 学习手册》教你怎样学习Oracle


数据库--《TianleSoftware Oracle 学习手册》教你怎样学习Oracle

二、Oracle 备份恢复

2.1 exp/imp

Oracle 的导出导入是一个很常用的迁移工具。 在 Oracle 10g 中,Oracle 推

出了数据泵(expdp/impdp). 它可以通过使用并行,从而在效率上要比 exp/imp 要

高。

在 Oracle 10g 和 11g 的官方文档里没有搜到有关 exp/imp 的说明, 在 9i 里

找到了相关的使用说明。 连接如下:

Export

http://download.oracle.com/docs/cd/B10501_01/server.920/a96652/ch01.htm

Import

http://download.oracle.com/docs/cd/B10501_01/server.920/a96652/ch02.htm#SUTIL

002

执行备份和恢复的时候,不要在客户端的 shell 窗口执行, 要将备份的的进

程添加到服务器的后台执行。

参考:

Linux 前台 和 后台进程 说明

http://blog.csdn.net/tianlesoftware/archive/2011/01/27/6165753.aspx


数据库--《TianleSoftware Oracle 学习手册》教你怎样学习Oracle

三. RMAN

RMAN Catalog 和 Nocatalog 的区别

Blog: http://blog.csdn.net/tianlesoftware/archive/2010/06/02/5641763.aspx

RMAN 系列(一)---- RMAN 体系结构概述

Blog: http://blog.csdn.net/tianlesoftware/archive/2010/06/09/5659701.aspx

RMAN 系列(二) ---- RMAN 设置和配置

Blog: http://blog.csdn.net/tianlesoftware/archive/2010/06/16/5674309.aspx

RMAN 系列(三) ---- 介质管理问题

Blog: http://blog.csdn.net/tianlesoftware/archive/2010/06/18/5678698.aspx

Windows 下 RMAN 备份脚本

Blog: http://blog.csdn.net/tianlesoftware/archive/2010/01/12/5181414.aspx

Oracle Rman 命令详解(List report backup configure)

Blog: http://blog.csdn.net/tianlesoftware/archive/2009/12/10/4976998.aspx

RMAN 备份与恢复 实例

Blog: 'http://blog.csdn.net/tianlesoftware/archive/2009/10/19/4699320.aspx

RMAN 系列(四) ---- RMAN 备份

Blog: http://blog.csdn.net/tianlesoftware/archive/2010/06/23/5687938.aspx

RMAN 系列(五) ---- RMAN 还原 与 恢复

Blog: http://blog.csdn.net/tianlesoftware/archive/2010/06/28/5700474.aspx

RMAN 系列(六) ---- RMAN 高级恢复

Blog: http://blog.csdn.net/tianlesoftware/archive/2010/07/09/5722174.aspx

RMAN 系列(七) ---- RMAN 维护

Blog: http://blog.csdn.net/tianlesoftware/archive/2010/07/12/5728097.aspx

RMAN 系列(八) ---- RMAN List 和 report 命令

Blog: http://blog.csdn.net/tianlesoftware/archive/2010/07/12/5728116.aspx

RMAN 系列(九) ---- 调整 RMAN 备份与恢复操作的性能

Blog: http://blog.csdn.net/tianlesoftware/archive/2010/07/13/5732665.aspx

Linux 平台下 RMAN 全备 和 增量备份 shell 脚本

Blog: http://blog.csdn.net/tianlesoftware/archive/2010/07/16/5740630.aspx

如何 搭建 RMAN 备份平台

Blog: http://blog.csdn.net/tianlesoftware/archive/2010/07/16/5740896.aspx

以上内容太多,小编就不一一详细介绍了,希望大家能够仔细品读这篇优质作品,得之,幸之,会让自己提升一个台阶的。

如果大家需要这篇【TianleSoftware Oracle 学习手册】技术文档的话,就可以转发此文关注小编,私信小编“学习”得到获取方式吧!


数据库--《TianleSoftware Oracle 学习手册》教你怎样学习Oracle

转载请说明出处:五号时光网 ©