1、大型数据库概论 Introduction of Large Database第5章 Oracle9i的数据库管理,学习目标1、掌握使用数据库配置助手创建数据库的方法。 2、掌握通过视图查看数据库信息的方法。 3、掌握表空间的管理技术。 4、掌握段的管理技术。,第5章 Oracle9i的数据库管理每个Oracle9数据库都有一个物理结构和一个逻辑结构。物理结构是由构成数据库的操作系统文件所决定;逻辑结构是用户所涉及的数据库结构,包括表空间和数据库对象(表、索引、视图、同义词、序列、簇、过程、函数等)。创建数据库是开发Oracle9i数据库应用程序的前提,数据库管理(包括对表空间和段的管理)是Or
2、acle9i的基本工作。 5.1 管理数据库Oracle9i数据库是由操作系统文件组成的,创建数据库的过程就是指定这些数据库文件的过程。Oracle9i数据库包括初始化参数文件、数据文件、控制文件和重做日志文件等主要文件。 5.1.1 使用数据库配置助手(Database Configuration Assistant,DBCA)创建数据库, 打开Oracle数据库配置助手:选择“开始”“所有程序”Oracle-OraHome92Configuration and MigrationDatabase Configuration Assistant,如图5.1所示。,图5.1 打开数据库配置助手
3、, 弹出如图5.2所示的数据库配置助手“欢迎使用”界面。,图5.2 数据库配置助手“欢迎使用”界面, 单击“下一步”按钮,弹出如图5.3所示的选择希望执行的操作对话框。,图5.3 选择希望执行的操作, 选择“创建数据库”,单击“下一步”按钮,弹出如图5.4所示的选择模板创建数据库对话框。,图5.4 选择模板创建数据库, 选择“Data Warehouse”,单击“下一步”按钮,弹出如图5.5所示的创建数据库标识对话框。,图5.5 创建数据库标识, 输入全局数据库名为XSCJ、系统标识符SID为XSCJ,单击“下一步”按钮,弹出如图5.6所示的选择希望数据库采用的默认操作模式对话框。,图5.6
4、选择数据库的默认操作模式, 数据库采用的操作模式有两种:n 专用服务器模式:数据库为每一个客户机连接分配专用资源,每个客户机都拥有一个服务器进程。该操作模式一般适用于下列场合:u 数据仓库环境中使用数据库。u 只有少数客户机连接的数据库。u 客户机将对数据库发出持久运行的请求。n 共享服务器模式:允许多个用户进程共享服务器进程,可以增加支持的用户数目。,本例选择“专用服务器模式”,单击“下一步”按钮,弹出如图5.7所示的配置初始化参数对话框。,图5.7 配置数据库的初始化参数, 配置初始化参数的对话框包括五个选项卡:n 内存:可以设置共享池、缓冲区高速缓存的大小、Java池、PGA的大小以及物
5、理内存的百分比等。n 字符集:适应不同语言文字显示而设定的选项,一般选择基于本机操作系统的语言设置。n 数据库大小:可以设置排序区的大小。n 文件位置:指定初始化参数文件、跟踪文件目录的位置。n 归档:可以设置归档日志的模式。单击“下一步”按钮,弹出如图5.8所示的数据库存储对话框。,图5.8 数据库存储设置, 该对话框显示树列表和概要视图,允许用户更改并查看控制文件、数据文件和重做日志组等对象。单击“下一步”按钮,弹出如图5.9所示的数据库创建选项对话框。,图5.9 数据库创建选项, 选择“创建数据库”,单击“完成”按钮即进行数据库的创建。数据库创建完成后弹出如图5.10所示的更改口令对话框
6、,输入相应的口令即可。,图5.10 更改口令,5.1.2 查看数据库 查看数据库的ID、名称、创建日期V$DATABASE视图记录了有关当前数据库的所有信息,以下脚本运行结果如图5.11所示。desc v$database;,图5.11 V$DATABASE视图的逻辑结构,从V$DATABASE视图中可以查看当前数据库的信息,以下脚本运行结果如图5.12所示。select dbid,name,created from v$database;,图5.12 使用V$DATABASE视图查看数据库信息, 查看数据文件V$DATAFILE视图记录了数据文件的所有信息,以下脚本运行结果如图5.13所示。
7、select creation_time,name from v$datafile;,图5.13 使用V$DATAFILE视图查看数据文件信息, 查看控制文件V$CONTROLFILE视图记录了控制文件的所有信息,以下脚本运行结果如图5.14所示。select * from v$controlfile;,图5.14 使用V$CONTROLFILE视图查看控制文件信息, 查看日志文件V$LOGFILE视图记录了日志文件的所有信息,以下脚本运行结果如图5.15所示。select * from v$logfile;,图5.15 使用V$LOGFILE视图查看日志文件信息,5.2 管理表空间:表空间是
8、Oracle9i数据库中数据的逻辑组织,在将数据插入到数据库之前,必须首先建立表空间,然后将数据插入表空间的一个对象(即表)中。 5.2.1 创建表空间:有两种方式1使用Oracle企业管理器创建表空间 启动Oracle企业管理器,以system身份连接数据库,打开如图5.16所示的企业管理器树状结构。,图5.16 Oracle企业管理器主窗口, 展开“存储”节点,右击“表空间”节点,弹出如图5.17所示的快捷菜单。,图5.17 “表空间”的快捷菜单, 在快捷菜单中选择“创建”命令,弹出如图5.18所示的“创建表空间”对话框。,图5.18 “创建表空间”对话框(“一般信息”选项卡),“创建表空
9、间”对话框包含了两个选项卡:n “一般信息”选项卡,如图5.18所示。该选项卡可以设置表空间的名称、数据文件、状态、类型等。u “名称”文本框:输入新建表空间的名称,本例名为NEW_TABSPACE1。u “数据文件”列表框:指定属于表空间的新数据文件的文件名、文件目录和大小。使用“编辑”铅笔状图标可对数据文件的属性进行编辑;使用“移去”垃圾桶状图标可以移去数据文件。本例取默认值。u “状态”单选按钮:分“联机”和“脱机”两种状态,前者表示该表空间建立后用户立即可以使用(前提是用户对该表空间已被授权);后者表示该表空间建立后用户还不能立即使用。本例取默认值(联机)。u “类型”单选按钮:分“永
10、久”和“临时”两种类型,前者表示该表空间用于存放永久性数据库对象;后者表示该表空间仅用于存放临时对象(如排序段)。本例取默认值(永久)。,n “存储”选项卡,如图5.19所示。该选项卡可以设置表空间的存储方式等信息。,图5.19 “创建表空间”对话框(“存储”选项卡),u “区管理”单选按钮:分“本地管理”和“在字典中管理”两种方式,前者表示管理各区的表空间在每个数据文件中保留一个位图,以跟踪记录该数据文件中块的空闲状态或使用状态,位图中的每个位对应一个数据块或一组数据块;后者可以为表空间创建的所有对象指定默认存储参数,是Oracle8.1版本前可用的唯一方法。 “自动分配”表示区的大小由系统
11、自动指定;“统一分配”表示区的大小可以手动指定。本例选“本地管理”、“自动分配”。u “段空间管理”单选按钮:分“自动”和“手动”两种方式,前者表示表空间中的数据对象可以自动管理空闲空间;后者表示表空间中的数据对象使用空闲列表管理空闲空间。本例取默认值(自动)。u “启用事件记录”单选按钮:分“是”和“否”两种方式,前者表示生成重做日志并可恢复,该操作时间较长;后者表示不生成重做日志,遇到意外失败时无法恢复,该操作时间较短。本例取默认值(是)。, 单击“创建”按钮,开始表空间的创建操作。表空间创建完成后,将弹出如图5.20所示的提示对话框。,图5.20 表空间创建完成的提示对话框,2手工创建表
12、空间:语法形式如下:CREATE TABLESPACE 表空间名DATAFILE 文件名1SIZE 整数K|M REUSE,其它数据文件说明DEFAULT STORAGE(INITIAL整数K|M NEXT整数K|M MINEXTENTS 整数 MAXEXTENTS 整数|UNLIMITEDPCTINCREASE 整数)ONLINE|OFFLINEPERMANENT|TEMPORARYMANAGEMENT LOCAL|DICTIONARY,上面语法中各参数描述如下:n 表空间名:指定将要创建的表空间名。n DATAFILE:指定构成表空间的一个或多个数据文件,REUSE表示可以重用已经存在的数
13、据文件。n DEFAULT STORAGE:指定分配给表空间中新对象的默认存储参数。INITIAL指定新对象第一个区的大小;NEXT指定新对象第二个区的大小;MINEXTENTS指定分配给新对象区的最小值;MAXEXTENTS指定分配给新对象区的最大值(可以指定一个整数,也可以用UNLIMITED);PCTINCREASE指定新对象第三个区及随后区的增长值。n ONLINE|OFFLINE:指定表空间的状态是联机或脱机。n PERMANENT|TEMPORARY:指定表空间的类型是永久或临时。n MANAGEMENT LOCAL|DICTIONARY:指定表空间的区管理存储方式是本地管理或在字
14、典中管理。,例5.1 在XSCJ数据库中创建一个名为NEW_TABSPACE2的表空间。CREATE TABLESPACE NEW_TABSPACE2DATAFILE E:OracleoradataXSCJnew_tabspace2_1.dbf SIZE 10M REUSEDEFAULT STORAGE(INITIAL 512K NEXT 512KMINEXTENTS 8 MAXEXTENTS 4096 PCTINCREASE 0) ONLINEPERMANECTMANAGEMENT LOCAL; 5.2.2 查看、修改表空间:有两种方式。1使用Oracle企业管理器查看或修改表空间, 启动O
15、racle企业管理器,以system身份连接数据库。 展开“存储”“表空间”文件夹,可以看到各表空间的名称、类型、区管理、大小、已使用、利用率等信息。右击表空间NEW_TABSPACE1,从快捷菜单中选择“查看/编辑详细资料”,弹出表空间编辑对话框,从中可以查看和编辑该表空间的各项特性:n 查看、增加、删除或修改表空间对应的数据文件属性。n 查看或修改表空间的状态。n 查看或修改表空间的类型。n 查看或修改表空间是否启用事件记录。2手工查看、修改表空间 查看表空间:表空间的信息存储在DBA_TABLESPACES、V$TABLESPACE、DBA_DATA_FILES和DBA_FREE_SPA
16、CE等数据字典视图中(各视图的逻辑结构可以使用desc 视图名命令查看),使用这些视图可以得到相关表空间的信息。,例5.2 从DBA_TABLESPACES视图中查看所有表空间的名称、状态、类型和管理方式,以下脚本运行结果如图5.21所示。select tablespace_name,status,contentsfrom dba_tablespaces;,图5.21 使用DBA_TABLESPACES视图查看表空间信息, 修改表空间:语法形式如下:ALTER TABLESPACE 表空间名RENAME DATAFILE 文件名TO 文件名ADD DATAFILE 数据文件说明DEFAULT
17、STORAGE 默认存储说明ONLINE|OFFLINE PERMANENT|TEMPORARYBEGIN BACKUP|END BACKUP上面语法中部分参数描述如下:n RENAME DATAFILE:对表空间中的数据文件进行重命名。n ADD DATAFILE:指定向表空间中添加数据文件,表空间在联机或脱机状态下均可添加数据文件,但要求被添加的数据文件不为其它数据库使用。n BEGIN BACKUP|END BACKUP:前者指定对表空间中的数据文件执行在线备份,备份时不能使表空间脱机、不能关闭实例、不能开始该表空间上的另一个备份;后者表示在线备份完成,只用在备份完成时。,5.2.3 删
18、除表空间:有两种方式。1使用Oracle企业管理器删除表空间 启动Oracle企业管理器,以system身份连接数据库。 展开“存储”“表空间”文件夹,右击欲删除的表空间NEW_TABSPACE1,从快捷菜单中选择“移去”即可。2手工删除表空间:语法形式如下:DROP TABLESPACE 表空间名INCLUDING CONTENTSCASCADE CONSTRAINTS;上面语法中部分参数描述如下:n INCLUDING CONTENTS:当删除包含有任何数据库对象的表空间时,必须指定该子句。n CASCADE CONSTRAINTS:删除其它表空间中表的引用完整性约束,这些约束是对被删除表
19、空间中表的主码的引用。若忽略该选项,当这样的引用完整性约束存在时,Oracle将返回一个出错信息,不能删除该表空间。,5.3 管理段 5.3.1 创建段:语法形式如下:CREATE SEGMENT 段名 TABLESPACE 表空间名STORAGE(INITIAL整数K|M NEXT整数K|M MINEXTENTS 整数 MAXEXTENTS 整数|UNLIMITED PCTINCREASE 整数) ONLINE|OFFLINE;例5.3 创建一个回滚段。CREATE ROLLBACK SEGMENT RBS001TABLESPACE RBS STORAGE (INITIAL 1M NEXT
20、1M MINEXTENTS 5 MAXEXTENTS 10 OPTIMAL 6M );上述语句中OPTIMAL参数表示当回滚段增长超过其指定值(本例为6M)时,若没有当前活动事务,Oracle将自动回收超过的部分。回滚段生成后为脱机状态。,5.3.2 查看、修改段:段的信息存储在DBA_SEGMENTS、ALL_SEGMENTS和USER_SEGMENTS等数据字典视图中,使用这些视图可以查看相关段的信息。例5.4 从USER_SEGMENTS视图中查看用户段的信息,以下脚本运行结果如图5.22所示。select segment_name,segment_type from user_segm
21、ents;,图5.22 使用USER_SEGMENTS视图查看段信息,修改段的语法是:ALTER SEGMENT 段名DEFAULT STORAGE 默认存储说明 ONLINE|OFFLINE;例5.5 修改回滚段RBS001,使其处于联机状态。ALTER ROLLBACK SEGMENT RBS001 ONLINE; 5.3.3 删除段:语法形式如下:DROP SEGMENT 段名;例5.6 删除回滚段RBS001。/*删除回滚段时必须先使其脱机*/ALTER ROLLBACK SEGMENT RBS001 OFFLINE; DROP ROLLBACK SEGMENT RBS001;,习题5 1. 通过哪些视图可以查看当前数据库的信息? 2. 简述如何手工创建表空间和段。,