第 3 章 管理 Oracle 数据库

20
1 3 第第 Oracle 第第第 Oracle 数数数数 数数数数数数数数数数数 数数数数数数 数数数数数 Oracle 数数数数 数数数数数数数数数数数数数数数数数数 ,, 数数数 Oracle 数数数数 数数 Oracle 数数数数数数数数数数数数数 数数数数数数数数数数数数 数数数数数数数数数 ,、 3 数数数

description

第 3 章 管理 Oracle 数据库. Oracle 数据库系统由实例和数据库两部组成。为了使客户程序能够访问 Oracle 数据库系统,必须在服务器端启动实例并打开数据库,即启动 Oracle 数据库系统。由于 Oracle 数据库的启动是分步骤进行的,其中会涉及到实例的启动、数据库的加载和打开 3 种状态。. 本章知识要点:. 参数文件的类型 常用的参数 创建参数文件 显示和设置初始化参数文件 启动数据库的步骤 启动模式 转换启动模式 数据库的关闭步骤 各种关闭数据库的方式 数据库的特殊状态 启动与关闭数据库服务. 3.1 管理初始化参数. - PowerPoint PPT Presentation

Transcript of 第 3 章 管理 Oracle 数据库

Page 1: 第 3 章 管理 Oracle 数据库

1

第 3 章 管理 Oracle数据库

Oracle数据库系统由实例和数据库两部组成。为了使客户程序能够访问 Oracle数据库系统,必须在服务器端启动实例并打开数据库,即启动 Oracle数据库系统。由于 Oracle数据库的启动是分步骤进行的,其中会涉及到实例的启动、数据库的加载和打开 3种状态。

Page 2: 第 3 章 管理 Oracle 数据库

2

本章知识要点:• 参数文件的类型• 常用的参数• 创建参数文件• 显示和设置初始化参数文件• 启动数据库的步骤• 启动模式• 转换启动模式• 数据库的关闭步骤• 各种关闭数据库的方式• 数据库的特殊状态• 启动与关闭数据库服务

Page 3: 第 3 章 管理 Oracle 数据库

3

3.1 管理初始化参数

• 初始化参数用于设置实例和数据库的特征。通过设置初始化参数,不仅可以定义例程和数据库特征,还可以定义许多其他特征和限制。例如,通过使用初始化参数,可以定义 SGA尺寸,设置数据库名称,定义用户和进程限制,定义控制文件,跟踪文件和警告日志的位置等。在 Oracle数据库中,初始化参数是存储在参数文件中的,启动实例、打开数据库时都必须提供相应的参数文件。

Page 4: 第 3 章 管理 Oracle 数据库

3.1.1 常用初始化参数

• Oracle 11g提供了 200多个初始化参数,并且多数初始化参数都具有默认值。使用 Oracle数据库时,只需要根据特定需求设置相应的参数即可,并且多数参数都可以保留默认值。

4

Page 5: 第 3 章 管理 Oracle 数据库

3.1.2 初始化参数文件

• 在传统上, Oracle在启动实例时将读取本地的一个文本文件,并利用从中获取初始化参数对实例和数据库进行设置,这个文本文件称为初始化参数文件(简称为 PFILE)。如果要对初始化参数进行修改,必须先关闭数据库,然后在初始化参数文件中进行编辑,再重新启动数据库使修改生效。

5

Page 6: 第 3 章 管理 Oracle 数据库

6

3.1.3 创建初始化参数文件

• 如果当前实例正在使用 SPFILE,那么使用ALTER SYSTEM命令将无法修改某些初始化参数,如 DB_NAME。为了修改这些初始化参数,必须建立 PFILE,并且手工修改该 PFILE文件的相应参数。可以使用 CREATE PFILE命令可以建立文本参数文件,其语法如下:

create pfile [='pfile_name'] from spfile [='spfile_name']

Page 7: 第 3 章 管理 Oracle 数据库

7

3.1.4 显示和设置初始化参数文件

• 为了显示所有初始化参数的位置,可以直接执行SHOW PARAMETER命令。例如:

SQL>show parameterNAME TYPE VALUE------------------------------------ -----------

------------------------------db_writer_processes integer 1dbwr_io_slaves integer 0ddl_lock_timeout integer 0dg_broker_config_file1 string D:\APP\MANAGER\

PRODUCT\11.1.0\ DB_1\DATABASE\DR1ORCL.DATdg_broker_config_file2 string D:\APP\MANAGER\

PRODUCT\11.1.0\ DB_1\DATABASE\DR2ORCL.DATdg_broker_start boolean FALSE….

Page 8: 第 3 章 管理 Oracle 数据库

3.2 启动数据库与实例

• 由于 Oracle数据库的启动过程是分步进行的,因此数据库可以有多种模式启动。不同的启动模式之间能够相互切换。此外,除正常方式启动数据库外,还能够将数据库设置为受限状态或只读状态,以满足特殊管理工作的需要。

8

Page 9: 第 3 章 管理 Oracle 数据库

3.2.1 启动数据库的步骤

• 由于实例是 Oracle用来管理数据库的一个实体,在启动数据库时将在内存中创建与该数据库所对应的实例。Oracle数据库的完整启动过程分为如下 3个步骤:

• 创建并启动与数据库对应的实例。• 为实例加载数据库。• 将数据库设置为打开状态。

9

Page 10: 第 3 章 管理 Oracle 数据库

3.2.2 启动模式

• 由上面的介绍可知,数据库和实例的启动过程可以分为 3个步骤:启动实例,加载数据库,打开数据库。数据库管理员可以根据实际情况的需要,以不同的模式启动数据库。启动数据库所使用的 STARTUP命令格式如下:

10

startup [nomount | mount | open | force] [resetrict] [pfile=filename]

Page 11: 第 3 章 管理 Oracle 数据库

3.2.3 转换启动模式

• 在进行某些特定的管理和维护操作时,需要使用某种特定的启动模式来启动数据库。但是当管理或维护操作完成后,需要改变数据库的启动模式。例如,为一个未加载数据库的实例加载数据库,或者将一个处于未打开状态的数据库设置为打开状态等。

11

SQL> startup nomountORACLE 例程已经启动。Total System Global Area 376635392 bytesFixed Size 1333312 bytesVariable Size 310380480 bytesDatabase Buffers 58720256 bytesRedo Buffers 6201344 bytesSQL> alter database mount;数据库已更改。

Page 12: 第 3 章 管理 Oracle 数据库

3.3 关闭数据库与实例

• 与数据库的启动相对应,关闭数据库时也是分步骤进行的。在关闭数据库与实例时,需要使用一个具有 SYSDBA权限的用户账户连接到 Oracle中,然后使用 SHUTDOWN语句执行关闭操作。

12

Page 13: 第 3 章 管理 Oracle 数据库

3.3.1 数据库的关闭步骤

• 与启动数据库实例的 3个步骤相同,关闭数据库与实例也可以分为 3步:关闭数据,实例卸载数据库,最后终止实例。

13

shutdown [normal | transactional | immediate | abort]

Page 14: 第 3 章 管理 Oracle 数据库

3.3.2 正常关闭方式( NORMAL)

• 如果对关闭数据库的时间没有限制,通常会使用正常方式来关闭数据库。使用带有 NORMAL子句的SHTUDOWN语句将以正常方式关闭数据库,下面显示了在 SQL*Plus中以正常方式关闭过程:

14

SQL> shutdown normal数据库已经关闭。已经卸载数据库。ORACLE 例程已经关闭。

Page 15: 第 3 章 管理 Oracle 数据库

3.3.3 立即关闭方式( IMMEDIATE)

• 立即方式能够在尽可能短的时间内关闭数据库。以立即方式关闭数据库时, Oracle将执行如下操作:

• 阻止任何用户建立新的连接,同时阻止当前连接的用户开始任何新的事务。

• 任何未提交的事务均被回退。• Oracle不再等待用户主动断开连接,而是直接关闭、卸载数据库,并终止实例。

15

SQL> shutdown immediate数据库已经关闭。已经卸载数据库。ORACLE 例程已经关闭。

Page 16: 第 3 章 管理 Oracle 数据库

3.3.4 事务关闭方式( TRANSACTIONAL)

• 事务方式介于正常关闭方式与立即关闭方式之间,它能够在尽可能短的时间内关闭数据库,但是能够保证当前所有的活动事务都可以被提交。使用事务方式关闭数据库时, Oracle将等待所有未提交的事务完成后再关闭数据库。

16

Page 17: 第 3 章 管理 Oracle 数据库

3.3.5 终止关闭方式( ABORT)

• 如果上述三种关闭方式都无法关闭数据库,说明数据库产生了严重的错误,这时只能使用终止方式来关闭数据库。终止关闭方式将丢失一部分数据信息,会对数据库的完整性造成损害。因此,如果重新启动实例并打开数据库时,后台进程 SMON会执行实例恢复。一般情况下,应当尽量避免使用这种方式来关闭数据库。

17

Page 18: 第 3 章 管理 Oracle 数据库

3.4 数据库的特殊状态

• 静默状态和挂起状态是两种特殊的数据库状态。当数据库处理静默状态时,只有 SYS 和SYSTEM用户能够在数据库中进行操作。当数据库处于挂起状态时,数据库 I/O操作都会被暂时停止。利用这两种数据库状态,数据库管理员可以完成一些特殊的管理和维护操作。

18

Page 19: 第 3 章 管理 Oracle 数据库

3.4.1 静默状态

• 在静默状态下,只有具有管理员权限的用户才能够在数据库中执行查询、更新操作,运行 PL/SQL程序,任何非管理员用户都不能在数据库中执行任何操作。

• 在数据库运行过程中,执行如下的语句将进入静默状态:

19

SQL> alter system quiesce restricted;系统已更改。

Page 20: 第 3 章 管理 Oracle 数据库

3.4.2 挂起状态

• 当数据库处于挂起状态时,数据库所有的物理文件(控制文件、数据文件和重做日志文件)的 I/O操作都被暂停,这样能够保证数据库在没有任何 I/O操作的情况下进行物理备份。挂起状态与静默状态的区别是:挂起状态并不禁止非管理员用户进行数据库操作,只是暂时停止所有用户的 I/O操作。

20