第 6 章:管理数据库存储结构
在本章,您将了解如何使用 Enterprise Manager 来查看您的数据库结构。此外,您还将了解如何对您的数据库存储结构做出一些更改。
本章讨论了以下主题:
![]() | 查看您的数据库的存储结构 | |
![]() | 创建新的表空间 | |
![]() | 修改表空间 | |
![]() | 回收您的表空间中的空间 | |
![]() | 复用重做日志 | |
![]() | 管理您的数据库中的撤消操作 |
查看屏幕截图
将鼠标移到这个图标上,显示所有的屏幕截图。您还可以将鼠标移到各个图标上,以只查看与该图标相关的屏幕截图。
您可以使用 Enterprise Manager 来管理您数据库中的存储结构。在本节,您将访问不同存储结构的页面,以熟悉它们的内容。在随后部分,您将使用这些页面来管理您数据库中的存储结构。
执行下面的步骤使用 Enterprise Manager 来查看您的数据库存储结构:
1. | 在 Database Home 页上单击 Administration 以访问 Administration 属性页。 |
2. | 在 Storage 部分中单击 Controlfiles 以访问 Controlfiles 页。在 Controlfiles General 页上显示了控制文件及它们的状态。 除了 General 页外,还有两个其他的属性页,用于查看控制文件信息。 单击 Advanced 以查看关于控制文件的额外信息。 Advanced 页详细说明了存储在控制文件中的关于数据库的信息。单击 Record Section 以查看存储在控制文件中的信息。 Record Section 页显示了关于控制文件记录区的详细信息。单击页面顶部的数据库链接返回 Administration 页。 |
3. | 在 Administration 页上单击 Tablespaces 以访问 Tablespaces 属性页。Tablespaces 页提供了关于表空间结构和空间利用率的高级信息。您可以看到为表空间分配了多少空间以及它使用了哪些部分。 选择 Example 表空间并单击 View 以显示关于表空间的更多信息。 您会看到关于表空间的更多信息。单击页面顶部的数据库链接返回 Administration 页。 |
4. | 在 Administration 页上单击 Datafiles 以访问 Datafiles 属性页。Datafiles 页提供了一个组成您数据库的数据文件列表。 选择 example01.dbf数据文件并单击 View。 您会看到关于该数据文件的更多信息。单击页面顶部的数据库链接返回 Administration 页。 |
5. | 在 Administration页上单击 Redo Log Groups 以访问 Redo Log Groups 属性页。Redo Log Groups 页显示了您数据库的重做日志组的属性。 单击页面顶部的数据库链接返回 Administration 页。 |
6. | 在 Administration 页上单击 Archive Logs 以访问 Archive Logs 属性页。Archive Logs 页显示了您数据库的重做日志组的属性。 单击页面顶部的数据库链接返回 Administration 页。 |
创建新的表空间
在本节,您将了解如何为您的数据库创建新的表空间。
执行下面列出的步骤以创建 FSDATA 表空间。该表空间将用于存储您数据库中的表。重复这些步骤以创建 FSINDEX 表空间,它将用于存储您数据库中的索引。
1. | 在 Administration 页上单击 Tablespaces 以访问 Tablespaces 属性页。单击 Create。 |
2. | 出现 Create Tablespaces 页。在 Name 域中输入 FSDATA。在 Extent Management 标题下选择 Locally Managed 。在 Type 标题下选择 Permanent。在 Status 标题下选择 Read Write。在页上的 Datafiles 区单击 Add。 |
3. | 出现 Create Tablespace: Add Datafile 页。在 Add Datafiles 页上的 File Name 域中输入一个文件名。接受默认的 File Directory 和 File Size 值或输入新值。选择 Automatically extend datafile when full (AUTOEXTEND),并在 Increment 域中指定一个数量,在每一次填充数据文件时,您想通过该数量来扩展数据文件。单击 Continue。 |
4. | 您将返回到 Create Tablespace General 页。单击 Storage 选项卡。 |
5. | 出现 Storage 页。在 Storage 页上接受所有的默认值。单击 Thresholds 选项卡。 |
6. | 出现 Thresholds 页。接受默认的值或输入新值。单击 OK 创建表空间。 |
7. | 您将返回到 Tablespaces 页, 在该页上您将收到一个创建表空间的确认。您可以在 Results 区中查看您的新表空间。 |
8. | 重复步骤 2 到 7 以创建 FSINDEX 表空间。该表空间将用于存储您数据库中的索引。 |
修改 表空间
您可以使用 Enterprise Manager 修改表空间。您可以通过添加数据文件或扩展现有的数据文件来为表空间添加额外的空间。此外,您可以启用自动扩展,以在表空间填满时能自动进行扩展。您还可以进行其他许多更改,包括更改空间阈值和更改表空间的状态为脱机状态。
在本例中,您将为 UNDOTBS1 表空间更改自动扩展的增量,并为属于该表空间的数据文件指定一个上限。
按照下面的步骤来修改 UNDOTBS1 表空间:
1. | 在 Administration 页上单击 Tablespaces 以访问 Tablespaces 属性页。选择 UNDOTBS1 并单击 Edit。 |
2. | 出现 Edit Tablespace 页。选择与该表空间关联的数据文件并单击 Edit。 |
3. | 出现 Edit Datafile 页。选择 Automatically extend datafile when full (AUTOEXTEND)。指定增量值为 1 MB 并指定最大文件尺寸为 60 MB。单击 Continue。 |
4. | 出现 Edit Tablespace 页。单击 Apply。 |
5. | 显示一条更新消息确认您的更改。 |
回收您表空间中的空间
您可以使用segment advisor 来获取有关哪些对象适合于收缩操作的建议。然后您可以遵照建议根据需要来收缩对象。您可以在表空间级或对象级运行顾问程序。
在本节,您将执行以下任务:
![]() | 使用 segment advisor | |
![]() | 收缩数据库对象 |
执行以下步骤在表空间级调用段分析工具:
1. | 在 Database Home 页上的 Related Links 区中单击 Advisor Central 。 |
2. | 出现 Advisor Central 页。单击 Segment Advisor 调用 segment advisor 。 |
3. | 出现 Segment Advisor 属性页。选择 Tablespaces 并单击 Continue。 |
4. | 出现 Segment Advisor: Tablespaces 页。单击 Add。 |
5. | 出现 Tablespaces: Add 页。选择 EXAMPLE 表空间并单击 OK。 |
6. | 出现 Segment Advisor: Tablespaces 属性页,其中列出了 EXAMPLE 表空间。单击 Next。 |
7. | 出现 Segment Advisor: Options 页。选择 Unlimited 并单击 Next。 |
8. | 出现 Segment Advisor: Schedule 页。从 Schedule Type 下拉菜单中选择 Standard 并单击 Next。 |
9. | 出现 Segment Advisor: Review 页。选择 Submit 提交作业。 |
10. | 出现 Advisor Central 页,其中列出了与运行的任务相关的 advisor 。选择您提交的 Segment Advisor 任务并单击 View Result。 |
11. | 出现 Segment Advisor Task 页,其中提供了针对您所选的表空间的建议。要执行一个或多个建议,可选择 recommendation。执行 Shrinking Database Objects 部分中的步骤来收缩对象。 |
您可以执行以下步骤来收缩表空间中的对象:
1. | 在页面底部选择 Shrink Options。您可以选择 Compact Segments and Release Space 来释放自由空间到表空间中,也可以只选择 Compact Segments。单击 Schedule Implementation 运行收缩操作。 |
2. | 出现 Schedule Implementation 页。接受 Immediately 的开始时间并单击 Submit。 |
3. | 出现 Scheduler Jobs 页,其中显示了作业的状态。您可以单击 Refresh 来进行更新,直至作业完成的状态页面出现。成功完成后,您可以转回到 Tablespace 页,并将当前的使用空间与先前的使用空间进行比较。 |
复用重做日志
您可以通过添加额外的成员到每一个重做日志组来复用您的重做日志。
执行下面的步骤,添加新成员到您的每一个重做日志组中:
1. | 在 Administration页上单击 Redo Log Groups 以访问 Redo Log Groups 属性页。 |
2. | 选择一个组并单击 Edit,或单击组成员链接。出现 Edit Redo Log Group 页。 |
3. | 在 Redo Log Members 区中单击 Add。出现 Add Redo Log Member 页。 |
4. | 为 Name 输入 redo01a.log 并输入文件目录。单击 Continue。 |
5. | 再次显示 Edit Redo Log Group 页。检查您的输入并单击 Apply 添加您的新成员。 |
6. | 您将收到一个指示新成员已添加到您的日志组中的确认。 |
7. | 返回 Redo Log Groups 属性页,并对您的每一个日志组重复步骤 3 到 7。 |
管理您数据库中的撤消操作
撤消管理需要使数据库事务更改的存储时间足够长,以提供回滚、读取一致性和闪回功能。在您创建您的数据库时,会启用撤消保留期限的自动调整功能。在本节,您将执行以下任务:
![]() | 使用撤消管理页 | |
![]() | 使用用于管理撤消的 Oracle 建议 | |
![]() | 扩展撤消表空间 | |
![]() | 使用撤消 Undo Advisor |
您可以使用 Undo Management 页来查看撤消配置,包括自动调整的撤消保留期限、 其保留期限的最低阈值、以及撤消表空间的名称和大小。不能禁用撤消保留的自动调整功能。您还可以使用该页来设置最低的保留阈值或扩展您的表空间。当您的数据库事务处理率增长或您需要创建一种闪回恢复策略时,这些功能可能是必要的。
您可以按如下方式访问 Undo Management 页:
1. | 在 Database Home 页上单击 Administration 以访问 Administration 属性页。 |
2. | 在 Instance 区中单击 Undo Management 以访问 Undo Management 页。 |
使用用于管理撤消的 Oracle 建议
当前针对您的撤消配置的建议都汇总在 Undo Management 页的 Recommendations 区中。要更新分析,您可以为 Oralce 指定一个过去的时间段,以按如下方式分析系统行为:
1. | 在 Database Home 页上单击 Administration 以访问 Administration 属性页。 |
2. | 在 Instance 区中单击 Undo Management 以访问 Undo Management 页。 |
3. | 输入一个时间段并单击 Update Analysis。 |
扩展撤消表空间
当需要空间时,如果启用了该表空间的 AUTOEXTEND 功能,Oracle 服务器将会自动扩展撤消表空间。当禁用了 AUTOEXTEND 表空间功能时,您可能需要人工扩展撤消表空间。在由 undo advisor 提供的主动计划中,您可能发现了这一点。当您收到一个撤消表空间警报(警告或严重警报)时,或当您收到一个长的查询警报或“快照过于陈旧”的错误时,您可能也需要扩展撤消表空间。
您可以按如下方式扩展撤消表空间:
1. | 在 Database Home 页上单击 Administration 以访问 Administration 属性页。 |
2. | 在 Instance 区中单击 Undo Management 以访问 Undo Management 页。 |
3. | 在 Recommendations区中单击 Edit Undo Tablespace。 |
4. | 出现 Edit Tablespace 页。选择一个数据文件并单击 Edit 以扩展表空间。 |
5. | 出现 Edit Datafile 页。在 File Size 域中输入新的大小。注意:在本例中,其大小将增加到 45 MB。单击 Continue。 |
6. | 重新显示带有您的新值的 Edit Tablespace 页。单击 Apply。 |
使用 Undo Advisor
您可以使用 undo advisor 来获取有关表空间大小和撤消保留设置的最低阈值的建议。页面上部显示了当前自动调整的撤消保留时间和撤消表空间大小。
您可以按如下方式访问 undo advisor :
1. | 在 Database Home 页上单击 Administration 以访问 Administration 属性页。 |
2. | 在 Instance 区中单击 Undo Management 以访问 Undo Management 页。 |
3. | 单击 Undo Advisor。 |
4. | 显示 Undo Advisory 页。 |
将您的鼠标移动到这些图标上以隐藏所有的屏幕界面