Oracle基础快速入门

数据库体系结构

物理存储结构与Oracle启动时关系是 依次打开 参数(startup nomount)、控制(startup mount)、数据文件(open)

 

物理存储结构:指实际的文件存储形式

 

数据文件:扩展名.dbf。主要用来存放系统数据、数据字典、索引、表等信息

数据字典:V$DATAFILE

 

数据字典:Oracle数据库字典通常是在创建和安装数据库时被创建的,Oracle数据字典是Oracle数据库系统工作的基础,没有数据字典的支持,Oracle数据库系统就不能进行任何工作

 

临时文件:属于数据文件, 存放在临时表空间中

 

控制文件:扩展名.ctl。是一个二进制文件。主要用来保存数据库中物理结构信息。

 

联机重做日志文件:扩展名.log。一个包含数据变更记录的文件集合。

 

日志操作模式:联机日志、归档日志。

 

数据块:存储空间中能够读写的最小逻辑存储单位。

 

区:由一个或多个数据块构成。通过一次分配获得特定数量的相邻数据块,用于分配存储空间。

 

段:由一个或多个区构成,用于存储特定类型的信息。

 

表空间:由多个段构成。是逻辑存储结构中最大的存储单位,是物理存储结构中的数据文件对应的。

           数据字典:DBA_TABLESPACES   DBA_DATAFILES

 

Oracle数据库的内存结构:

系统全局区(SGA):数据库缓冲区、重做日志缓冲区、共享池、大型池、JAVA池、数据流池、固定的SGA

程序全局区(PGA):SQL工作区、会话内存、私有SQL区

用户全局区 软件代码区

 

Oracle数据库的进程结构:

客户端进程(用户进程):当运行一个应用程序后,操作系统就会创建一个客户端进程来运行应用程序。

服务端进程:接收客户端进程中的请求,也就是用来建立客户端与数据库的通信

后台进程:一种特使的服务器进程,完成数据库的后台管理工作。

Oracle实例(instance):是唯一访问数据块的方法;一个实例管理一个数据库。

 

总结:Oracle的体系结构由存储结构与软件结构组成,存储结构由物理存储结构与逻辑存储结构组成,Oracle对数据的组织与存储是使用逻辑存储结构来进行管理的;而软件结构由内存结构与后台进程结构组成,他们组成了Oracle的实例。

 

表空间

概念:表空间由多个逻辑区域构成的,把数据库分成了不同的区域,每个表空间中存放多个数据文件。表空间由系统表空间和非系统个表空间组成。系统自带SYSTEM(默认表空间)和SYSAUX两个表空间。

创建表空间:CREATE [TEMPORARY] TABLESPACE tablespace_name

                     TEMPFILE|DATAFILE ‘xx.dbf’ SIZE integer[K|M]

                     [AUTOEXTEND[OFF|ON [NEXT integer[K|M]|MAXSIZE [UNLIMITED|integer[K|M]]

                     [MINMUN EXTENT integer[K|M]]]

                     [ONLINE|OFFLINE]

[TEMPORARY]:创建临时表空间,否则就是永久表空间

TEMPFILE|DATAFILE:创建表空间中临时文件或数据文件

AUTOEXTEND OFF不允许自动扩展数据文件大小。

AUTOEXTEND ON :允许扩展数据文件的大小。

ONLINE|OFFLINE:选择ONLINE时,表空间创建完成后可以直接使用;选择OFFLINE时,表空间创建完成后暂时不能使用,只有将表空间状态更改成ONLINE状态才能使用。默认情况下,创建完表空间就是ONLINE状态。

例子:创建一个名为tablespace_test,数据文件为testdatafile_1,大小为10MB,不允许自扩数据文件大小的表空间。

Create tablespace tablespace_test

Datafile ‘testdatafile_1.dbf’ size 10m

Autoextend off;

 

设置默认表空间、临时表空间:ALTER USER username

                                                 DEFAULT|TEMPORARY TABLESPACE tablespace_name

 

修改表空间:ALTER TABLESPACE tablespace_name

                     [ADD DATAFILE|TEMPFILE xx.dbf SIZE integer[K|M]]

                     [DROP DATAFILE|TEMPFILE file_name]

                     [RENAME oldname TO newname]

                     [AUTOEXTEND[OFF|ON [NEXT integer[K|M] | MAXSIZE[UNLIMITED|integer[K|M]]

                     [MINMUM EXTEND integer[K|M]]]]

                     [ONLINE|OFFLINE]

ADD子句:用于添加数据文件。

DROP子句:用于删除数据文件,但是不能删除表空间中第一个数据文件。

RENAME子句:用于重命名表空间。

例子:在表空间tablespace_test中添加一个名为test_datafile1的数据文件

ALTER TABLESPACE table_test

ADD DATAFILE ‘test_datafile1.dbf’ SIZE 1M;

 

删除表空间:DROP TABLESPACE tablespace_name

                     [INCLUDING CONTENTS[{AND|KEEP}DATAFILES]]

                     [CASCADE CONSTRAINTS]

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wpyzsf.html