ORACL∈ 第四章 管理表空间 主讲内容:表空间及管理 第2页
第四章 管理表空间 主讲内容:表空间及管理 第 2 页
ORACL∈ ●·0主要内容 表空间基础知识 二.管理表空间 其他表空间 第3页
主要内容 一.表空间基础知识 二.管理表空间 三.其他表 间空 间 第 3 页
ORACL∈ 表空间基础知i 在创建数据库时, Oracle会自动地创建多个表空间,如 system、 users等表空间; 例1: SELECT tablespace name FROM dba tablespaces sQL> SElect tablespace_name FRoM dba_tablespaces 2; ABLES PAGE NAME YSTEM SYSAUX UNDOTBS1 eXAmPLE 已选柽6行 第4页
一 . 表空间基础知识 z 在创建数据库时,Oracle会自动地创建多个表空间 会自动地创建多个表空间,如 system、users等表空间; 例1: z SELECT tablespace_name FROM dba_tablespaces; 第 4 页
ORACL∈ 表空间 说明 system存储数据字典,包括表、视图和存储过程的定义等 users 存储数据库用户创建的数据库对象 temp 存储Sq语句处理的表和索引的信息 example|如果安装时选择“实例方案”,则此表空间是各样 例帐户的对象 sysaux System表空间的辅助空间,一些选件的对象都存 放在此表空间内以减少sysm表空间的负荷 undot1|存储撤销信息用的表空间 第5页
表空间 说 明 system 存储数据字典,包括表、视图和存储过程的定义等 users 存储数据库用户创建的数据库对象 temp 存储sql语句处理的表和索引的信息 example 如果安装时选择“实例方案”,则此表空间是各样 例帐户的对象 sysaux System表空间的辅助空间,一些选件的对象都存 放在此表空间内以减少system表空间的负荷 undotbs1 存储撤销信息用的表空间 第 5 页
ORACL∈ ·表空间用于存储数据库用户的所有模式对象,用户可以使 用这些表空间进行数据操作; · Oracle数据库中最大的逻辑存储结构,与操作系统中的数 据文件相对应。 ORACLE数据库中的一个表空间由一个或多个数据文件组成, 但一个数据文件只能属于一个表空间; 在 Oracle系统里,表空间和数据文件是一对不能分开的概 念,也就是创建表空间时必须创建数据文件,增加数据文 件时必须指定表空间。 第6页
• 表空间用于存储数据库用户的所有模式对象,用户可以使 用这些表空间进行数据操作; • Oracle数据库中最大的逻辑存储结构,与操作系统中的数 据文件相对应。 – ORACLE数据库中的 个表空间由 个或多个数据文件组成 一个表空间由一个或多个数据文件组成, 但一个数据文件只能属于一个表空间; – 在Oracle系统里,表空间和数据文件是 表空间和数据文件是 对不能分开的概 一对不能分开的概 念,也就是创建表空间时必须创建数据文件,增加数据文 件时必须指定表空间。 第 6 页
ORACL∈ ●· system表空间 Oracle系统的每个版本都一直要使用 system表空间存放内 部数据和数据字典, system表空间主要存放sys用户各个 对象和其他用户的少量对象; 可以从 dba data files中查询表空间 system的文件; 可以从 dba segments数据字典中查询到某个表空间所存储 的对象类型。 第7页
system表空间 • O l rac e系统的每个版本都 直要使用 系统的每个版本都一直要使用system表空间存放内 部数据和数据字典,system表空间主要存放sys用户各个 对象和其他用户的少量对象; • 可以从dba_data_files中查询表空间system的文件; • 可以从dba_segments数据字典中查询到某个表空间所存储 的对象类型。 第 7 页
ORACL∈ 例1:查看表空间 Isystem的文件; SQL> SELECT file name tablespace name FROM dba data files Where tablespace name ='SYSTEM 例2,查询 system表空间内存放的对象及对象拥有者; SQL> select owner, tablespace_name from dba segments where tablespace name=SYStel order by owner segment type 第8页
例1:查看表空间system的文件; SQL> SELECT file_name, tablespace_name FROM dba_data_files WHERE tablespace_name =‘SYSTEM’; 例2,查询system表空间内存放的对象及对象拥有者 表空间内存放的对象及对象拥有者; SQL> select owner, tablespace_name from dba_segments where tablespace_name=‘SYSTEM’ order by owner, segment_type 第 8 页
ORACL∈ 不过,在实际应用中,如果用户都使用系统自动创建的这 几个表空间,将会严重影响/O性能; ·因此,需要根据实际情况创建用户自定义的表空间,这样「 既可以减轻系统表空间的负担,又可以使得数据库中的数 据分布更清晰。 第9页
• 不过,在实际应用中,如果用户都使用系统自动创建的这 几个表空间,将会严重影响I/O性能; • 因此,需要根据实际情况创建用户自定义的表空间,这样 既可以减轻系统表空间的负担,又可以使得数据库中的数 据分布更清晰。 第 9 页
ORACL∈ 二、管理表空间 1.创建表空间 2.维护表空间 3.删除表空间 第10页
二 管理表空间 二 、管理表空间 1. 创建表空间 2. 维护表空间 3. 删除表空间 第 10 页
ORACL∈ ·01、创建表空间 建立表空间是DBA经常要做的工作之一,在创建表空 间时,应该基于以下几点进行考量 创建临时表空间还是撤销表空间(默认为永久性) 数据文件是否自动扩展(默认为of 表空间的状态在线还是不在线(默认 online) 数据库对象的任何操作是否产生日志(默认 logging) 首先要拥有 create tablespace权限的用户,比如sys; 第11页
1、创建表空间 • 建立表空间是DBA经常要做的工作之一,在创建表空 间时,应该基于以下几点进行考量: – 创建临时表空间还是撤销表空间(默认为永久性) – 数据文件是否自动扩展(默认为off) – 表空间的状态在线还是不在线(默认online) – 数据库对象的任何操作是否产生日志(默认logging) – …… • 首先要拥有create tablespace权限的用户,比如sys; 第 11 页