官方资料:Oracle 10g DBA 学习手册(精心整理,申请加精)

官方资料:Oracle 10g DBA 学习手册(精心整理,申请加精)

目的
本章让您了解如何使用 Oracle Universal Installer (OUI) 安装您的 Oracle 数据库软件并创建数据库。 您将学习如何使用 Database Configuration Assistant (DBCA) 创建附加数据库
主题
本章讨论了如下内容:
使用 Oracle Universal Installer (OUI) 安装软件
使用 Database Configuration Assistant (DBCA) 创建数据库 第 2 章: 安装 Oracle 软件并构建数据库
使用 Oracle Universal Installer (OUI) 安装软件

您能够使用 Oracle Universal Installer (OUI) 安装您的 Oracle 软件。 OUI 是一个 GUI 工具,可以使您查看安装在您的机器上的 Oracle 软件,安装新的 Oracle 软件,并删除您不再需要使用的 Oracle 软件。
按照以下步骤安装 Oracle 软件并创建数据库:
1.
作为管理组小组登录到您的计算机上,此小组有权限安装 Oracle 软件并创建和运行数据库。
2.
将提供给您的数据库 CD 插入光驱。 Autorun 窗口将自动显示。 选择 Install/Deinstall Products
注意: 如果您从 Oracle 的站点下载软件,请遵循网站上发布的如下指示。
3.
Oracle Universal Installer Welcome 窗口出现。 选择 Next 开始安装您的软件

4.
在 UNIX 和 Linux 安装时,Specify Inventory directory and credentials 窗口出现。 输入安装 Oracle 软件的完整目录或接受缺省值。 输入操作系统组名称,此组具有目录写权限。单击 Next。单击 OK

5.
出现对话框。

打开一个新的终端窗口,以 root登录,按照对话框的指示运行 orainstRoot.sh 脚本。 当脚本完成后,返回到 Oracle Universal Installer 页面并单击 Continue

6.
Specify File Locations 窗口出现。 输入安装 Oracle 软件的完整目录或接受缺省值。单击 Next

7.
Select Installation Type 页面出现。 也选择适合您的环境的企业版标准版。单击 Next

8.
Installer 将确认您的系统符合安装和配置所选产品的最低需求。 在继续前纠正并报告问题。单击 Next

9.
Select Database Configuration 页面出现。 选择开始数据库的类型为 General PurposeTransaction ProcessingData Warehouse。单击 Next

10.
Specify Database Configuration Options 页面出现。 在 Database Naming 部分输入 Global Database NameSID。 在 Database Character Set 部分选择字符集。 选择 Create database with Sample Schemas 安装示例模式。单击 Next
11.
Select Database Management Option
页面出现。 选择 Use Database Control for Database Management。单击 Next

12.
Specify Database File Storage Option 页面出现。 选择适合您的环境的 File SystemAutomatic Storage Management Raw Devices 。单击 Next

13.
Specify Backup and Recovery Options 页面出现。 选择 Do not enable Automated backups 配置您自己的备份计划。单击 Next

14.
Specify Database Schema Passwords 页面出现。 选择 Use different passwords for these accounts 并输入管理员密码或选择 Use the same password for all the accounts 并输入密码。单击 Next

15.
Summary 页面出现,包含将安装的产品列表。 单击 Install 开始安装。

16.
您将看到进度窗口。

17.
出现 Configuration Assistants 页面出现。 允许 Configuration Assistants 执行。 他们配置您的网络、启动域数据库连接的 Oracle Net Services listener 进程,创建数据库并配置管理工具。

18.
出现显示数据库创建进度条的页面。

19.
当数据库创建完成后,出现包含您的数据库信息的页面。 查看此列表。 如果您想解除或更改数据库帐户的密码,您可以单击页面顶部的 Password Management 。 然后单击 OK

20.
出现对话框。

打开新的终端窗口,以 root登录并运行 root.sh 脚本。 当脚本完成后,返回到 Oracle Universal Installer 页面并单击 OK

21.
End of Installation 页面出现,此页面包含关于 Web 应用程序端口号码的重要信息。

22.
单击 Yes 退出。

23.
您已经完成了 Oracle 软件的安装和数据库的创建。
使用 Database Configuration Assistant (DBCA) 创建数据库

返回主题列表

如果值选择安装软件并且随后创建数据库,或者如果您想刚刚安装的软件创建附加数据库,您
可以使用 Database Configuration Assistant (DBCA)即可完成。
遵循如下步骤创建一个数据库:
1.
作为管理组小组登录到您的计算机上,此小组有权限安装 Oracle 软件并创建和运行数据库。
2.
如下所示在 Windows 操作系统时启动 DBCA:
Start > Programs > Oracle - home_name > Configuration and Migration Tools > Database Configuration Assistant
在提示符处输入如下命令在 UNIX 操作系统启动 DBCA:
dbca
3.
出现 Welcome 页面。单击 Next

4.
Operations 窗口选择 Create a Database ,开始一个调查,使您可以配置并创建数据库。 单击 Next

5.
Database Templates 页面上,选择创建数据库使用的数据库模板类型。 您可以单击 Show Details 查看每种数据库类型的配置。 选择适合于您的数据库将支持的工作负载的类型的模板。 如果您不确定,选择默认的 General Purpose模板。单击 Next

6.
Database Identification 页面,输入 Global Database NameSID。单击 Next

7.
出现 Management Options 页面。 为了使用 Enterprise Manager,选择 Configure the Database with Enterprise Manager。 选择 Use Database Control for Database Management 以本地管理您的数据库或选择适合您的配置的 Use Grid Control for Database Management 。单击 Next

8.
输入惯了用户的密码。单击 Next

9.
选择适合您的环境的 File SystemAutomatic Storage Management Raw Devices 。单击 Next

10.
指定创建 datafiles 的位置。 选择其一: Use Database File Locations from TemplateUse Common Location for All Database FilesUse Oracle-Managed Files。单击 Next

11.
选择 Flash Recovery Area 并指定目录位置和大小。 选择 Enable Archiving 将您的数据库置于 ARCHIVELOG 模式。单击 Next

12.
单击 Sample Schemas 选项卡。 如果您想在您的数据库中包含示例模式 (EXAMPLE) 表空间,请选择 Sample Schemas 。 单击 Custom Scripts 选项卡。

13.
如果需要,在创建数据库以后,指定一个或多个要运行的 SQL 脚本。 否则,接受缺省的 No scripts to run。单击 Next

14.
出现 Memory 页面。 选择 Typical 并输入百分比值。 单击 Sizing 选项卡。

15.
出现 Sizing 页面。 指定能够同时连接到数据库的最小的块空间和作多的操作系统用户进程数量。
注意: 如果您使用模板,您不能指定块的大小。
单击 Character Set 选项卡。

16.
出现 Character Set 页面。 选择您的数据库的字符集。 单击 Connection Mode 选项卡。

17.
出现 Connection Mode 页面。 也选择适合您的环境的 专用服务器共享服务器。单击 Next

18.
出现 Database Storage 页。 接受配置或者需要时作出更改。单击 Next

19.
选择 Create Database 创建您的数据库。 您也可以选择 Save as a Database Template 保存您的配置。 单击 Finish

20.
Confirmation 窗口,确认将安装的选项然后单击 OK

21.
您的数据库就创建了。

22.
数据库创建后,您能够更改或解除您的密码或单击 Exit
官方资料:Oracle 10g DBA 学习手册 2



目的
本章向您介绍 Oracle Enterprise Manager Database Control。当您安装 Oracle 软件时,Oracle Universal Installer 将安装 Oracle Enterprise Manager Database Control。Enterprise Manager Database Control 提供了一个基于 Web 的界面,您可以使用这个界面来管理 Oracle 例程和数据库。
启动 Enterprise Manager dbconsole 进程
您要从客户端浏览器访问 Oracle Enterprise Manager Database Control,则必须启动 dbconsole 进程。dbconsole 进程在安装之后自动启动。如果该进程没有启动,则您必须在命令行下按如下方式人工启动它:
1.
作为 oracle 用户登录到操作系统上。执行以下命令来启动 dbconsole 进程:
emctl start dbconsole

2.
您可以通过执行以下命令来检查 dbconsole 进程的状态:
emctl status dbconsole

访问 Enterprise Manager (EM) Database Control

返回主题列表
您可以按如下方式访问 Oracle Enterprise Manager Database Control:
1.
打开 Web 浏览器,输入以下 URL:
http://:5500/em
2.
如果进程启动,则将显示 Database Control Login 页面。输入一个获授权访问 Oracle Enterprise Manager Database Control 的用户的用户名和口令。单击 Login。

注意:如果这是您第一次访问 Enterprise Manager Database Control,那么您会看到一个关于许可的页面。仔细查看信息,并根据您的情况相应地进行回答。
关于启动例程和打开数据库的详细说明,请参考第 5 章。
3.
显示 Database Home 页面。您可以从 Database Home 页面访问 Performance、Administration 和 Maintenance 属性。

将 EM 管理权限授予其他用户
返回主题列表
在这一部分中,您将了解到如何将管理权限授予其它的数据库用户。管理员是在管理信息库中定义的、能够登录 Enterprise Manager 来执行管理任务的数据库用户。在 Enterprise Manager 中提供的管理任务的范围取决于分配给管理员的权限和角色。
执行下列步骤来将管理权限授予其他的数据库用户:
1.
单击 Database Home 页面顶部的 Setup。

2.
显示 Administrators 列表。单击 Create,通过将管理权限分配给一个现有的数据库用户来创建一个新的 Enterprise Manager 用户。显示 Create Administratorroperties 页面。

3.
在这个步骤中,您将把管理权限授予 HR 用户。输入下列值:
Name:HR
Password:HR
注意:您可以单击与 Name 字段相邻的手电图标来从弹出窗口中选择一个现有的数据库用户。
单击 Finish。

4.
显示 Create Administrator:Review 页面。单击 Finish。

5.
再次出现 Administrators 页面,新的管理员包括在了管理员列表中。

定义中断周期
当您计划中断您的数据库,以进行维护时,您可以通过定义一个中断周期来指定您不希望接收警报通知。中断还允许您暂停监控,以便执行其它的维护操作。您可以通过执行以下步骤,在 Enterprise Manager Database Control 中定义一个中断时间周期:
1.
单击 Database Home 页面顶部的 Setup。

2.
出现 Setup 页面。单击左边窗格中的 Blackouts。

3.
出现 Blackouts 页面。单击 Create,启动 Create Blackout 向导。

4.
在 Name 字段中为中断输入一个名称。您还可以在 Comments 字段(虽然它不是一个必需的字段)中添加注释。选择 Enter a new reason,为中断输入一个原因。在 Available Targets 区域中的 Type 下拉菜单中选择 Database。选择数据库,然后单击 Move。

5.
您的数据库现在作为一个 Selected Target 列出。单击 Next。

6.
出现 Create Blackout:Schedule 页面。输入您计划的中断的开始时间,或者如果您要立即关闭数据库,则选择 immediately。选择中断的持续时间,可以是不确定、一段时间长度,或者为到将来的某个时间为止。接受默认的 "Do Not Repeat",或在下拉菜单中选择一个重复频率。单击 Next。

7.
出现 Create Blackout:Review 页面。仔细查看您输入的信息,然后单击 Finish。如果您需要修改某个设置,可以单击 Back。

8.
接收到一条确认消息。

设置首选证书
您可以设置首选证书,以便在您为执行管理操作(如备份和恢复)而安排作业和任务时,Enterprise Manager 能够为您自动提供主机和数据库登录证书。出于安全性的考虑,Oracle 以加密模式存储首选证书。
您可以通过执行以下步骤来在 Enterprise Manager Database Control 中设置首选证书:
1.
单击 Database Home 页面顶部的 Preferences。

2.
出现 Preferences 页面。单击左边窗格中的 Preferred Credentials。

3.
出现 Preferred Credentials 页面。单击数据库 Target Type 的 Set Credentials 下的图标。

4.
出现 Database Preferred Credentials 页面。以用户名和口令的形式为普通、SYSDBA 和主机连接输入证书。单击 Test。

5.
收到一条消息,确认证书验证完成。单击 Apply,保存首选证书。

官方资料:Oracle 10g DBA 学习手册3

第 4 章:配置网络环境
目的
本章帮助您配置和管理网络环境,以便用户能够访问数据库。
主题
使用 Enterprise Manager Net Services Administration 页面

Net Services Administration 页面可用于管理 Oracle 网络服务。
按照以下步骤访问 Net Services Administration 页面:
1.
打开浏览器,指定 SYS 用户名和口令,登录 Enterprise Manager Database Console。
单击 Login
2.
单击 Database Home 页面的 General 部分中的 Listener 链接。

3.
显示 Listener Home 页面。向下滚动至页面底部。

4.
单击 Related Links 部分中的 Net Services Administration

5.
显示 Net Services Administration 页面。本页面提供了管理监听器、目录命名、本地命名和指定文件位置的一种方式。

利用 Enterprise Manager 启动监听器
在这一部分中,您将了解到如何利用 Enterprise Manager 启动监听器。注意:如果监听器关闭,您将不能在浏览器中访问 Enterprise Manager Database Control。只有在您打开了 Enterprise Manager Database Control 窗口时,在本部分中列出的步骤才适用。如果您没有打开 Enterprise Manager Database Control 窗口,那么请参考下一部分,了解关于利用监听器控制实用工具来启动监听器的详细信息。
执行下列步骤,利用 Enterprise Manager 来启动监听器:
1.
单击 Database Home 页面的 General 部分中的 Listener 链接。

2.
显示 Listener Home 页面。单击 Start,启动监听器。

3.
显示 Start/Stop:LISTENER 页面。单击 OK

4.
显示 Processing:Start Listener 页面。在监听器启动后显示 Listener 主页。
[url=javascript:;]

[/url]
利用监听器控制实用程序启动监听器
在这一部分中,您将了解到如何利用监听器控制实用程序来启动监听器。这些步骤适用于您不能访问 Enterprise Manager Database Control 来启动监听器的情况。
执行下列步骤,利用监听器控制实用工具来启动监听器:
1.
作为 oracle 用户登录到操作系统上。执行以下命令来启动监听器:
lsnrctl start

2.
您可以通过执行以下命令来检查监听器的状态:
lsnrctl status

配置本地命名,以便与其它数据库连接
在这一部分中,您将配置本地命名来与另一个数据库连接。您可以利用客户端 PC 上的 Net Manager,或利用 Enterprise Manager 来配置本地命名
利用 Net Manager 配置本地命名
您必须配置客户端计算机,以便它能够与 Oracle 数据库连接。您首先必须安装 Oracle Database 客户端软件,其中包括 Oracle Net 软件。一旦您安装了 Oracle Net,您就可以使用 Oracle Net Manager 通过本地命名方法来配置网络服务名称(如下):
1.
在 Windows 上,通过单击以下菜单启动 Oracle Net Manager:
Start->Programs->Oracle->Configuration and Migration Tools->Net Manager
在 UNIX 或 Linux 上,在命令行下输入 netmgr,调用 Oracle Net Manager。

出现 Welcome 页面。

2.
展开 Local,选择 Service Naming。单击页面左边的加号 +

3.
出现 Net Service Name 向导。输入一个网络服务名称。单击 Next

4.
选择协议,用于连接数据库。您可以接受默认的 TCP/IP (网络协议)。必须配置数据库监听器使用相同的网络协议。单击 Next

5.
输入数据库计算机的主机名。单击 Next

6.
输入数据库服务名。此外,选择 Connection Type,Shared 或 Dedicated。如果您不确定或希望使用默认的数据库连接类型,请选择 Database Default。单击 Next

7.
向导的最后一页使您能够利用您输入的信息测试连接。

8.
您可以单击 Change login,并输入用户名和口令来修改默认登录。单击 Test。向导将告诉您连接测试是否成功。单击 Close,然后单击 Finish

9.
新的服务出现在 Service Naming 文件夹下。您可以查看或修改 Service Identification Address Configuration 下的高亮服务的配置。

利用 Enterprise Manager 配置本地命名
执行下列步骤,利用 Enterprise Manager 配置网络服务名:
1.
单击 Database Home 页面的 General 部分中的 Listener 页面。

2.
显示 Listener Home 页面。向下滚动至页面底部。单击 Related Links 部分中的 Net Services Administration

3.
显示 Net Services Administration 页面。选择合适的 Configuration File Location。从 Administer 下拉菜单中选择 Local Naming。单击 Go

4.
输入主机用户名和口令,然后单击 Login

5.
显示 Local Naming 页面。单击 Create 按钮或选择一个现有的网络服务名称,然后单击 Create Like

6.
显示 Create Net Service Name 通用页面。在 Net Service Name 域中输入一个名称。在 Database Information 部分中,输入一个目标服务并选择一种数据库连接类型来配置服务支持。如果目标服务是 Oracle8i 或更高版本的数据库,那么选择 Use Service Name,然后在 Service Name 域中输入一个服务名称。如果目标服务是 Oracle 8.0 版数据库,那么选择 Use SID,然后为 SID 域中的一个例程输入一个 Oracle 系统标识符。然后向下滚动至页面底部。在 Addresses 部分中,配置协议支持。单击 Add
注意: 如果您执行该任务的计算机与您利用 Net Manager 配置本地命名的计算机相同,那么请务必在 Net Service Name 域中输入一个不同的名称。

7.
显示 Add Address 页面。从 Protocol 列表中,选择监听器配置监听的协议。输入 PortHost 域。这些域必须和监听地址匹配。单击 OK。

8.
再次显示 Create Net Service Name 页面。单击 OK。在 Local Naming 页面上显示了一条创建成功消息。

9.
选择您刚刚创建的网络服务名称。单击 Test Connection

10.
输入 dbsnmp 的口令,然后单击 Test

11.
显示 Test Result 页面。单击 OK

官方资料:Oracle 10g DBA 学习手册4

第 5 章:管理 Oracle 例程
目的
本章重点讲述了管理例程所涉及到的任务。在本章中,您将了解到如何使用 Enterprise Manager 的 Administration 页面的 Instance 区域中的属性页面。
使用 Enterprise Manager 来启动和关闭例程

在启动之前,例程处于空闲状态。当例程启动时,将读取一个初始化参数文件,并相应地配置例程。在启动例程和打开数据库之后,用户可以访问数据库。
启动例程
您可以执行以下步骤,使用 Enterprise Manager 来启动例程和打开数据库:
1.
从浏览器调用 Enterprise Manager。显示 Database 页面,指示例程关闭。单击 Startup,启动例程。

2.
显示 Startup/Shutdown:Specify Host and Target Database Credentials 页面。输入主机证书和数据库证书。单击 OK

3.
显示 Startup/Shutdown:Confirmation 页面。单击 Yes,启动例程并打开数据库。

4.
显示 Startup/Shutdown:Activity 页面。

5.
在例程启动和数据库打开之后,显示 Login 页面。输入用户名和口令,登录到 Enterprise Manager Database Control。单击 Login

6.
显示 Database 主页。

关闭例程
您可以执行以下步骤,使用 Enterprise Manager 来关闭例程和关闭数据库:
1.
打开浏览器,指定 SYS 用户名和口令,登录 Enterprise Manager Database Console。
单击 Login
2.
单击 Database Home 页面的 Shutdown

3.
出现 Startup/Shutdown:Specify Host and Target Database Credentials 页面。输入主机证书和数据库证书。单击 OK

4.
出现 Startup/Shutdown:Confirmation 页面。单击 Yes,执行关闭操作。

5.
出现 Startup/Shutdown:Activity Information 页面。单击 Refresh

6.
您现在可以重新启动例程或执行恢复。

查看初始化参数
初始化参数文件包含了为例程和数据库提供的配置参数的一个列表。Oracle 数据库服务器在数据库启动时读取这些参数,并在数据库运行时监控它们。参数的值存储在内存中,其中许多参数的值可以动态地改变。
按照以下步骤查看数据库的初始化参数的值:
1.
单击 Database Home 页面上的 Administration,访问 Administration 属性页面。

2.
单击 Instance 部分中的 All Initialization Parameters

3.
出现 Initialization Parameters 页面。

管理内存参数
在这一部分中,您将了解如何查看数据库中的内存参数的值。内存参数是确定系统全局区 (SGA) 和其子部分,以及程序全局区 (PGA) 的总体大小的初始化参数。内存参数的值可能影响数据库的性能。
如果 Oracle 服务器通知您有一个与 SGA 或 PGA 大小相关的性能问题,那么您可以利用内存顾问程序帮助您确定合适的新设置。内存顾问程序可以对参数变化的效果建模。关于使用内存顾问程序的信息,请参考第 10 章。
执行下列步骤,查看内存参数的值:
1.
单击 Database Home 页面上的 Administration,访问 Administration 属性页面。

2.
单击 Instance 部分中的 Memory Parameters

3.
出现 Memory Parameters 页面。

官方资料:Oracle 10g DBA 学习手册 5

第 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 DirectoryFile 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。
管理您数据库中的撤消操作
撤消管理需要使数据库事务更改的存储时间足够长,以提供回滚、读取一致性和闪回功能。在您创建您的数据库时,会启用撤消保留期限的自动调整功能。
使用撤消管理页
您可以使用 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 页。

官方资料:Oracle 10g DBA 学习手册 6

第 7 章:管理用户和安全性
目的
您必须创建用户帐户并授予那些帐户相应的数据库访问权限,以使用户能够访问您的数据库。某些用户帐户自动包括在预先配置的数据库中,但是出于安全性的原因,这些帐户中的大多数都是被锁定的或过期的。在本章,您将学到如何创建和管理用户帐户。您将使用 Enterprise Manager 在您的数据库中创建一个角色和两个用户。您还将解除对 HR 用户帐户的锁定。
管理数据库用户

用户使用您在数据库中创建的用户帐户连接到数据库。用户帐户是通过用户名来标识的,它定义了用户的属性。在本节,您将创建一个新用户,并赋予该用户连接到数据库和在数据库中创建对象的权限。
创建新用户
执行以下步骤以创建 FSOWNER 用户:
1.
打开您的浏览器并将用户名和密码指定为 SYS,登录到 Enterprise Manager Database Console。
单击 Login
2.
Administration 页上的 Security 区中单击 Users

3.
显示 Users 属性页。单击 Create

4.
显示 Create Users General 页。在域中输入以下值:
Username:FSOWNER
Password:FSOWNER
Default tablespace:FSDATA
Temporary tablespace:TEMP
Status:Unlocked

单击 OK

5.
显示 Users 属性页,其中带有一条 Update 消息,用于确认您的用户已创建。您还可以看到在该页上列出了新用户。

单击 Database 链接返回 Administration 页。
更改用户属性
在本节,您将学到如何更改用户属性。FSOWNER 用户将在数据库中创建对象,并需要具有 FSDATA 表空间上的限额以在其中创建对象。
执行下面列出的步骤,以支持 FSOWNER 用户在 FSDATA 表空间中创建对象:
1.
Administration 页上的 Security 区中单击 Users 以访问 Users 属性页。在结果列表中选择 FSOWNER 并单击 Edit

2.
显示 Edit User General 页。单击 Quotas 显示 Quotas 页。

3.
Quota 下拉菜单中为 FSDATA 表空间选择 Unlimited。单击 Apply

4.
The Edit User page appears with an Update message confirming your change.注意限额值为 -1 表示 Unlimited(无限制)。

选择 Users 链接以返回到 Users 属性页。
解除帐户锁定和重置密码
如果帐户被锁定,用户就不能登录到数据库。在安装过程中,会给您提供一个选项,以解决锁定或重置 Oracle 提供的用户帐户。如果您在那时没有选择解除那些帐户的锁定,您可以遵循以下步骤来执行该操作。在本例中,您将解除对 HR 用户帐户的锁定并重置密码。您可以为每一个您想解除锁定和/或需要重置密码的帐户执行相同的步骤。
1.
Administration 页上的 Security 区中单击 Users 以访问 Users 属性页。在结果列表中选择 HR 并在 Actions 框的下拉菜单中选择 Unlock User 。单击 Go

2.
单击 Yes 以确认解除锁定的操作。

3.
显示 Users 属性页,其中带有一条 Update 消息,用于确认您的用户已解除锁定。您可以在 Results 区中看到 HR 用户的 EXPIRED(过期)状态。在结果列表中选择 HR 并单击 Edit

4.
显示 Edit User General 页。输入新密码并单击 Apply

5.
显示 Edit User 页,其中带有一条更新消息,用于确认对您的用户所作的更改。

选择 Users 返回 Users 属性页。
授予权限
在本节,您将了解如何授予权限。FSOWNER 用户将在数据库中创建对象,并且需要具有创建那些对象的权限。
执行下面列出的步骤以支持 FSOWNER 用户在数据库中创建对象:
1.
Administration 页上的 Security 区中单击 Users 以访问 Users 属性页。在结果列表中选择 FSOWNER 并单击 Edit

2.
显示 Edit User General 页。单击 System Privileges

3.
显示 System Privileges 页。单击 Modify

4.
显示 Modify System Privileges 页。单击下列权限中的每一个并单击 Move 以将其选中: CREATE SESSION, CREATE ANY TABLE, CREATE ANY INDEX。单击 OK

5.
显示 Edit User 页,其中带有所选的系统权限。单击 Apply 授予权限。

6.
显示 Edit User 页,其中带有 Update 消息以确认更改。

单击 Database 链接返回 Administration 页。
管理角色
您可以使用角色将权限与其他角色组合起来,以便于为用户授予多个权限和角色。有许多预定义的角色。此外,您还可以创建适用于您的数据库中存在的操作和对象的角色。
创建角色
在本节,您将创建一个角色以包含所需要的权限。在本章后面,您将对象权限授予该角色。
按照下面的步骤创建 FSCLERK 角色:
1.
Administration 页上的 Security 区中单击 Roles

2.
出现 Roles 属性页。单击 Create

3.
出现 Create Role 页。在 Name 域中输入 fsclerk。单击 System Privileges

4.
显示 System Privileges 页。单击 Modify 以选择要授予该角色的系统权限。

5.
Available System Privileges 中选择 Create Session 并单击 Move 以将其选中。单击 OK

6.
再次显示 Create Role 页。单击 OK 创建带有所选权限的角色。

7.
再次显示 Roles 页,其中带有一条更新消息,用于确认 FSCLERK 角色已创建。您可以向下滚动来查看您刚才创建的角色。

授予角色
在本节,您将学到如何将角色授予用户。FSOWNER 用户需要 FSCLERK 角色中的权限。
执行下面列出的步骤,为 FSOWNER 提供 FSCLERK 角色中的权限:
1.
Administration 页上的 Security 区中单击 Users 以访问 Users 属性页。在结果列表中选择 FSOWNER 并单击 Edit

2.
显示 Edit User General 页。单击 Roles

3.
出现 Roles 页。单击 Modify

4.
显示 Modify Roles 页。从 Available Roles 中选择 FSCLERK 并单击 Move 以将其选中。单击 OK

5.
显示 Edit User 页,其中带有所选的角色。单击 Apply 授予角色。

6.
显示 Edit User 页,其中带有确认更改的 Update 消息。

官方资料:Oracle 10g DBA 学习手册 7

第 8 章:管理模式对象

返回课程列表

目的
模式是一个数据库对象的集合。模式为一个数据库用户所有,并具有与该用户相同的名称。模式对象是由用户创建的逻辑结构,用以包含或引用他们的数据。模式对象包含诸如表、视图和索引之类的结构。您可以使用 Oracle Enterprise Manager 来创建和操作模式对象。
访问模式对象

执行下面的步骤,使用 Enterprise Manager 访问模式对象:
1.
打开浏览器,并指定用户名和密码为 SYS ,以登录到 Enterprise Manager Database Console。
单击 Login
2.
单击 Administration 并选择 Tables 链接。

3.
选择 flashlight 图标以选择一种特定的模式。

4.
选择 HR 并单击 Select

5.
Object Name 域中输入 emp 并单击 Go

6.
显示出与您的搜索条件相匹配的对象。

管理表
表是 Oracle 数据库中数据存储的基本单元。它们保存了所有用户可访问的数据。每一个表都包含列和行。
查看表的属性
执行下面的步骤,查看 HR.EMPLOYEES 表的属性:
1.
选择 EMPLOYEES 表并单击 View

2.
出现 Table View 页,其中显示了包含有列、约束和存储选项的表属性。

单击 Tables 链接,返回到 Tables 属性页。
查看表的内容
执行下面列出的步骤以查看 HR.EMPLOYEES 表的内容:
1.
选择 EMPLOYEES 表并从 Actions 下拉菜单中选择 View Data。单击 Go

2.
出现 View Data For Table 页,其中显示了 Results 区中的行数据。

创建新表
在本节中,您将为数据库创建三个新表:EMPLOYEES、CUSTOMERS 和 ORDERS。
1.
单击 Tables 属性页上的 Create

2.
创建表:出现 Table Organization 页。选择 Standard, Heap Organized 并单击 Continue

3.
出现 Create Table 页。在 Name 域中输入 employees。在 Schema 域中输入 fsowner。在 Tablespace 域中输入 fsdata。定义如下的列,并单击 Add 5 Table Columns
EMPLOYEE_ID NUMBER(6)
FIRST_NAME VARCHAR2(20)
LAST_NAME VARCHAR2(25)
EMAIL_ADDRESS VARCHAR2(25)
PHONE_NUMBER VARCHAR2(20)


4.
输入如下剩余的列:
HIRE_DATE DATE
JOB_ID VARCHAR2(10)
SALARY NUMBER(8)
MANAGER_ID NUMBER(6)

单击 Constraints

5.
出现 Constraints 页。从下拉菜单中选择 Primary 并单击 Add

6.
出现 Add Primary Constraint 页。在 Name 域中输入 emp_id_pk。在 Available Columns 列表中选择 EMPLOYEE_ID。单击 Move 并选中。
单击 OK

7.
出现 Create Table 页。单击 OK

8.
出现 Table 页,其中含 Update 消息,指示您的表已创建。

9.
重复步骤 2 到 8,按如下定义的格式在 FSOWNER 模式中创建 CUSTOMERSORDERS 表。
CUSTOMERS
Column
Type
PK?
CUSTOMER_ID
NUMBER(6)
Y
CUST_FIRST_NAME
VARCHAR2(20)
CUST_LAST_NAME
VARCHAR2(20)
STREET_ADDRESS
VARCHAR2(40)
CITY
VARCHAR2(30)
STATE
VARCHAR2(10)
POSTAL_CODE
VARCHAR2(10)
PHONE_NUMBER
VARCHAR2(20)
ORDERS
Column
Type
PK?
ORDER_ID
NUMBER(12)
Y
ORDER_DATE
DATE
ORDER_MODE
VARCHAR2(8)
CUSTOMER_ID
NUMBER(6)
DELIVERY_MODE
VARCHAR2(8)
ORDER_STATUS
NUMBER(2)
SALES_CLERK_ID
NUMBER(6)
ORDER_TOTAL
NUMBER(8.2)
修改表
您可以使用 Enterprise Manager 修改表,如添加和删除列或添加约束。在本节,您将添加一个约束到您创建的 EMPLOYEES 表上。您将通过添加一个 NOT NULL 约束来确保 EMAIL_ADDRESS 列包含一个值。
执行以下的步骤,添加一个 NOT NULL 约束到您的 EMPLOYEES 表上:
1.
选择 EMPLOYEES 表并单击 Edit

2.
EMAIL_ADDRESS 列检查 Not NULL 列。单击 Apply

3.
显示 Edit Table 页,其中包含有确认更新的消息。

丢弃表
您可以使用 Enterprise Manager 按如下方式丢弃(删除)表。出于本次练习的目的,您将创建一个新表然后删除该表。
1.
Administration 页上的 Schema 部分中单击 Tables 链接以访问 Schema objects 属性页。在 Object Type 下拉菜单中选择 Table。在 Schema Name 域中输入 HR ,并在 Object Name 域中输入 JOBS。单击 Go

2.
Actions 下拉菜单中选择 Create Like 。单击 Go

3.
出现 Create Table 页。在 Name 域中输入 JOBS_HIST。为 JOB_ID 列和 JOB_TITLE 列取消选择 Not Null。单击 Constraints

4.
出现 Constraints 页。通过选择表上的每一个约束并单击 Delete,可删除该表上的约束。本次练习不需要这些约束。单击 General 以返回到 General 页。

5.
单击 OK 创建 JOBS_HIST 表。

6.
显示一条消息,指示已创建表。

7.
Object Name 域中输入 JOBS_HIST 并单击 Go

8.
显示 Tables 页,其中在 Results 部分中带有 JOBS_HIST 表。单击 Delete 以删除 JOBS_HIST 表。

9.
单击 Yes 确认删除表。

10.
显示一条消息,指示已删除表。单击 Go 以尝试取回表。

11.
在结果区中显示 No object found ,指示表已丢弃(删除)。

管理索引
索引是与表关联的可选结构,可用于改进查询的性能。索引提供了对表数据的快速访问路径。可以在表的一个或多个列上创建索引。创建好索引后,Oracle Database 服务器将自动维护和使用它。对表的数据或结构所作的更改会自动合并进所有相关的索引中,它对于用户是完全透明的。
查看索引的属性
执行下面列出的步骤,以在您的 FSOWNER 模式中查看索引的属性:
1.
Administration 页上的 Schema 部分中单击 Indexes 链接以访问 Indexes 属性页。

2.
出现 Indexes 页。在 Schema Name 域中输入 FSOWNER并单击 Go

3.
显示出在您定义主键时所创建的索引。通过单击索引名链接,选择在 EMPLOYEES 表上创建的 EMP_ID_PK索引。

4.
显示出 EMPLOYEES 表的 EMP_ID_PK 索引。

选择 Indexes 链接以返回到 Indexes 属性页。
创建新索引
在 ORDERS 表的 CUSTOMER_ID 列上创建一个索引,以使您能够快速访问特定客户的所有订单。该索引将存储在 FSINDEX 表空间中。
执行下面列出的步骤以创建 ORD_CUSTID_IDX 索引:
1.
从 Object Type 中选择 Tables。在 Schema 域中输入 FSOWNER并单击 Go

2.
出现 Tables 页。选择 ORDERS 表并从 Actions 下拉菜单中选择 Create Index。单击 Go

3.
出现 Create Index 页。在 Name 域中输入 ORD_CUSTID_INDX。在 Tablespace 域中输入 fsindex。选择 Standard B-tree 作为索引类型。在 Order 列中输入 1 ,以选择 CUSTOMER_ID 列。接受 ASC 作为排序顺序。单击 OK 创建索引。

管理视图
视图是一个或多个表或其他视图中的数据的自定义显示。它们可以被看作存储的查询。视图并不真正包含数据,相反它们是从它们所基于的表中获取它们的数据。这些表被称为视图的基表。与表一样,视图可以通过某些限制条件执行查询、更新、插入和删除操作。在视图上执行的所有操作实际上影响的是视图的基表。通过限制对预先确定的表的行列集的访问,视图提供了一个额外的安全等级。它们还隐藏了数据复杂性并存储复杂的查询。
访问视图
执行下面列出的步骤以访问视图:
1.
在 Administration 页的 Schema 部分中选择 Views。在 Schema Name 域中输入 HR 并单击 Go

2.
显示了定义在 HR 模式中的表上的视图。选择 EMP_DETAILS_VIEW 并单击 View 以查看其定义。

3.
显示 View 页,提供了视图的定义。

选择 Views 链接。
创建新视图
执行下面列出的步骤以创建一个新视图:
1.
在 Views 属性页上单击 Create

2.
输入下面的信息并单击 OK
View name: CLERK10_ORDS
Schema: FSOWNER
Query text:
SELECT order_id, customer_id, order_total FROM orders WHERE sales_clerk_id = 10

3.
显示 Views 页,确认视图已创建。

选择 Database 链接。
管理数据库驻留的程序单元
您可以使用 Enterprise Manager 来管理数据库驻留的程序单元,如 PL/SQL 包、过程、触发器和函数、以及 Java 源和类。这些操作包括创建和编译数据库驻留的程序单元、为数据库驻留的程序单元创建别名、授权使用数据库驻留的程序单元、以及显示数据库驻留的程序单元的依赖性。
1.
Administration 页上的 Schema 部分中单击 Procedures 链接。

2.
Schema 域中输入 hr 并单击 Go

3.
选择 ADD_JOB_HISTORY 过程。从下拉菜单中选择 Grant Privileges 并单击 Go

4.
选择 EXECUTE 作为权限并选择 FSOWNER 作为用户。单击 OK

加载数据到表中
您可以使用 Enterprise Manager 来成批地加载数据到表中。当您有许多数据时,批量加载是方便的。您可以加载来处操作系统文件或其他的数据库的数据。您还可以导出数据到文件中。一种加载的方法是使用控制 (.ctl) 和数据 (.dat) 文件。这些文件被转化为标准的 SQL*Loader 文件格式。SQL*Loader 是一种实用工具,您可以用它来把外部文件的数据加载到 Oracle 数据库的表中。
在本节,您将使用 load_cust.ctl 文件把客户信息加载到您的 FSOWNER.CUSTOMERS 表中。创建一个名称为 $HOME/labs 的目录。下载

load_cust.zip

文件并解压缩 load_cust.ctl 和 load_cust.dat 文件到 $HOME/labs 中,以为本节所用。
1.
Maintenance 页上的 Utilities 部分中单击 Load Data From File 链接。

2.
出现 Load Data: Control File 页。输入您数据库服务器机器上的控制文件的完整路径。同时输入主机的用户名和密码。单击 Next

3.
出现 Load Data: Data File 页。选择 在控制文件中指定的数据文件。单击 Next

4.
出现 Load Data: Load Method 页。接受默认的 Conventional Path 作为加载方法。单击 Next

5.
出现 Load Data: Options 页在 Optional Files 部分中选择 Generate log file 页。您可以接受默认的文件名和路径或输入不同的文件名或路径。单击 Next

6.
出现 Load Data: Schedule 页。在 Job Name 域中输入名称并在 Description 域中输入说明。选择 Immediately 以立即运行作业。单击 Next

7.
出现 Load Data: Review 页。查看您的文件名和加载方法。如果您想更改一些信息,可以单击 Back 按钮。否则,单击 Submit Job 以开始加载。

8.
出现 Status 页,其中包含一条消息,指示加载数据提交成功。单击 View
Job
以查看作业一览表。

9.
该一览表页将提示作业已成功完成。如果不是这样,您可以在您的作业上的 Logs 标题下方单击来查看日志,也可以直接查看日志文件。

10.
您可以转至 Tables 页,并选择表,然后选择 View Data,来确认数据加载。单击 Go

11.
您加载的行显示在 View Data for Table:FSOWNER.CUSTOMERS 页上。单击 OK 返回到 Tables 属性页。

官方资料:Oracle 10g DBA 学习手册 8

第 9 章:执行备份和恢复
目的
本章向您介绍通过 Enterprise Manager 执行的 Oracle Database 备份和恢复操作。
配置
闪回恢复区和 ARCHIVELOG 模式

闪回恢复区是为 Oracle 数据库中的所有与恢复相关的文件和活动提供的一个统一的存储位置。将数据库从介质故障中完全恢复过来所需的全部文件都属于闪回恢复区。可以在闪回恢复区中创建的与恢复相关的文件包括:存档重做日志文件、控制文件、由恢复管理器 (RMAN) 创建的备份、闪回日志和修改跟踪文件。Oracle 推荐在与数据库文件所在相同的磁盘上创建修改跟踪文件。实际上,如果您安装了 OMF,并执行了启用修改跟踪的命令,那么将自动在为数据库文件指定的目录中创建跟踪文件。
通过分配一个存储位置并将相关的恢复文件统一在一个特定的区域内,Oracle 数据库服务器使数据库管理员不必再管理由这些组件创建的磁盘文件。
当创建闪回恢复区时,您可以选择一个目录、文件系统或自动存储管理磁盘组来存放文件,并为闪回恢复区中用于存储所有文件的最大空间设置一个磁盘限额。您必须选择一个足够大的区域,以容纳所需的磁盘限额。当接近磁盘空间界限时,Oracle 服务器可以根据 RMAN 保留策略的界限来删除非必要的文件,为新文件腾出空间。
闪回恢复区应该在一个与工作区分离的磁盘上,其中存储着在增量备份中使用的活动数据库文件(如数据文件、控制文件、在线重做日志和修改跟踪文件)。将闪回恢复区和工作区置于相同的磁盘上,当出现磁盘故障时,很容易使您同时丢失活动的数据库文件以及备份。
当您创建数据库时,可以配置闪回恢复区和 ARCHIVELOG 模式。如果您在您创建数据库时没有执行这些任务,那么请按照以下步骤来配置闪回恢复区和 ARCHIVELOG 模式:
1.
在操作系统提示符下为闪回恢复区创建一个目录。执行下列命令: cd $ORACLE_BASE mkdir flash_rec_area

2.
打开浏览器,并指定用户名为 SYS,口令为 SYSDBA,以登录 Enterprise Manager Database Console。单击 Login

3.
单击 Oracle Database Home 页面上的 Maintenance

4.
Backup/Recovery 部分中选择 Configure Recovery Settings。您可以使用 Configure Recovery Settings 页面来配置恢复实用工具的设置,包括闪回恢复区。

5.
出现 Configure Recovery Settings 页面。滚动至 Flash Recovery Area 部分。在相应字段中输入下列值来配置闪回恢复区:
Flash Recovery Area Location:
Flash Recovery Area Size:
向上滚动至窗口顶部。

6.
选中 Archive Log Mode,为数据库配置 ARCHIVELOG 模式。单击 Apply

7.
显示一条确认修改的消息。要完成 ARCHIVELOG 模式的配置,必须关闭数据库例程。单击 Yes,关闭例程并重新启动它。

8.
显示 Restart Database:Specify Host and Target Database Credentials 页面。输入主机证书和数据库证书。单击 OK

9.
显示 Restart Database:Confirmation 页面。单击 Yes,关闭例程并重新启动它。

10.
显示 Restart Database:Activity Information 页面。单击 Refresh,登录 Enterprise Manager Database Control。

配置
备份设置和策略

您可以配置许多设置和策略来确定如何存储备份、备份哪些数据、如何执行备份,以及备份在从恢复区中清除之前保留多久。
您还可以配置特性来提高备份性能。
1.
单击 Oracle Database 主页上的 Maintenance 页面

2.
在 Backup/Recovery 区域中选择 Configure Backup Settings

3.
滚动至 Configure Backup Settings 页面的 Host Credentials 区域。输入操作系统用户名和口令。向上滚动至 Disk Settings 部分。

4.
接受 Device 页面上的 Disk Settings 部分中的 Parallelism 字段中的值 1。设置 Disk Backup Location 字段为 null,以使用闪回恢复区进行备份。对 Disk Backup Type 选择 Backup Set。单击 Test Disk Backup

5.
显示一条消息,指示磁盘设置备份测试成功完成。现在您将配置备份策略设置。单击 Policy,访问 Policy 页面。

6.
选择 Automatically backup the control file and server parameter file (SPFILE) with every backup and database structural change。选择 Optimize the whole database backup by skipping unchanged files such as read-only and offline datafiles that have been backed up。选择 Enable block change tracking for faster incremental backups。为 Block Change Tracking File 输入一个文件名。然后向下滚动到 Retention Policy 部分。

7.
选择 Retain backups that are necessary for a recovery to any time within the specified number of days (point-in-time recovery),并接受默认值(31 天)。单击 OK。返回到 Maintenance 页面。

确定 DBID 和 DB_UNIQUE_NAME 的值


返回主题列表

如果您丢失了数据库控制文件或 SPFILE,Enterprise Manager 可以从备份中恢复它们 — 只要您能够为数据库提供 DB_UNIQUE_NAME 和 DBID。
执行以下步骤,确定 DB_UNIQUE_NAME 的值:
1.
单击 Administration 页面上的 Instance 区域中的 All Initialization Parameters

2.
出现 Current 属性页面。在 Filter 字段中输入 db_unique_name,然后单击 Go

3.
出现的页面显示了一行,该行的 Name 列为 db_unique_name, Value 列中给出了数据库的db_unique_name 的值。

记录这个值,以便将来您需要它来进行恢复操作时,可以获得它。
执行以下步骤来确定 DBID:
1.
单击 Administration 页面的 Storage 区域中的 Controlfiles

2.
出现 Controlfiles 属性页面。选择 Advanced 属性页面。

3.
Database ID 字段包含 DBID 值。

记录这个值,以便将来您需要它来进行恢复操作时,可以获得它。
执行完整的数据库备份
您可以通过执行一次完整的数据库备份来备份数据库的全部内容。所有数据文件的完整备份都将被创建。结果可能作为镜像拷贝或作为备份集存储,但在任意情况下,数据库的所有数据文件以及控制文件、存档重做日志和服务器参数文件的全部内容都将在备份中反映出来。利用这个文件集,可以完整的恢复数据库。
1.
Backup/Recovery 区域中选择 Schedule Backup

2.
出现 Schedule Backup:Strategy 页面。从 Backup Strategy 下拉菜单中选择 Customized。选择 Whole Database,如果需要,在 Host Credentials 部分中输入用户名和口令。单击 Next

3.
出现 Schedule Backup:Options 页面。在 Backup Type 部分中选择 Full Backup。在 Backup Mode 部分中选择 Online Backup。在 Advanced 部分中选中 Back up all archived logs on disk。单击 Next

4.
出现 Schedule Backup:Settings 页面。适当地选择 DiskTape。单击 Next

5.
出现 Schedule Backup:Schedule 页面。接受默认的作业名称。选择 Immediately,立即执行作业,或输入在稍后执行的时间。单击 Next

6.
出现 Schedule Backup:Review 页面。单击 Submit Job

7.
显示 Backup Submit Successful 消息。单击 OK

利用 Oracle 建议的备份策略对数据库进行备份
Oracle 建议的备份策略的基础是创建数据库的一个镜像拷贝,然后利用 RMAN 增量备份继续生成备份。Oracle Enterprise Manager 调度 RMAN 备份作业。按照以下步骤来设置备份计划:
1.
Backup/Recovery 区域中选择 Schedule Backup

2.
出现 Schedule Backup:Strategy 页面。从 Backup Stratgy 下拉菜单中选择 Oracle-suggested。在 "Select your backup destination" 下选择 Disk。在 Host Credentials 部分中输入操作系统用户名和口令。单击 Next

3.
出现 Schedule Backup:Setup 页面。请仔细查看信息,然后单击 Next

4.
出现 Schedule Backup:Schedule 页面。仔细查看信息,并相应地调整开始日期和时间。单击 Next

5.
出现 Schedule Backup:Review 页面。请仔细查看信息,然后单击 Submit Job

6.
出现 Status 页面和一条指示作业成功提交的消息。您可以单击 View Job 来访问作业状态页面或单击 OK 来完成操作。

还原和恢复整个数据库
在这一部分中,您将通过 Enterprise Manager 来恢复数据文件。
1.
在 Backup/Recovery 区域中选择 Perform Recovery

2.
出现 Perform Recovery:Type 页面。从 Type 部分中的 Object Type 下拉菜单中选择 Whole Database。选择 Recover to the current time or a previous point-in-time 作为 Operation Type。在 Host Credentials 部分中输入操作系统用户名和口令。单击 Next

4.
显示 Recovery Wizard 页面,指示例程将关闭并重启。单击 Refresh,继续使用 Recovery Wizard。

5.
单击 Perform Recovery,恢复数据库。

6.
Host Credentials 区域中输入操作系统用户名和口令。在 Database Credentials 区域中输入 SYS 和 SYS 的口令。单击 Continue

7.
再次出现 Perform Recovery:Type 页面。数据库现在处于加载状态。单击 Next

8.
出现 Perform Recoveryoint-in-time 页面。选择 Recover to the current time。单击 Next

9.
出现 Perform Recovery:Rename 页面。选择 No. Restore the files to the default location(如果您希望这样)或者选择 Yes.Restore the files to a new, common location,并输入位置。单击 Next

10.
出现 Perform Recovery:Review 页面。仔细查看信息,然后单击 Submit

11.
收到 "Operation succeeded" 消息。单击 OK
执行闪回表
启用行转移
您必须在表上启用行转移,以在表上执行闪回表操作。在这一部分中,您将在 HR.EMPLOYEES 表上启用行转移。
1.
Oracle Database Home 页面上单击 Administration

2.
出现 Administration 属性页面。在 Schema 部分中选择 Tables

3.
出现 Tables 页面。从 Object Type 下拉菜单中选择 Table。在 Schema 字段中输入 HR,在 Object Name 字段中输入 REGIONS。单击 Go

4.
REGIONS 表显示在 Results 部分中。单击 Edit

5.
出现 Edit Table 页面。单击 Options 标签。

6.
Enable Row Movement 下拉菜单中选择 Yes。单击 Apply

7.
收到一条消息,指示表成功修改。选择路径式导航栏中的 Tables 导航项。

模拟用户错误
在这一部分中,您将通过修改 REGIONS 表中的数据来模拟用户错误。执行以下操作:
1.
通过打开一个终端窗口和执行以下命令来查看 REGIONS 表中的数据: sqlplus hr/hr col region_name format a30 select * from regions;

2.
通过执行以下 SQL 命令来修改所有行中的 region_name 列中的值,以模拟用户错误: update regions set region_name = 'ORACLE'; commit;

3.
再次执行以下命令来查看修改:
select * from regions;

在执行闪回表部分中,您将把表闪回到您更新表之前的时间点上。
执行闪回表
在这一部分中,您将闪回 HR.REGIONS 表。
1.
验证在表的列表中仍然选中了 REGIONS。从 Actions 下拉菜单中选择 Flashback Table。单击 Go

2.
出现 Perform Recoveryoint-in-time 页面。选择 Flashback to a timestamp,然后输入几分钟以前的一个日期和时间。单击 Next

3.
出现 Perform Recovery:Flashback Tables 页面。仔细查看页面上的信息,然后单击 Next

4.
出现 Perform Recovery:Review 页面。仔细查看信息,然后单击 Submit

5.
接收到一条消息,确认表已被闪回。单击 OK

6.
切换回 SQL*Plus 会话,执行以下命令来验证闪回表操作:
select * from regions;

执行闪回丢弃

返回主题列表

在这一部分中,您将使用闪回丢弃特性来取回被丢弃的表。为了完成本练习,您将创建一个新的表、丢弃该表,然后用闪回丢弃来恢复它。
按照下列步骤来创建一个新的表,然后丢弃它:
1.
在 Schema Name 字段中输入 HR,并在 Object Name 字段中输入 REGIONS 或 REGIONS 的一部分,然后单击 Go

2.
从 Action 下拉菜单中选择 Create Like。单击 Go

3.
出现 Create Table 页面。在 Name 字段中输入 REG_HIST。取消 REGION_ID 列选定的 Not Null。单击 Constraints

4.
出现 Constraints 页面。选中每一个约束条件,然后单击 delete 来删除表上的约束条件。本练习不需要这些约束条件。

5.
单击 OK,创建 REG_HIST 表。

6.
收到一条消息,指示表已创建。在 Object Name 字段中输入 REG_HIST,然后单击 Go

7.
显示 Tables 页面,并在 Results 部分中显示 REG_HIST 表。单击 Delete 来删除 REG_HIST 表。

8.
单击 Yes,确认删除表。

9.
显示一条消息,指示表已删除。单击 Go,尝试取回表。

10.
在结果部分中显示 No object found

要恢复您刚刚删除的表,您将需要执行一次闪回丢弃。执行以下操作:
1.
单击 Recycle Bin

2.
在 Schema Name 字段中输入 HR,然后单击 Go

3.
验证选中了 REG_HIST,然后单击 Flashback Drop

4.
出现 Perform Recovery: Rename 页面。单击 Next

5.
出现 Perform Recovery:Review 页面。仔细查看信息,然后单击 Submit

6.
显示一条确认消息。单击 OK

7.
回收站中不再有该表。单击路径式导航栏中的 Tables 导航项。

8.
REG_HIST 表现在被包含在表的列表中。

管理备份

管理备份包括两个任务:管理存在于磁盘或磁带上的备份自身,和管理保存在 RMAN 信息库中的备份记录。在这一部分中,您将执行备份维护和更新 RMAN 信息库。
使用 Manage Current Backups 页面
您可以使用 Manage Current Backups 页面来查看在 RMAN 信息库中记录的备份。从这个页面中,您可以执行在这整个部分中说明的备份维护操作。
1.
单击 Maintenance 属性页面的 Backup/Recovery 区域中的 Manage Current Backups

2.
显示 Manage Current Backups 页面。 Backup Sets 属性页面显示在 RMAN 信息库中记录的备份集。单击 Contents 列中的链接来查看关于一个备份集的内容的详细信息。

3.
显示 Contents 属性页面。单击 Manage Current Backups,返回 Manage Current Backups 属性页面。

4.
单击 Image Copies,查看 Image Copies 页面。

5.
显示 Image Copies 页面,该页面显示记录在 RMAN 信息库中的镜像拷贝。

交叉查对备份
当您交叉查对一个备份时,RMAN 验证记录在信息库中的信息与实际备份状态是否保持一致。如果不一致,则将更新信息库来反映正确的状态。您可以按以下方式来交叉查对所有的备份文件:
1.
单击 Maintenance 属性页面的 Backup/Recovery 区域中的 Manage Current Backups

2.
显示 Manage Current Backups 页面。单击页面顶部的 Crosscheck All 来交叉查对 RMAN 信息库中的所有文件。

3.
显示 Crosscheck All:Specify Job Parameters 页面。您可以接受 Job Name、Job Description、Start time 和 Repeat 规范的默认值,或输入自己的值。单击 Submit Job,提交交叉查对作业。

4.
Manage Current Backups 页面上显示了一条 Job Submission Succeeded 消息。您可以单击 View Job 来查看作业的状态。

5.
Summary 区域中,您可以查看作业的状态。

删除过期备份
您可以通过执行以下步骤来删除 RMAN 信息库中标记为 EXPIRED 的所有备份:
1.
单击 Maintenance 属性页面的 Backup/Recovery 区域中的 Manage Current Backups

2.
显示 Manage Current Backups 页面。单击页面顶部的 Delete All Expired,从 RMAN 信息库中删除标记为 EXPIRED 的那些备份。

3.
显示 Delete All Expired:Specify Job Parameters 页面。您可以接受 Job Name、Job Description、Start time 和 Repeat 规范的默认值,或输入自己的值。如果您没有执行交叉查对操作,选择 Perform the operation 'Crosscheck All' before 'Delete All Expired'。 单击 Submit Job,提交作业。

4.
Manage Current Backups 页面上显示了一条 Job Submission Succeeded 消息。您可以单击 View Job 来查看作业的状态。

5.
Summary 区域中,您可以查看作业的状态。

删除废弃备份
您可以通过执行以下步骤来删除所有废弃的备份:
1.
单击 Maintenance 属性页面的 Backup/Recovery 区域中的 Manage Current Backups

2.
显示 Manage Current Backups 页面。单击页面顶部的 Delete All Obsolete,从 RMAN 信息库中删除所有过时的备份。注意:您可以从 Backup Sets 或 Image Copies 页面中执行这一操作。

3.
显示 Delete All Obsolete:Specify Job Parameters 页面。您可以接受 Job Name、Job Description、Start time 和 Repeat 规范的默认值,或输入自己的值。单击 Submit Job,提交作业。

4.
Manage Current Backups 页面上显示了一条 Job Submission Succeeded 消息。您可以单击 View Job 来查看作业的状态。

5.
Summary 区域中,您可以查看作业的状态。

6.
返回 Image Copies 和/或 Backup Sets 属性页面来验证废弃的备份是否已被删除。

标记备份为 UNAVAILABLE
您可以通过执行以下步骤来把信息库中的备份标记为 UNAVAILABLE:
1.
单击 Maintenance 属性页面的 Backup/Recovery 区域中的 Manage Current Backups

2.
显示 Manage Current Backups 页面。选择您希望标记为 UNAVAILABLE 的备份,并单击 Change to Unavailable

3.
显示 Confirmation 页面。单击 Yes,继续操作。

4.
显示 Request in process 页面。

编制备份的目录
您可以为利用操作系统命令获取的备份编制目录,以便 RMAN 可以在恢复操作中使用它们。在本例中,您将使用操作系统命令来备份属于 EXAMPLE 表空间的数据文件。然后您将使用 Enterprise Manager 来为 RMAN 信息库中的备份文件编制目录。
1.
调用 SQL*Plus,并作为一个拥有 SYSDBA 权限的用户登录。通过执行以下命令来使 EXAMPLE 表空间处于在线备份模式:
ALTER TABLESPACE example BEGIN BACKUP;

2.
返回操作系统提示符,创建属于 EXAMPLE 表空间的数据文件的一个拷贝。在本例中,拷贝创建在一个名称为 backup 的目录中。您可以使用您自己选择的一个目录。

3.
执行以下命令,使 EXAMPLE 表空间退出在线备份模式:
ALTER TABLESPACE example END BACKUP;

4.
现在您已经做好准备,可以利用 Enterprise Manager Database Control 来为 RMAN 信息库中的备份编制目录。单击 Maintenance 属性页面的 Backup/Recovery 区域中的 Manage Current Backups

5.
选择 Manage Current Backups 页面顶部的 Catalog Additional Files

[/url]
6.
选择 Catalog files in the specified disk location into the Recovery Manager repository,然后输入位置和备份文件的名称(无需文件扩展名)。单击 OK

7.
显示 Request in process 页面。

8.
显示一条确认消息,指示已完成文件的目录编制。

官方资料:Oracle 10g DBA 学习手册 9

第 10 章:监控和调整数据库
目的
本章向您介绍通过企业管理器执行的一些监控和调整操作。
主动监控数据库
警报帮助您主动地监控数据库。 大多数警报是在超过特定的量度阈值时发出的通告。 您可以为每一个警报设置临界和警告阈值。 这些阈值即为边界值,如果超过了这些边界值,则指示系统处于非预期的状态。
创建具有指定阈值的表空间和表
首先创建包含有一个 20 MB 的数据文件的一个新的表空间。 将本地管理这个表空间,并使用自动段空间管理 (ASSM)。 然后您在这个新的表空间中创建一个新的表。 这个表将把 Enable Row Movement 选项设为 yes,以允许表中的空间回收。 执行以下操作:
1.
单击数据库主页上的 Administration 链接。

2.
单击 Tablespaces 链接。

3.
单击 Create 按钮。

4.
输入 TBSALERT 作为表空间名称,然后单击 Add,为表空间定义一个数据文件。

5.
输入 tbsalert.dbf 作为数据文件名,并输入 20 MB 作为文件大小。 单击 Continue

6.
单击 Thresholds,指定空间使用率警告和临界阈值水平。

7.
单击 Specify Thresholds, by percent used。 设置数据库范围的默认空间使用率阈值。 为 Warning% 输入 60,为 Critical% 输入 68。单击 OK

8.
单击 Database 导览栏,返回 Administration 属性页面。

9.
单击 Tables 链接。

10.
单击 Create

11.
单击 Continue

12.
在 Name 域中输入 employees1。 指定 SYSTEM 作为模式, TBSALERT 作为表空间。 单击 Define Using 下拉列表,选择 SQL。 在 Create Table As 域中输入 select * from hr.employees,然后单击 Options

13.
为 Enable Row Movement 选择 Yes,然后单击 OK,完成表的创建。

14.
表已创建完成。 单击 Database 导览栏。

触发表空间空间使用率警报
您现在将更新表,触发空间利用率警报。 执行以下操作:
1.
打开 SQL*Plus 会话,然后执行以下命令:
sqlplus system/oracle
2.
将以下 SQL 命令拷贝并粘贴到 SQL*Plus 会话中, 以模拟 EMPLOYEES1 表上的用户活动: begin
for i in 1..1000 loop
insert into employees1
select * from hr.employees;
commit;
end loop;
end;
/


3.
转至 Enterprise Manager 窗口。 单击 Database 导览栏,返回到 Administration 页面,然后单击 Tablespaces 链接。

4.
注意, TBSALERT 表空间使用百分率增加了。

5.
回切到 SQL*Plus 窗口,并将以下命令拷贝并粘贴到 SQL*Plus 会话中, ,以模拟 EMPLOYEES1 表上的更多用户活动: delete employees1 where department_id = 50; begin
for i in 1..500 loop
insert into employees1
select * from hr.employees;
commit;
end loop;
end;
/


6.
转至 Enterprise Manager 窗口。 刷新浏览器(对于 Linux Mozilla,从菜单栏中选择 View,然后选择 Reload)。 注意,TBSALERT 表空间的空间使用百分率增加了。

7.
回切到 SQL*Plus 窗口,并将以下命令拷贝并粘贴到 SQL*Plus 会话中, ,以模拟 EMPLOYEES1 表上的更多用户活动: begin
for i in 1..500 loop
insert into employees1
select * from hr.employees;
commit;
end loop;
end;
/


8.
将以下 SQL 命令拷贝并粘贴到 SQL*Plus 会话中, 以模拟 EMPLOYEES1 表上的用户活动: delete employees1 where department_id = 30;
commit;
delete employees1 where department_id = 100;
commit;
delete employees1 where department_id = 50;
commit;
delete employees1 where department_id = 80;
commit;
exit


9.
转至 Enterprise Manager 窗口。 刷新浏览器(对于 Linux Mozilla,从菜单栏中选择 View,然后选择 Reload)。 注意,TBSALERT 表空间的空间使用率现在已经超过了临界阈值水平 (68%)。

10.
在您等待空间使用率警报显示在 Enterprise Manager 主页上时,请仔细查看表段统计数据。 单击 Database 导览栏,然后单击 Tables 链接。

11.
要查找 SYSTEM.EMPLOYEES1 表,请在 Schema 域中输入 system,在 Object Name 域中输入 emp。 单击 Go

12.
单击 EMPLOYEES1 链接。

13.
单击 Segments

14.
注意 EMPLOYEES1 表中浪费空间的百分率。 您可能能够通过回收表中未使用的空间来解决表空间空间使用率警报。
在同一页面上,您可以为 Space Usage Trend 指定一个日期范围,然后单击 Refresh 按钮,以规划 EMPLOYEES1 表未来的空间使用率。 因为在 EMPLOYEES1 表上没有足够的活动历史纪录,所以您在空间使用率分析图中将看不到非常有意义的数据。 单击 Database 导览栏,然后单击 Home 页面标签。

15.
单击 Refresh 按钮几次,直到您看到一个红色的 x 和数字 1 紧邻着 Problem Tablespaces 出现。 向下滚动至 Alerts 表。

16.
您将看到一个 Tablespaces Full 警报。 单击 Tablespace [TBSALERT] is [70 percent] full 链接。

设置量度阈值
Oracle 提供了一组预先定义的量度,其中一些量度一开始就拥有为它们定义的阈值。 您将预先为 TBSALERT 表空间的表空间使用率定义一个量度。 要查看所有的量度,请执行以下操作:
1.
单击 Related Links 区域中的 Manage Metrics

2.
单击 Edit Thresholds

3.
向下滚动至 Tablespace Space Used (%),然后选择这个量度。 向上滚回到窗口顶部。

4.
单击 Specify Multiple Thresholds

5.
对于 TBSALERT 表空间,将警告阈值修改为 70,将临界阈值修改为 80。然后单击 OK

6.
修改完成。 单击 OK,将数据保存到数据库中。

7.
更新成功。 单击路径式导航栏中的 Database 导航项。

设置通告
当出现需要您干预的事件时,您可以选择性地提供通告。 默认地,临界状态的警报(如 Database Down、Generic Alert Log Error Stats 和 Tablespace Used)都设置为提供通告。 执行以下操作:
1.
单击 Database 主页顶部的 Setup

2.
单击 Notification Methods

3.
在 Outgoing Mailserver 域中输入 ,在 Identify Sender As 域中输入 dbaalert,在 Sender's Email 域中输入 notify01@oracle.com,然后单击 Apply。

4.
更新成功。 单击页面顶部的 Preferences

5.
单击 General 选项中 E-mail Addresses 的 Add Another Row

6.
输入 notify01@oracle.com 作为电子邮件地址,单击 Apply。 然后单击 Database

诊断和解决性能问题
在出现数据库性能问题时,需要您进行诊断和纠正。 有时用户抱怨性能缓慢会使您注意到问题。 其余的时候,您可能注意到主页上的 Host CPU 图中的性能尖峰。
在所有情况下,自动数据库诊断监控器 (ADDM) 都将标记这些问题,它默认每 60 分钟执行一次自上而下的系统分析,并在 Oracle Enterprise Manager 主页上报告它发现的问题。 ADDM 每 60 分钟自动运行一次,和自动工作负载信息库 (AWR) 采集的快照同步发生。 它的输出包含了它确认的每个问题的说明和建议操作。
生成性能问题查找结果
为了演示 ADDM 如何工作,您要生成一个性能问题查找结果。 在本文中,您将创建一个等待行锁的会话。 要执行某些如更新和删除的操作,会话必须锁住该行。 执行以下步骤,生成性能问题查找结果:
1.
打开终端窗口, 执行以下命令:
sqlplus hr/hr
create table emp as select * from employees;
delete emp;



2.
再打开一个终端窗口,并执行以下命令,创建一个行锁冲突: sqlplus hr/hr
delete emp;

3.
单击 Enterprise Manager 窗口中的 Performance

4.
您将看到会话等待值非常高。 等待大约 10 分钟,然后向下滚动至窗口底部。

5.
您现在将创建快照来捕获性能问题。 单击 Snapshots

6.
单击 Create,创建快照。

7.
单击 Yes,创建人工快照。

8.
正在创建快照。

9.
一旦快照创建完成,请单击路径式导航栏中的 database 导航项,然后单击 home

10.
现在通过主页的 Alert 部分的一个警报,检测到了一个性能问题。

利用 ADDM 解决发现的性能问题
当遇到性能问题时,您可以使用 ADDM 来解决它。 执行以下操作:
1.
单击警报 Database Time Spent Waiting


2.
注意建议的操作是运行 ADDM 来获取更多的关于系统的性能分析。 单击 Additional Advice

3.
确保从列表中选择了您创建的快照。 注意 SQL statements were found waiting for row lock waits 将影响系统超过 86% 的数据库时间。 单击列表中的这个性能问题查找结果。

4.
您看到了解决该性能问题需要采取的操作。 单击 View Rationale

5.
您将看到引起问题的特定 SQL ID。 单击 Close

6.
要解决性能问题,请单击路径式导航栏中的 Database 导航项。

7.
单击 Performance

8.
向下滚动,然后选择 Additional Monitoring Links 下的 Blocking Sessions

9.
确保选择了最高级别的 HR,然后单击 Kill Session。

10.
单击 Yes,终止会话。

11.
会话终止。 单击路径式导航栏中的 Database 导航项,然后单击 Home

12.
注意警报已消失。

使用 SQL Tuning Advisor
查看数据库等待
您将首先启动几个工作负载会话。 然后您将查看数据库工作负载。 创建一个名称为 $HOME/wkdir 的目录。 下载



perflab.tar


文件,并将文件解压缩至 $HOME/wkdir 目录中。 执行以下步骤:
1.
打开一个命令行窗口,然后运行以下 OS 脚本:./setup_perflab.sh
注意: 这个脚本运行将花费大约 4 分钟。
2.
回切到 Enterprise Manager 窗口。 选择 Administration 链接。

3.
在标题为 Workload 的部分中,单击 Automatic Workload Repository 链接。

4.
确定已经为该数据库采集了多少快照。 查看 Snapshots 下的数量和最后一次 ADDM 快照采集的时间。 应该有至少三个快照。 单击路径式导航栏中的 Database 导航项。

5.
单击 Performance 链接。

6.
在 Performance 窗口中查看 Sessions: Waiting and Working 图。 显示一个表示数据库当前工作负载的图表。 (向图表填充数据可能要花一分钟)用 ADDM 快照采集的数据来填充这个图表。 图表的边上是图例。 每一个图例项目具有不同的颜色。 您可以从图中快速确定占用最多时间的项目是黄色的,即用户 I/O。单击 User I/O 链接。

7.
在 Active Sessions Waiting: User I/O 图表下有两个饼图。 查看左边的饼图 Top Waiting SQL。 这显示占绝大多数的等待 (53%) 是由一条 SQL 语句造成的。 查看右边的饼图 Top Waiting Sessions。 这个饼图显示当前最活跃的几个会话等待的时间几乎占相同的百分比。

检查 Database Wait 类的 TOP SQL
如之前的任务所示,有一条 SQL 语句导致了大部分的数据库等待。 在这个任务中,您将深入了解根本原因。 执行以下操作:
1.
从 Active Sessions Waiting: User I/O 页面中,单击页面中部的 Top SQL

2.
在出现的详细页面上,查看 Wait Events for Top SQL 表,该表按 活动(%) 排序。 您可以看到 Top SQL 语句将其大部分时间花费在了 'db file scattered read' 活动上。 单击具有最高活动百分比的 SQL 语句的 SQL ID。

3.
显示这条 SQL 语句的执行计划。 单击 Current Statistics 标签。

4.
显示这条 SQL 语句的统计数据。 单击 Execution History 标签。

5.
显示这条 SQL 语句的统计分析图表。 CPU 和 Elapsed Time 图表显示在一段时间上执行这条 SQL 语句的 CPU 使用率。 选择 Seconds Per Execution,单击 Go,显示这条 SQL 语句的每次执行使用的时间和资源。

6.
从显示的图表中,可以确定 CPU 资源使用率在增加,执行这条 SQL 语句花费的时间也在增加。 单击 Tuning History 标签。

7.
显示之前为这条 SQL 语句提供的调整建议。 当前没有建议。 您现在准备好了使用 SQL Tuning Advisor 来调整 SQL 语句。

利用 SQL 调整顾问工具调整 SQL 语句
正如在上一个关于响应式调整的部分中确定的那样,目标 SQL 语句需要调整。 SQL 调整顾问工具将为您调整执行计划。 执行以下操作:
1.
单击 Run SQL Tuning Advisor

2.
在 Schedule Advisor 窗口中,确保选择了 Scope 下的 Comprehensive,作业将立即安排。单击 OK

3.
SQL Tuning Advisor 将创建一个任务,以分析 SQL 语句,任务一旦完成,将显示一组调整建议。

4.
单击 View Recommendations

5.
单击 New Explain Plan 按钮,查看建议的修改。

6.
正如您所看到的,新的解释计划删除了全部的表扫描。 单击浏览器后退按钮,返回上一页。

7.
单击 Implement 按钮,执行调整建议。

8.
出现一条确认页面,指示 SQL Profile 成功创建。 单击路径式导航栏中的 Database 导航项。

查看 SQL 语句的 SQL 执行细节
您已执行了调整建议,现在查看 SQL 语句和其执行细节。 执行以下步骤。
1.
执行 Performance

2.
向下滚动至 Sessions: Waiting and Working 图表。 等待一分钟,观察用户 I/O 如何减少。

使用 SQL Access Advisor
SQL Access Advisor 提供了许多过程,可以调用这些过程来帮助确定创建和丢弃哪些实体化化视图和索引。 它利用基于您的模式的,假定的工作负载,或从实际的工作负载(可能由用户提供、来自 Oracle Trace 或来自 SQL 高速缓存的内容)中作出决策。
还可以根据不同的标准对工作负载进行过滤,如只使用包含这些表的查询,或在这个范围中有优先权的查询。
准备环境
执行以下步骤,为使用 SQL Access Advisor 准备好环境。 当 Advisor 在运行时,实体化视图和索引可能存在,但为了举例的目的,把它们删除了,以便您可以看到 Advisor 的建议。 您还需要设置高速缓存,以便 SQL Access Advisor 能够生成建议。 执行以下操作:
1.
打开一个终端窗口,然后执行以下命令,清理环境:

sqlplus system/ DROP MATERIALIZED VIEW all_cust_sales_mv;
DROP MATERIALIZED VIEW costs_mv;
DROP MATERIALIZED VIEW costs_pm_mv;
DROP MATERIALIZED VIEW cust_sales_mv;
DROP MATERIALIZED VIEW some_cust_sales_mv;
DROP MATERIALIZED VIEW cust_id_sales_aggr;
DROP MATERIALIZED VIEW sales_cube_mv;
DROP MATERIALIZED VIEW sales_gby_mv;
DROP MATERIALIZED VIEW CUST_TOTAL_SALES_MV;
DROP MATERIALIZED VIEW CUST_SALES_TIME_MV;


2.
现在您需要创建高速缓存。执行下列命令:

alter system flush shared_pool;
grant advisor to sh;
connect sh/sh;
SELECT c.cust_last_name, sum(s.amount_sold) AS dollars,
sum(s.quantity_sold) as quantity
FROM sales s , customers c, products p
WHERE c.cust_id = s.cust_id
AND s.prod_id = p.prod_id
AND c.cust_state_province IN ('Dublin','Galway')
GROUP BY c.cust_last_name;
SELECT c.cust_id, SUM(amount_sold) AS dollar_sales
FROM sales s, customers c WHERE s.cust_id= c.cust_id GROUP BY c.cust_id;
select sum(unit_cost) from costs group by prod_id;


利用 SQL 高速缓存获取建议
您将使用您刚刚设置的 SQL 高速缓存来获取来自 SQL Access Advisor 的建议。 执行以下操作:
1.
打开浏览器,输入以下 URL:http://:5500/em
输入 sys/ 作为 SYSDBA,单击 Login

2.
向下滚动至主页底部,然后单击 Related Links 下的 Advisor Central

3.
单击 SQL Access Advisor 链接。

4.
确保选中了 Current and Recent SQL Activity,然后单击 Show Advanced Options

5.
向下滚动。 在 Filter Options 下,选择 Filter workload based on these options。 选择 Only the top resource consuming SQL statements Only SQL statements executed by the following users。 然后在 Users 域中输入 SH,然后单击 Next

6.
选择 Both Indexes and Materialized Views,然后单击 Next

7.
输入任务名 OBE,为 Schedule Type 选择 Standard,然后单击 Next

8.
在概要窗口中,单击 Submit

查看和执行建议
现在您可以查看结果,如果您希望,可以执行它们。 执行以下操作:
1.
确保选择了您的作业,然后单击 View Result

2.
单击 Recommendation ID 1,查看建议的细节。

3.
在这里您可以自定义对象名称、模式和表空间,以执行建议。 向下滚动,并将 Create Materialized View 的 Schema Name 修改为 SH,然后单击 OK

4.
当您安排执行时,如果要查看将执行的 SQL 脚本,可以单击 Show SQL

5.
向下滚动至底部,您将看到创建实体化视图的语句和您刚作的修改。单击 OK

6.
单击 Schedule Implementation,执行建议。

7.
为 Job Name 输入 OBEIMPL,然后单击 Submit

8.
执行作业创建完成并且现在正在运行。 单击 Run History 标签。

9.
确保选择了您的作业,然后单击 View

10.
查看概要,然后单击路径式导航栏中的 database 导航项

11.
单击 Materialized View

12.
在 Schema 域中输入 SH,然后单击 Go

13.
注意新创建的实体化视图出现在列表中。 单击路径式导航栏中的 Database 导航项,然后单击 Tables 链接。

使用 Memory Advisor
在这一部分中,您将主动管理并将一些与 Oracle 例程内存配置相关的任务自动化。 通过将内存配置自动化,您有了更多的时间来处理影响您的企业的应用或商务实际问题。
Memory Advisor 是 Oracle 数据库内部的一个智能专家系统,它为各种 SGA 和 PGA 组件主动确定最优设置。 当实现自动化时,Oracle 将根据工作负载的需求自动调整各种池和高速缓存的设置。
启用自动共享内存管理
执行以下操作,启用 SGA 的自动共享内存管理:
2.
向下滚动至主页底部,然后单击 Related Links 下的 Advisor Central

3.
选择 Memory Advisor

4.
为 Automatic Shared Memory Management 单击 Enable

5.
单击 OK,启用自动共享内存管理。

6.
Oracle 服务器现在将根据工作负载的需求自动调整各种池和高速缓存的设置。

修改总 SGA 大小
当处于自动共享内存管理模式下时,要修改总的 SGA 大小,您将需要确保最大的 SGA 大小足够大。 执行以下操作:
1.
向下滚动页面。 将 Maximum SGA Size 修改为 261 MB,然后单击 Apply。注意: 如果您接收到一个错误,那么单击 Refresh 按钮重试。

2.
单击 Yes,确认修改。

3.
提供主机证书和数据库证书。单击 OK

4.
当您修改 Max SGA Size 参数时,例程必须重新启动。 单击 Yes,确认数据库重启。

5.
数据库重启过程将开始。 单击 Refresh

6.
输入 sys/ 作为 SYSDBA,单击 Login

7.
向下滚动,然后单击 Advisor Central

8.
单击 Memory Advisor

9.
将 Total SGA Size 参数修改为 260 MB。 单击 Apply
注意 Max SGA Size 参数自动调整与内存细粒大小保持一致,虽然您原来已把它设为 261 MB,但 Oracle 服务器自动将其修改为 264 MB。

10.
一旦您接收到了确认通告 — 指示参数已成功修改,您还将注意到一些 SGA 组件的内存分配已自动调整。

使用 PGA Advisor
执行以下操作,分配与 PGA 相关的内存:
1.
单击 PGA

2.
单击 Advice……

3.
PGA Aggregate Target Advice 图显示在高速缓存中找到数据(以便您不需访问磁盘)的频率。 在本文中,应当注意当前的 PGA Aggregate Size 被设为 24 MB 左右,所有请求的服务的 88% 以上都从内存中获得。 这还显示溢出范围从 12 MB 左右开始。 在 12 MB 时,PGA 请求应用高速缓存的概率大约为 90%。 PGA Aggregate Size 指示(根据当前的工作负载和数据库中的会话数量),在该数据库中为所有 PGA 分配的大小不超过 24 MB。单击 OK

4.
单击 PGA Memory Usage Details

5.
本图显示内存大小请求的使用率详情和各种 PGA 内存请求的执行百分率。单击 OK

  • 0
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值