第12章管理表空间和数据文件 由于在物理上,数据库中的数据存储在数据文件 中,而在逻辑上,数据库中的数据存储在表空间中。 这也就意味着表空间与数据文件之间存在对应关系, 对表空间的管理操作与对数据文件的管理操作密切相 关。通过使用表空间,可以有效地部署不同类型的数 清率电脑学堂 据,加强数据管理,从而提高数据库运行性能
1 第12章 管理表空间和数据文件 由于在物理上,数据库中的数据存储在数据文件 中,而在逻辑上,数据库中的数据存储在表空间中。 这也就意味着表空间与数据文件之间存在对应关系, 对表空间的管理操作与对数据文件的管理操作密切相 关。通过使用表空间,可以有效地部署不同类型的数 据,加强数据管理,从而提高数据库运行性能
本章知迟要点: 掌握各种表空间的建立方法 掌握改变表空间状态的方法 掌握扩展表空间的方法 掌握管理数据文件的方法 清率电脑学堂 掌握对UNDO表空间的管理
2 本章知识要点: • 掌握各种表空间的建立方法 • 掌握改变表空间状态的方法 • 掌握扩展表空间的方法 • 掌握管理数据文件的方法 • 掌握对UNDO表空间的管理
12.1建立表空间 在Oracle11g中,当数据库管理员(DBA)创建 数据库时,Oracle不仅会创建SYSTEM表空间,还会 创建一些辅助表空间,如UNDO表空间和默认临时表 空间。为了简化表空间管理并提高性能,Oracle建议 将不同类型的数据部署到不同表空间上。 清率电脑学堂
3 12.1 建立表空间 • 在Oracle 11g中,当数据库管理员(DBA)创建 数据库时,Oracle不仅会创建SYSTEM表空间,还会 创建一些辅助表空间,如UNDO表空间和默认临时表 空间。为了简化表空间管理并提高性能,Oracle建议 将不同类型的数据部署到不同表空间上
12.1.1建立普通表空间 根据表空间对盘区的管理方式,表空间可以分为 数据字典管理的表空间和本地化管理的表空单。数据 字典表空间是传统的表空间类型,其主要用于早期的 Oracle数据库版本中,它是通过数据字典对表空间中 的盘区进行管理的。而本地管理表空间,则不再使用 清率电脑学堂 数据字典去寻找空闲空间,而使用位图的方法使用表 空间中的数据块,从而避免使用SQL语句引起系统性 能的下降
12.1.1 建立普通表空间 • 根据表空间对盘区的管理方式,表空间可以分为 数据字典管理的表空间和本地化管理的表空单。数据 字典表空间是传统的表空间类型,其主要用于早期的 Oracle数据库版本中,它是通过数据字典对表空间中 的盘区进行管理的。而本地管理表空间,则不再使用 数据字典去寻找空闲空间,而使用位图的方法使用表 空间中的数据块,从而避免使用SQL语句引起系统性 能的下降。 4
12.1.2建立大文件表空间 个大文件表空间中对应一个单一的数据文件或临 清 时文件,但是文件可以达到4G个数据块大小。理论上, 当数据块大小为8K时,大文件表空间的数据文件最大可 电 以达到32T字节;当数据块尺寸为32K时,那么大文件表 脑 空间的数据文件最大尺寸可以达到128T。在实际环境中 这还受到操作系统的文件系统的限制。 学堂
12.1.2 建立大文件表空间 • 一个大文件表空间中对应一个单一的数据文件或临 时文件,但是文件可以达到4G个数据块大小。理论上, 当数据块大小为8K时,大文件表空间的数据文件最大可 以达到32T字节;当数据块尺寸为32K时,那么大文件表 空间的数据文件最大尺寸可以达到128T。在实际环境中 ,这还受到操作系统的文件系统的限制。 5
12.1.3建立临时表空间 通过在表空间中分配I临时存储空间,Oracle能够 使带有排序等操作的SQL语句获得更高的执行效率。 如果创建了专门的临时表空间,Oracle就可以不必在 其他的表空间中为排序操作分配临时空间,这样不仅 可以实现临时数据的集中化管理,而且还不会影响到 其他表空间的使用效率。 清率电脑学堂
6 12.1.3 建立临时表空间 • 通过在表空间中分配临时存储空间,Oracle能够 使带有排序等操作的SQL语句获得更高的执行效率。 如果创建了专门的临时表空间,Oracle就可以不必在 其他的表空间中为排序操作分配临时空间,这样不仅 可以实现临时数据的集中化管理,而且还不会影响到 其他表空间的使用效率
12.1.4建立非标准块表空间 数据块的大小由参数B BLOCK SIZE决定,并 且在创建数据库后不能再进行修改。为了优化/O性能 ,Oracle系统允许不同的表空间使用不同大小的数据 块,这样可以实现将大规模的表存储在由大数据块构 成的表空间,而小规模的表则存储在由小数据块构成 的表空间中。在创建非标准数据块的表空间时,用户 清率电脑学堂 需要显式使用BLOCKSIZE选项
7 12.1.4 建立非标准块表空间 • 数据块的大小由参数DB_BLOCK_SIZE决定,并 且在创建数据库后不能再进行修改。为了优化I/O性能 ,Oracle系统允许不同的表空间使用不同大小的数据 块,这样可以实现将大规模的表存储在由大数据块构 成的表空间,而小规模的表则存储在由小数据块构成 的表空间中。在创建非标准数据块的表空间时,用户 需要显式使用BLOCKSIZE选项
12.2维护表空间 对于数据库管理员而言,在创建各种表空间后,还 需要经常维护护表空间,如改变表空间可用性和读写状 态,改变表空间名称、备份和恢复表空间、删除不需要 的表空间等。 清率电脑学堂
12.2 维护表空间 • 对于数据库管理员而言,在创建各种表空间后,还 需要经常维护护表空间,如改变表空间可用性和读写状 态,改变表空间名称、备份和恢复表空间、删除不需要 的表空间等。 8
12.2.1改变表空间可用性 当建立表空间时,表空间及其所有数据文件都处 于ONLINE状态,此时该表空间及其数据文件是可以 访问的。在多表空间数据库中,DBA可以通过将某个 表空间设置为脱机状态,可以使数据库的某部分暂时 无法被用户访问。同时,数据库的其他表空间不会受 到任何影响。相反地,也可以将某个处于脱机状态的 清率电脑学堂 表空间重新设置为联机状态,使用户能够重新访问其 中的数据
12.2.1 改变表空间可用性 • 当建立表空间时,表空间及其所有数据文件都处 于ONLINE状态,此时该表空间及其数据文件是可以 访问的。在多表空间数据库中,DBA可以通过将某个 表空间设置为脱机状态,可以使数据库的某部分暂时 无法被用户访问。同时,数据库的其他表空间不会受 到任何影响。相反地,也可以将某个处于脱机状态的 表空间重新设置为联机状态,使用户能够重新访问其 中的数据。 9
12.2.2改变表空间读写状态 表空间可以是读写方式,也可以是只读方式。默 认情况下,所有的表空间都是读写方式,任何具有配 额并且具有适当权限的用户都可以写入表空间。但是 如果将表空间设置为只读方式,则任何用户都无法向 表空间写入数据,也无法修改表空间中已有的数据, 清率电脑学堂 这种限制与权限无关
10 12.2.2 改变表空间读写状态 • 表空间可以是读写方式,也可以是只读方式。默 认情况下,所有的表空间都是读写方式,任何具有配 额并且具有适当权限的用户都可以写入表空间。但是 如果将表空间设置为只读方式,则任何用户都无法向 表空间写入数据,也无法修改表空间中已有的数据, 这种限制与权限无关