Oracle体系结构之-逻辑结构
一、Oracle 逻辑结构简介
oracle的逻辑结构包括表空间(tablespace),段(segment),数据块(data block)以及模式对象(schema)。
oracle 数据库在逻辑上是由多个表间组成的,表空间中存储的对象叫段,比如数据段,索引段,和回退段。段由区组成,区是磁盘分配的最小单位。段的增大是通过增加区的个数来实现的。每个区的大小是数据块大小的整数倍,区的大小可以不相同;数据块是数据库中最小的I/O单位,同时也是内存数据缓冲区的单位,及数据文件存储空间单位。块的大小由参数DB_BLOCK_SIZE设置,其值应设置为操作系统块 大小的整数倍。
表空间在物理上包含一个或多个数据文件。而数据文件大小是块大小的整数倍;
二、表空间
表空间是Oracle数据库最大的逻辑结构,一个Oracle数据库在逻辑上由多个表空间组成,一个表空间只隶属于一个数据库。Oracle中有一个称为 SYSTEM的表空间,这个表空间是在创建或安装数据库时自动创建的。主要用于存储系统的数据字典,过程,函数,触发器等;也可以存储用户的表,索引等。
前面我们说过要查询表空间可以通过
SQL>select * from dba_data_files;
要查询表空间的空闲信息可以通过
SQL>select * from dba_free_space;
表空间有在线(online)或离线(offline)之说,一旦我们将表空间设置成离线的状态,则所有对该表空间内对象的修改将无法同步到数据文件中。我们可以将除SYSTEM和RBS表空间之外的其它表空间设置成离线状态。命令如下:
SQL>alter tablespace *** offline;
如果我们想限制某个用户能够使用的表空间的大小,则我们可以通过命令:
SQL>alter user *** quota ***m on ***
这表示我们要限制某个指定用户的表空间使用限额为***M,on之后的参数就是要限制的表空间
临时表空间用于为用户排序的ORDER BY语句使用 。创建数据库时可以指定数据库的默认临时表空间。在创建用户的时候可以指定用户的默认临时表空间。例如下句就指定temp为用户的临时表空间。
SQL>CREATE USER *** IDENTIFIED BY **** TEMPORARY TABLESPACE temp;
三、段
Oracle中的段可以分成4种类型:数据段、索引段、回滚段、临时段。
数据段用来存储用户的数据,每个表都有一个对应的回滚段,其名称和数据表的名字相同。我们可以用下列的SQL语句来查询用户的数据段信息:
SQL>select * from user_exten
相关文档:
oracle分析函数十分强大,我们只要掌握这些方法,更直接的说法就是知道这些分析函数的作用就能完成很多工作。
下边贴出这些函数,及简单应用。
其中我想对lag()和lead()函数坐下说明:lag()本身是延后的意思也就是延后出现某列的数,而lead()有引领、领先的意思也就是提前几行显示某列数据
RANK()
dense_rank() ......
http://inthirties.com:90/viewthread.jsp?tid=1395
这个deterministic是不是很眼熟呀,
我们在online redefinition里见到过这个关键字,这个关键在在自定义的函数索引里也出现了。
先看看文档
DETERMINISTIC Clause
Specify DETERMINISTIC to indicate that the function returns the same
result value whenever i ......
1.将客户端程序解压到电脑中
2.配置环境变量:
ORACLE_HOME=F:\instantclient_10_2\client
Path加上%ORACLE_HOME%\bin;
NLS_LANG=SIMPLIFIED CHINESE_CHINA.ZHS16GBK
3.修改
%ORACLE_HOME%\network\admin下的tnsnames.ora文件
dev = &nbs ......