《管理Oracle数据库.ppt》由会员分享,可在线阅读,更多相关《管理Oracle数据库.ppt(81页珍藏版)》请在三一办公上搜索。
1、第3章 管理Oracle数据库,南京信息工程大学 计算机与软件学院,教学目的与要求,(1)熟悉数据库的两种特殊状态;(2)掌握数据库与实例的启动和关闭操作;(3)熟悉常用的初始化参数及其设置。,3.1 创建和删除数据库3.2 启动数据库与实例3.3 关闭数据库与实例3.4 数据库的特殊状态3.5 配置数据库,本章主要内容,教学重点与难点,(1)数据库的启动与关闭操作(2)数据库的两种特殊状态(3)常用的参数及其设置,3.1 创建和删除数据库,3.1.1 创建数据库,界面操作(DBCA),CREATE命令,CREATE DATABASE 数据库名 USER 用户名 IDENTIFIED BY 密
2、码 CONTROLFILE REUSE LOGFILE GROUP n 日志文件,MAXLOGFILES 整数 MAXLOGMEMBERS 整数 MAXDATAFILES 整数 MAXINSTANCES 整数 ARCHIVELOG|NOARCHIVELOG CHARACTER SET 字符集 DATAFILE 数据文件,SYSAUX DATAFILE 数据文件,DEFAULT TABLESPACE 表空间名 DEFAULT TEMPORARY TABLESPACE 临时表空间名 TEMPFILE 临时文件 UNDO TABLESPACE 撤销表空间名 DATAFILE 文件名,【例4.1】使用
3、CREATE DATABASE语句创建数据库MyOracleDB,代码如下:CREATE DATABASE MyOracleDB USER SYS IDENTIFIED BY SYSPWD USER SYSTEM IDENTIFIED BY SYSTEMPWD CONTROLFILE REUSE LOGFILE GROUP 1(redo01.log)SIZE 10M,GROUP 2(redo02.log)SIZE 10M MAXLOGFILES 10 MAXLOGMEMBERS 10 MAXDATAFILES 100 MAXINSTANCES 1 CHARACTER SET US7ASCII
4、DATAFILE sys01.dbf SIZE 100M REUSE EXTENT MANAGEMENT LOCAL DEFAULT TABLESPACE tbs_1 DEFAULT TEMPORARY TABLESPACE tempts1 TEMPFILE temp01.dbf SIZE 10M REUSE;,3.1.2 删除数据库,界面操作(DBCA),DROP命令,CONNECT SYS/SYSPWD AS SYSDBA;SHUTDOWN IMMDIATE;STARTUP MOUNT;DROP DATABASE;,3.2 启动数据库与实例,Oracle数据库系统由实例和数据库两部组成。为
5、了使客户程序能够访问Oracle数据库系统,必须在服务器端启动实例并打开数据库,即启动Oracle数据库系统。Oracle数据库的启动是分步骤进行的,其中会涉及到实例的启动、数据库的加载和打开3种状态。,3.2.1 启动数据库的步骤,实例是Oracle用来管理数据库的一个实体,在启动数据库时将在内存中创建与该数据库所对应的实例。Oracle数据库的完整启动过程分为如下3个步骤:(1)创建并启动实例:为实例创建一系列后台进程和服务进程,并创建SGA。此时只会用到初始化参数文件。(2)为实例加载数据库:打开数据库控制文件,从中获取数据库名称、数据文件的位置和名称等信息,为打开数据库做好准备。(3)
6、打开数据库:打开所有处于联机状态的数据文件和重做日志文件。此时数据库才处于正常运行状态,普通用户才能访问数据库。,3.2.2 Oracle数据库实例的状态,(1)打开(OPEN):启动例程,装载并打开数据库。是默认的启动模式,允许有效用户连接到数据库,并执行典型的数据访问操作。(2)关闭(CLOSE):关闭操作首先终止用户访问数据库所需的进程,然后释放计算机中供Oracle运行使用的那部分内存。(3)已装载(MOUNT):启动例程并装载数据库,但不打开数据库。该模式用于更改数据库的归档模式或执行恢复操作,还用于数据文件恢复。此状态下没有打开数据库,不允许用户访问。(4)已启动(NOMOUNT)
7、:启动实例,但不装载数据库。该模式用于重新创建控制文件,对控制文件进行恢复或重新创建数据库。此状态下没有打开数据库,不允许用户访问。该状态也称为“不装载”。,3.2.3 启动模式,数据库和实例的启动过程可以分为3个步骤:启动实例,加载数据库,打开数据库。实例支持4种不同的状态:打开、关闭、已装载和已启动。数据库管理员可以根据实际情况的需要,以不同的模式启动数据库。启动数据库所使用的STARTUP命令格式如下:,startup nomount|mount|open|force restrict pfile=filename,1.NOMOUNT模式:启动实例不加载数据库,该模式只创建实例,并不加载
8、数据库。系统仅为实例创建各种内存结构和服务进程,不会打开任何数据文件。作用:(1)创建新数据库;(2)恢复或重建控制文件。,2.MOUNT模式:加载但不打开数据库,该模式为实例加载数据库,但保持数据库的关闭状态。作用:(1)重命名数据文件;(2)添加、删除或重命名重做日志文件;(3)执行数据库完全恢复操作;(4)改变数据库的归档模式。,3.OPEN模式:打开数据库,正常启动模式(默认),普通用户要对数据库进行操作,数据库必须处于该模式。,4.强制启动数据库,某些情况下,上述各种模式可能都无法成功启动数据库,这时需要强行启动数据库。使用带有FORCE子句的STARTUP语句。,5.切换受限状态,
9、在正常启动模式(OPEN)下,可以选择将数据库设置为非受限状态和受限状态。受限状态的作用:(1)执行数据导入/导出操作;(2)暂时拒绝普通用户访问数据库;(3)进行数据库移植或升级操作。,alter system disable|enable restricted session;,startup open restrict,(1)受限状态非受限状态,(2)非受限状态受限状态,3.2.4 转换启动模式,在进行某些特定的管理和维护操作时,需要使用某种特定的启动模式来启动数据库。但是当管理或维护操作完成后,需要改变数据库的启动模式。例如,为一个未加载数据库的实例加载数据库,或者将一个处于未打开状态
10、的数据库设置为打开状态等。,alter database mount|open|read only|read write;,1.实例加载数据库(NOMOUNTMOUNT),2.打开数据库(MOUNTOPEN),3.切换只读状态,在正常启动状态下,数据库默认处于读写状态。必要时,可以将数据库设置为只读状态。,3.2.5 界面操作:OEM,3.3 关闭数据库与实例,在关闭数据库与实例时,需要使用一个具有SYSDBA权限的用户账户连接到Oracle中,然后使用SHUTDOWN语句执行关闭操作。,3.3.1 数据库的关闭步骤,(1)关闭数据库:将日志缓存中的重做日志记录到重做日志文件,并将缓存中被修改
11、的数据写入数据文件,然后关闭所有的数据文件和重做日志文件。(2)实例卸载数据库:关闭数据库的控制文件,此时实例仍存在。(3)终止实例:终止实例的所有后台进程和服务进程,回收内存SGA。,shutdown normal|transactional|immediate|abort,3.3.2 正常关闭方式(NORMAL),如果对关闭数据库的时间没有限制,通常会使用正常方式来关闭数据库。此时Oracle将执行如下操作:(1)阻止任何用户建立新的连接;(2)等待当前所有已连接的用户主动断开连接;(3)一旦所有的用户都断开连接,则立即关闭、卸载数据库,并终止实例。,SQL shutdown normal
12、数据库已经关闭。已经卸载数据库。ORACLE 例程已经关闭。,3.3.3 立即关闭方式(IMMEDIATE),立即方式能够在尽可能短的时间内关闭数据库。此时Oracle将执行如下操作:(1)阻止任何用户建立新的连接,同时阻止当前已连接的用户开始任何新的事务;(2)任何未提交的事务均被回退;(3)Oracle不再等待用户主动断开连接,而是直接关闭、卸载数据库,并终止实例。,3.3.4 事务关闭方式(TRANSACTIONAL),事务方式介于正常关闭方式与立即关闭方式之间,它能够在尽可能短的时间内关闭数据库,但是能够保证当前所有的活动事务都可以被提交。此时Oracle将执行如下操作:(1)阻止任何
13、用户建立新的连接,同时阻止当前已连接的用户开始任何新的事务;(2)等待所有未提交的活动事务提交完毕,然后立即断开用户的连接;(3)关闭、卸载数据库,并终止实例。,3.3.5 终止关闭方式(ABORT),如果数据库产生了严重的错误,上述三种关闭方式都无法关闭,这时只能使用终止方式来关闭数据库。终止关闭方式将丢失一部分数据信息,会对数据库的完整性造成损害。一般情况下,应当尽量避免使用这种方式来关闭数据库。此时Oracle将执行如下操作:(1)阻止任何用户建立新的连接,同时阻止当前已连接的用户开始任何新的事务;(2)立即终止当前正在执行的SQL语句;(3)任何未提交的事务均不被回退;(4)立即断开所
14、有用户的连接,关闭、卸载数据库,并终止实例。,3.3.6 界面操作:OEM,3.4 数据库的特殊状态,静默状态和挂起状态是两种特殊的数据库状态。当数据库处理静默状态时,只有SYS和SYSTEM用户能够在数据库中进行操作。当数据库处于挂起状态时,数据库I/O操作都会被暂时停止。利用这两种数据库状态,数据库管理员可以完成一些特殊的管理和维护操作。,3.4.1 静默状态,在静默状态下,只有具有管理员权限的用户才能够在数据库中执行查询、更新操作,运行PL/SQL程序,任何非管理员用户都不能在数据库中执行任何操作。,(1)正常状态 静默状态,(2)静默状态 正常状态,可以通过使用动态性能视图V$INST
15、ANCE来查询当前数据库是否处于静默状态。,3.4.2 挂起状态,当数据库处于挂起状态时,数据库所有的物理文件(控制文件、数据文件和重做日志文件)的I/O操作都被暂停,这样能够保证数据库在没有任何I/O操作的情况下进行物理备份。挂起状态与静默状态的区别是:挂起状态并不禁止非管理员用户进行数据库操作,只是暂时停止所有用户的I/O操作。,(1)正常状态 挂起状态,(2)挂起状态 正常状态,可以通过使用动态性能视图V$INSTANCE来查询当前数据库是否处于挂起状态。,3.5 配置数据库,通过对Oracle数据库进行配置(包括设置内存参数、还原管理、管理初始化参数、数据库功能使用情况等),可以了解和
16、配置数据库的使用情况,使其更好地工作。,3.5.1 查看和设置内存参数3.5.2 还原管理3.5.3 管理初始化参数,3.5.1 查看和设置内存参数,(1)内存参数设置页面,(2)查看和设置SGA参数,(3)查看和设置PGA参数,3.5.2 还原管理,Oracle 维护用于取消对数据库所作更改的信息。这种信息由事务处理操作的记录组成,总称为“还原”。还原操作回退有效的事务处理、恢复中断的事务处理、提供读取一致性,以及从逻辑错误中进行恢复。自动还原管理是基于还原表空间(undo tablespaces)的。Oracle以前的版本使用回退段来存储还原,也称为手动还原管理模式。从10g开始采用自动还
17、原管理。,3.5.3 管理初始化参数,初始化参数用于设置实例和数据库的特征。通过设置初始化参数,不仅可以定义例程和数据库特征,还可以定义许多其他特征和限制(SGA大小、数据库名称、用户和进程限制、各种文件的位置等)。在Oracle数据库中,初始化参数是存储在参数文件中的。,1.常用初始化参数,Oracle 11g提供了200多个初始化参数,并且多数初始化参数都具有默认值。使用Oracle数据库时,只需要根据特定需求设置相应的参数即可,并且多数参数都可以保留默认值。(表3-1),2.初始化参数文件,静态参数和动态参数 静态参数是指只能通过修改参数文件而改变的初始化参数;动态参数是指在数据库运行过
18、程中可以动态修改的初始化参数。修改动态参数可以使用ALTER SYSTEM语句,也可以使用ALTER SESSION语句。两者的区别是:ALTER SESSION是对当前会话的设置,会话结束后就失效了;而ALTER SYSTEM修改的是数据库系统的配置,是全局性质。,PFILE和SPFILE PFILE:初始化参数文件(Parameter File),本地的一个文本文件,如果要对初始化参数进行修改,必须先关闭数据库,然后在初始化参数文件中进行编辑,再重新启动数据库使修改生效。SPFILE:服务器端初始化参数文件(Server Parameter File),是一个二进制格式的文件,始终存放在数
19、据库服务器端。,3.创建初始化参数文件,create pfile=pfile_name from spfile=spfile_name;,create spfile=spfile_name from pfile=pfile_name;,注意:(1)只有特权用户才能执行该语句;(2)执行CREATE SPFILE语句时不需要启动实例,如果已经启动了实例,且实例已经使用了一个SPFILE,则新建的SPFILE不能覆盖正在使用的SPFILE。,4.显示和设置初始化参数文件,(1)可以直接执行SHOW PARAMETER命令显示所有的初始化参数。,(2)也可以在SHOW PARAMETER命令后指定参数名,以显示特定的初始化参数。,(3)SHOW PARAMETER命令只能显示参数名、类型和参数值,如果要查看初始化参数的详细信息,则应该查询动态性能视图V$PARAMETER。,5.界面操作:OEM,本章小结,创建和删除数据库启动数据库与实例关闭数据库与实例数据库的特殊状态配置数据库,本章习题,P61:三、3,4,5,