Oracle10g数据库基础教程(第3版)_第1页
Oracle10g数据库基础教程(第3版)_第2页
Oracle10g数据库基础教程(第3版)_第3页
Oracle10g数据库基础教程(第3版)_第4页
Oracle10g数据库基础教程(第3版)_第5页
已阅读5页,还剩1150页未读, 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第1章数据库服务器的安装与卸载——WindowsXPProfessional——WindowsServer2007——WindowsServer2008本章内容Oracle10g数据库服务器安装前的准备Oracle10g数据库服务器的安装与配置Oracle10g数据库服务器安装疑难解析检查Oracle10g数据库服务器的安装结果Oracle10g数据库服务器的卸载本章要求掌握Oracle10g数据库服务器的安装与配置掌握Oracle10g数据库服务器安装过程中问题的解决掌握Oracle10g数据库服务器卸载方法0安装前准备工作安装环境需求安装准备及注意事项安装环境要求CPU:最小为550MHz。内存(RAM):最低为256MB(推荐512MB)。硬盘空间(NTFS格式):基本安装为2.04GB,高级安装为1.94GB。虚拟内存:最小为RAM的2倍。监视器:256色。网络协议:TCP/IP、支持SSL的TCP/IP、NamedPipes。浏览器:IE5,IE6,IE7。安装准备及注意事项启动操作系统,以管理员身份登录。检查服务器系统是否满足软、硬件要求。若要为系统添加一个CPU,则必须在安装数据库服务器之前进行,否则数据库服务器无法识别新的CPU。对服务器进行正确的网络配置,并记录IP地址、域名等网络配置信息。如果采用动态IP,须先将MicrosoftLoopBackAdapter配置为系统的主网络适配。如果服务器上运行有其他Oracle服务,必须在安装前将它们全部停止。如果服务器上运行有以前版本的Oracle数据库,则必须对其数据进行备份。决定数据库服务器的安装类型、安装位置及数据库的创建方式。可以在安装数据库服务器的同时创建数据库,也可以在数据库服务器安装完成后,单独创建数据库。准备好要安装的Oracle10g数据库服务器软件产品。Oracle10g数据库各种版本的软件产品可以到Oracle官方网站下载。1.1安装Oracle10g数据库服务器安装数据库服务器安装数据库服务器安装数据库服务器安装数据库服务器安装数据库服务器安装数据库服务器安装数据库服务器安装数据库服务器安装数据库服务器安装数据库服务器安装数据库服务器安装数据库服务器安装数据库服务器安装数据库服务器安装数据库服务器安装数据库服务器安装数据库服务器1.2检查数据库服务器的安装结果检查安装的数据库服务器产品及相关目录信息检查系统服务检查文件体系结构查看Oracle10g数据库服务器网络配置利用企业管理器,查看数据库信息检查安装的数据库服务器产品及相关目录信息检查系统服务检查文件体系结构查看Oracle10g数据库服务器网络配置利用企业管理器,查看数据库信息1.3卸载Oracle10g产品停止所有Oracle相关的服务卸载Oracle10g数据库服务器组件手动删除注册表中与Oracle相关的内容。删除Oracle环境变量删除TEMP目录下Oracle相关的文件夹检查“开始”菜单中是否还有Oracle程序组,如果有,则将其删除重新启动计算机删除Windows系统安装磁盘中的ProgramFiles\Oracle目录删除Oracle安装目录总结Oracle10g数据库服务器安装前的准备Oracle10g数据库服务器的安装与配置检查Oracle10g数据库服务器的安装结果Oracle10g数据库服务器的卸载第2章Oracle常用的管理与开发工具主要内容OEMSQLPlusPL/SQLDeveloperONCAONMDBCA2.1OEMOEM简介OEM的启动与登录数据库控制OEM功能界面介绍2.1.1OEM介绍Oracle10g企业管理器(OEM)是一个基于Java框架开发的集成化管理工具实现对Oracle运行环境的完全管理实现对单个Oracle数据库的本地管理实现对多个Oracle数据库的集中管理实现对Oracle应用服务器的管理检查与管理目标计算机系统软硬件配置Oracle10gOEM分类数据库控制OEM(OracleEnterpriseManagerDatabaseControl),用于本地管理单一的Oracle10g数据库,在安装Oracle10g数据库服务器时安装。网格控制OEM(OracleEnterpriseManagerGridControl),用户对整个Oracle10g运行环境的完全管理,需要单独进行安装和配置。应用服务器控制OEM(OracleEnterpriseManagerApplicationServerControl),用于Oracle10g应用服务器的管理,在安装Oracle10g应用服务器时安装。2.1.2OEM的启动与登录启动相关服务OracleService<SID>Oracle<ORACLE_HOME_NAME>TNSListenerOracleDBConsole<SID>通过Web方式启动OEM的OEM控制台的URL格式为http://hostname:portnumber/emhostname为主机名或主机IP地址portnumber为OracleDBConsole<SID>服务的端口号详细信息可以参阅<ORACLE_HOME>\install\中的记录2.1.3数据库控制OEM功能界面介绍“主目录”属性页“性能”属性页“管理”属性页“维护”属性页

“主目录”属性页

“性能”属性页

“管理”属性页

“维护”属性页2.2SQLPlusSQLPlus概述

SQLPlus常用命令2.2.1SQLPlus概述利用SQLPlus可以实现以下操作:输入、编辑、存储、提取、运行和调试SQL语句和PL/SQL程序。开发、执行批处理脚本。执行数据库管理。处理数据、生成报表、存储、打印、格式化查询结果。检查表和数据库对象定义。启动/关闭数据库实例。启动SQLPlus打开命令提示符窗口在命令提示符窗口中执行sqlplus命令sqlplus[username]/[password][@connect_identifier][NOLOG]2.2.2SQL*Plus常用命令连接命令编辑命令文件操作命令交互式命令显示与设置环境变量其它常用命令(1)连接命令CONNECTCONN[ECT][username]/[password][@hoststring]DISCONNECT(2)编辑命令输入SQL语句在语句最后加分号,并按回车,则立即执行该语句;语句输入最后加空格并回车,换行后再按回车,则结束SQL语句输入但不执行该语句;语句输入结束后按回车,换行后按斜杠(/),立即执行该语句。输入完PL/SQL程序回车换行后,如果按点号(.),则结束输入,但不执行;输入斜杠(/),则立即执行。显示缓冲区LIST编辑缓冲区A[PPEND]——将指定的文本追加到缓冲区内当前行的末尾;C[HANGE]——修改缓冲区中当前行的文本;DEL——删除缓冲区中当前行的文本;N——用数值定位缓冲区中的当前行;I[NPUT]——在缓冲区当前行的后面新增加一行文本;ED[IT]——以文本编辑器方式打开缓冲区,进行编辑。执行缓冲区RUN/清除缓冲区CLEARBUFFER(3)文件操作命令脚本文件的创建SAVEfilename[CREATE]|[REPLACE]|[APPEND]脚本文件的装载与编辑GETfilenameLIST|NOLIST脚本文件的执行STARTfilename@filename脚本文件的注释REMARK:单行注释,放在一行语句的头部,表示该行为注释。--:单行注释。/*……*/:多行注释。(4)

交互式命令替换变量使用替换变量&variable_nameSELECTempno,enameFROMempWHEREdeptno=&XANDjob='&Y'定义替换变量DEFINEvariable_name=‘value’DEFINEdno='10'SELECTEMPNOFROMEMPWHEREDEPTNO=&dno;查看替换变量DEFINEDEFINE清除替换变量UNDEFINEvariable_nameUNDEFINEdno绑定变量定义:VARIABLEvariable_nameTYPE

在PL/SQL中引用::variable_name显示:PRINTvariable_name赋值:EXECUTE:variable_name:=value绑定变量示例SQL>VARIABLEv_salNUMBERSQL>EXECUTE:v_sal:=10PL/SQL过程已成功完成。SQL>BEGIN2:v_sal:=20;3END;4/PL/SQL过程已成功完成。SQL>PRINTv_salV_SAL------20SQL>CLEARBUFFERbuffer已清除SQL>INPUT1PROMPT显示工资高于XX的员工信息2PROMPT按<Enter>键继续3PAUSE4ACCEPTvalueNUMBERPROMPT'请输入工资界限:'5SELECTempno,ename,salFROMscott.empWHEREsal>&valueSQL>SAVEC:\test.sqlSQL>@C:\test.sql显示工资高于XX的员工信息按<Enter>键继续请输入工资界限:3000(5)显示与设置环境变量使用图形化界面现实与设置环境变量使用SHOW命令和SET命令来显示和设置环境标量(6)其他常用命令显示任何数据库对象的结构信息:DESC[RIBE]将屏幕内容存放到文本文件中:SPOOL清除屏幕上所有的内容:CLEARSCREEN2.3PL/SQLDeveloperPL/SQLDeveloper简介连接数据库编写与运行PL/SQL程序2.3.1PL/SQLDeveloper简介PL/SQLDeveloper是由AllroundAutomations公司开发的一款商业开发工具,是专门用于Oracle数据库存储程序单元开发的集成开发环境(IDE)。PL/SQLDeveloper开发环境将程序的编辑、编译、纠正、测试、调试、优化和查询等功能融为一体,可以方便地进行Oracle数据库服务器端的开发。2.3.2连接数据库2.3.3编写与运行PL/SQL程序打开PL/SQLDeveloper,连接数据库后,新建“SQLWindow”窗口,就可以编写PL/SQL程序了。输入完程序后,单击按钮“

”或按快捷键F8编译、执行该程序。如果存在编译错误,系统将弹出错误提示窗口。如果程序有输出结果,将在“Output”标签页中显示输出结果。2.4网络配置与管理工具网络配置助手ONCA网络管理工具ONM2.4.1网络配置助手ONCA监听程序配置命名方法配置本地网络服务名配置目录使用配置2.4.2网络管理工具ONM概要文件:确定客户端如何连接到Oracle网络的参数集合。使用概要文件可以配置命名方法、事件记录、跟踪、外部命令参数以及OracleAdvancedSecurity的客户端参数。服务命名:创建或修改数据库服务器的网络服务的描述。监听程序:创建或修改监听程序。2.5利用DBCA创建数据库小结OEMSQLPlusPL/SQLDeveloper数据库配置助手(ONCA)网络配置与管理工具(ONM)DBCA第3章物理存储结构本章内容Oracle数据库系统结构数据文件控制文件重做日志文件归档重做日志文件本章要求理解Oracle数据库的系统结构掌握数据文件的管理掌握控制文件的作用及其管理掌握重做日志文件的工作方式及其管理掌握数据库归档模式设置及归档管理

3.1Oracle数据库系统结构Oracle数据库系统结构由数据库实例和物理存储结构组成。在Oracle数据库的存储结构包括物理存储结构和逻辑存储结构。物理存储结构主要用于描述Oracle数据库外部数据的存储,即在操作系统中如何组织和管理数据,与具体的操作系统有关;逻辑存储结构主要描述Oracle数据库内部数据的组织和管理方式,与操作系统没有关系。物理存储结构是逻辑存储结构在物理上的、可见的、可操作的、具体的体现形式。Oracle数据库物理存储结构数据文件:用于存储数据库中的所有数据;控制文件:用于记录和描述数据库的物理存储结构信息;重做日志文件:用于记录外部程序(用户)对数据库的改变操作;归档文件:用于保存已经写满的重做日志文件;初始化参数文件:用于设置数据库启动时的参数初始值;跟踪文件:用于记录用户进程、数据库后台进程等的运行情况;口令文件:用于保存具有SYSDBA,SYSOPER权限的用户名和SYS用户口令;警告文件:用于记录数据库的重要活动以及发生的错误;备份文件:用于存放数据库备份所产生的文件。3.2数据文件及其管理数据文件概述数据文件的管理3.2.1数据文件概述数据文件的内容用于保存数据库中所有数据的文件。临时数据文件是一种特殊的数据文件,其存储内容是临时性的,在一定条件下自动释放。Oralce数据库中的每个数据文件都具有两个文件号,称为绝对文件号和相对文件号,用于唯一地确定一个数据文件。其中,绝对文件号用于在整个数据库范围内唯一标识一个数据文件;相对文件号用于在表空间范围内唯一标识一个数据文件。数据文件与表空间的关系一个表空间可以包含几个数据文件一个数据文件只能从属于一个表空间数据文件的管理策略由于对数据库的操作最终转换为对数据文件的操作,因此在数据库运行过程中对数据文件进行频繁的读写操作。为了提搞I/O效率,应该合理的分配数据文件的存储位置。把不同存储内容的数据文件放置在不同的硬盘上,可以并行访问数据,提高系统读写的效率。初始化参数文件、控制文件、重做日志文件最好不要与数据文件存放在同一个磁盘上,以免数据库发生介质故障时,无法恢复数据库。3.2.2数据文件的管理创建数据文件修改数据文件的大小改变数据文件的可用性改变数据文件的名称或位置删除数据文件查询数据文件的信息(1)创建数据文件数据文件依附于表空间而存在,创建数据文件就是向表空间添加文件在创建数据文件时应该根据文件数据量的大小确定文件的大小以及文件的增长方式。语法ALTERTABLESPACE…ADDDATAFILEALTERTABLESPACE…ADDTEMPFILE向ORCL数据库的USERS表空间中添加一个大小为10MB的数据文件。ALTERTABLESPACEUSERSADDDATAFILE'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\USERS02.DBF'SIZE10M;向ORCL数据库的TEMP表空间中添加一个大小为5MB的临时数据文件。ALTERTABLESPACETEMPADDTEMPFILE'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\TEMP02.DBF'SIZE5M;(2)修改数据文件大小方法设置数据文件为自动增长方式。手工改变数据文件的大小。设置数据文件为自动增长方式创建时设置数据文件为自动增长创建后修改数据文件为自动增长AUTOEXTENDONNEXT…MAXSIZE…|UNLIMITED手工改变数据文件的大小ALTERDATABASEDATAFILE…RESIZE…为ORCL数据库的USERS表空间添加一个自动增长的数据文件。ALTERTABLESPACEUSERSADDDATAFILE'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\USERS03.DBF'SIZE10MAUTOEXTENDONNEXT512KMAXSIZE50M;修改ORCL数据库USERS表空间的数据文件USERS02.DBF为自动增长方式。ALTERDATABASEDATAFILE'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\USERS02.DBF'AUTOEXTENDONNEXT512KMAXSIZEUNLIMITED;取消ORCL数据库USERS表空间的数据文件USERS02.DBF的自动增长方式。ALTERDATABASEDATAFILE'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\USERS02.DBF'AUTOEXTENDOFF;将ORCL数据库USERS表空间的数据文件USERS02.DBF大小设置为8MB。ALTERDATABASE

DATAFILE'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\USERS02.DBF'RESIZE8M;(3)改变数据文件的可用性概念可以通过将数据文件联机或脱机来改变数据文件的可用性。在下面几种情况下需要改变数据文件的可用性:要进行数据文件的脱机备份时,需要先将数据文件脱机;需要重命名数据文件或改变数据文件的位置时,需要先将数据文件脱机;如果Oracle在写入某个数据文件时发生错误,会自动将该数据文件设置为脱机状态,并且记录在警告文件中。排除故障后,需要以手动方式重新将该数据文件恢复为联机状态。数据文件丢失或损坏,需要在启动数据库之前将数据文件脱机。归档模式下数据文件可用性的改变数据文件可用性的改变ALTERDATABASEDATAFILE…

ONLINE|OFFLINE临时数据文件可用性的概念改变ALTERDATABASETEMPFILE…

ONLINE|OFFLINE在数据库处于归档模式下,将ORCL数据库USERS表空间的数据文件USERS02.DBF脱机。ALTERDATABASEDATAFILE'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\USERS02.DBF'OFFLINE;将ORCL数据库USERS表空间的数据文件USERS02.DBF联机。ALTER

DATABASE

DATAFILE'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\USERS02.DBF'ONLINE;非归档模式下数据文件可用性的改变

在非归档模式下,通常不能将数据文件脱机。如果由于数据文件的损坏,需要将数据文件脱机,然后重新启动数据库,需要使用ALTERDATABASEDATAFILE…OFFLINEFORDROP语句。例如:ALTER

DATABASE

DATAFILE'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\USERS02.DBF'OFFLINEFORDROP;改变表空间中所有数据文件的可用性在归档模式下,将表空间脱机或联机ALTERTABLESPACE...DATAFILEONLINE|OFFLINE在归档模式下,将临时表空间联机或脱机ALTERTABLESPACE...TEMPFILEONLINE|OFFLINE在归档模式下,将USERS表空间中所有的数据文件脱机,但USERS表空间不脱机。然后再将USERS表空间中的所有数据文件联机。ALTERTABLESPACEUSERSDATAFILEOFFLINE;RECOVERTABLESPACEUSERS;ALTERTABLESPACEUSERSDATAFILEONLINE;(4)改变数据文件的名称或位置

改变同一个表空间中的数据文件的名称或位置ALTERTABLESPACLE…RENAMEDATAFILE…TO改变多个表空间中的数据文件的名称或位置ALTERDATABASERENAMEFILE…TO注意改变数据文件的名称或位置时,Oracle只是改变记录在控制文件和数据字典中的数据文件信息,并没有改变操作系统中数据文件的名称和位置,因此需要DBA手动更改操作系统中数据文件的名称和位置。改变同一个表空间中的数据文件的名称或位置更改ORCL数据库USERS表空间的USERS02.DBF和USERS03.DBF文件名为USERS002.DBF和USERS003.DBF。将包含数据文件的表空间置为脱机状态。ALTERTABLESPACEUSERSOFFLINE;在操作系统中重命名数据文件或移动数据文件到新的位置。分别将USERS02.DBF和USERS03.DBF文件重命名为USERS002.DBF和USERS003.DBF。使用ALTERTABLESPACE…RENAMEDATAFILE…TO语句进行操作ALTERTABLESPACEUSERSRENAMEDATAFILE'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\USERS02.DBF','D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\USERS03.DBF'TO'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\USERS002.DBF','D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\USERS003.DBF';将表空间联机。ALTERTABLESPACEUSERSONLINE;改变多个表空间中的数据文件的名称或位置更改ORCL数据库USERS表空间中的USERS002.DBF文件位置和修改TOOLS表空间中的TOOLS01.DBF文件名关闭数据库。SHUTDOWN在操作系统中,将USERS表空间中的USERS002.DBF文件复制到一个新的位置,如D:\ORACLE\PRODUCT\10.2.0\ORADATA,修改TOOLS表空间的数据文件TOOLS01.DBF的名为TOOLS001.DBF。启动数据库到MOUNT状态。STARTUPMOUNT执行ALTERDATABASERENAMEFILE…TO语句更新数据文件名称或位置。ALTERDATABASERENAMEFILE

'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\USERS002.DBF',

'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\TOOLS01.DBF'TO

'D:\ORACLE\PRODUCT\10.2.0\ORADATA\USERS002.DBF',

'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\TOOLS001.DBF';打开数据库。ALTERDATABASEOPEN;(5)删除数据文件

删除某个表空间中的某个空数据文件ALTERTABLESPACE…DROPDATAFILE删除某个临时表空间中的某个空的临时数据文件ALTERTABLESPACE…DROPTEMPFILEALTERDATABASETEMPFILE…DROP所谓的空数据文件或空临时数据文件是指为该文件分配的所有区都被回收。删除数据文件或临时数据文件的同时,将删除控制文件和数据字典中与该数据文件或临时数据文件的相关信息,同时也将删除操作系统中对应的物理文件。删除USERS表空间中的数据文件USERS03.DBF和删除TEMP临时表空间中的临时数据文件TEMP03.DBF。ALTERTABLESPACEUSERSDROPDATAFILE'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\USERS03.DBF';ALTERTABLESPACETEMPDROPTEMPFILE'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\TEMP03.DBF';删除临时数据文件TEMP03.DBF还可以表示为ALTERDATABASETEMPFILE'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\TEMP02.DBF'DROPINCLUDINGDATAFILES;删除数据文件或临时数据文件时受到以下约束:数据库运行在打开状态数据文件或临时数据文件必须是空的不能删除表空间的第一个或唯一的一个数据文件或临时数据文件不能删除只读表空间中的数据文件不能删除SYSTEM表空间的数据文件不能删除采用本地管理的处于脱机状态的数据文件。(5)查询数据文件信息DBA_DATA_FILES:包含数据库中所有数据文件的信息,包括数据文件所属的表空间、数据文件编号等。DBA_TEMP_FILES:包含数据库中所有临时数据文件的信息。DBA_EXTENTS:包含所有表空间中已分配的区的描述信息。USER_EXTENTS:包含当前用户所拥有的对象在所有表空间中已分配的区的描述信息。DBA_FREE_SPACE:包含表空间中空闲区的描述信息。USER_FREE_SPACE:包含当前用户可访问的表空间中空闲区的描述信息。V$DATAFILE:包含从控制文件中获取的数据文件信息。V$DATAFILE_HEADER:包含从数据文件头部获取的信息。V$TEMPFILE:包含所有临时文件的基本信息。查询数据文件动态信息SELECTNAME,FILE#,STATUS,CHECKPOINT_CHANGE#FROMV$DATAFILE查询数据文件的详细信息SELECTTABLESPACE_NAME,AUTOEXTENSIBLE,FILE_NAMEFROMDBA_DATA_FILES;查询数据文件的增长方式SELECTTABLESPACE_NAME,BYTES,AUTOEXTENSIBLE,FILE_NAMEFROMDBA_DATA_FILES查询临时数据文件信息SELECTTABLESPACE_NAME,FILE_NAME,AUTOEXTENSIBLEFROMDBA_TEMP_FILES;3.3控制文件控制文件概述控制文件管理3.3.1控制文件概述控制文件的性质控制文件是一个很小的二进制文件。控制文件描述了整个数据库的结构。在加载数据库时,实例必须首先通过初始化参数文件找到数据库的控制文件。在数据库运行期间,控制文件始终在不断更新,以便记录数据文件和重做日志文件的变化每个数据库至少拥有一个控制文件。一个数据库也可以同时拥有多个控制文件。分配在不同的物理硬盘中,以免数据库或硬盘损坏时,能够利用备份的控制文件启动数据库实例,可以提高数据库的可靠性。控制文件的内容数据库名称和标识;数据库创建的时间;表空间名称;数据文件和重做日志文件的名称和位置;当前重做日志文件序列号;数据库检查点的信息;回退段的开始和结束;重做日志的归档信息;备份信息;数据库恢复所需要的同步信息。控制文件中的最大化参数包括:MAXLOGFILES:最大重做日志文件组数量;MAXLOGMEMBERS:重做日志文件组中最大成员数量;MAXLOGHISTORY:最大历史重做日志文件数量;MAXDATAFILES:最大数据文件数量;MAXINSTANCES:可同时访问的数据库最大实例个数。控制文件管理策略Oracle建议最少有两个控制文件,通过多路镜像技术,将多个控制文件分散到不同的磁盘中。在数据库运行过程中,始终读取CONTROL_FILES参数指定的第一个控制文件,并同时写CONTROL_FILES参数指定的所有控制文件。如果其中一个控制文件不可用,则必须关闭数据库并进行恢复。每次对数据库结构进行修改后(添加、修改、删除数据文件、重做日志文件),应该及时备份控制文件。3.3.2控制文件的管理创建控制文件实现多路镜像控制文件备份控制文件删除控制文件查看控制文件的信息(1)创建控制文件创建控制文件的情形控制文件全部丢失或损坏;需要修改数据库名称;在Oracle10.2.0之前的版本中,需要修改某个最大化参数。CREATECONTROLFILE语句CREATECONTROLFILE[REUSE][SET]DATABASEdatabase[LOGFILElogfile_clause]RESETLOGS|NORESETLOGS[DATAFILEfile_specification][MAXLOGFILES][MAXLOGMEMBERS][MAXLOGHISTORY][MAXDATAFILES][MAXINSTANCES][ARCHIVELOG|NOARCHIVELOG][FORCELOGGING][CHARACTERSETcharacter_set]创建控制文件的基本步骤制作数据库中所有的数据文件和重做日志文件列表SELECTMEMBERFROMV$LOGFILE;SELECTNAMEFROMV$DATAFILE;SELECTVALUEFROMV$PARAMETERWHERENAME='CONTROL_FILES';如果数据库仍然处于运行状态,则关闭数据库SHUTDOWN在操作系统级别备份所有的数据文件和联机重做日志文件启动实例到NOMOUNT状态STARTUPNOMOUNT利用前面得到的文件列表,执行CREATECONTROLFILE创建一个新控制文件。在操作系统级别对新建的控制文件进行备份如果数据库重命名,则编辑DB_NAME参数来指定新的数据库名称如果数据库需要恢复,则进行恢复数据库操作如果创建控制文件时指定了NORESTLOGS,可以完全恢复数据库。RECOVERDATABASE;如果创建控制文件时指定了RESETLOGS,则必须在恢复时指定USINGBACKUPCONTROLFILE。RECOVERDATABASEUSINGBACKUPCONTROLFILE;打开数据库如果数据库不需要恢复或已经对数据库进行了完全恢复,则可以正常打开数据库。ALTERDATABASEOPEN;如果在创建控制文件时使用了RESETLOGS参数,则必须指定以RESETLOGS方式打开数据库。ALTERDATABASEOPENRESETLOGS;(2)实现多路镜像控制文件

编辑初始化参数CONTROL_FILESALTERSYSTEMSETCONTROL_FILES=…SCOPE=SPFILE;关闭数据库SHUTDOWNIMMEDIATE;拷贝一个原有的控制文件到新的位置,并重新命名重新启动数据库

STARTUP编辑初始化参数CONTROL_FILES。ALTERSYSTEMSETCONTROL_FILES='D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\CONTROL01.CTL','D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\CONTROL02.CTL','D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\CONTROL03.CTL','D:\ORACLE\PRODUCT\10.2.0\ORADATA\CONTROL04.CTL'SCOPE=SPFILE;注意:前3个控制文件是原有的控制文件,最后一个控制文件是将要添加的。关闭数据库SHUTDOWNIMMEDIATE;拷贝一个原有的控制文件到新的位置,并重新命名。拷贝D:\ORACLE\ORADATA\CONTROL01.CTL到D:\ORACLE\ORADATA目录下,并重命名为CONTROL04.CTL。重新启动数据库STARTUP(3)备份控制文件将控制文件备份为二进制文件ALTERDATABASEBACKUPCONTROLFILETO…将控制文件备份为文本文件ALTERDATABASEBACKUPCONTROLFILETOTRACE将控制文件备份到<ORACLE_BASE>\admin\<SID>\udump目录下的跟踪文件中

将控制文件备份为二进制文件。ALTERDATABASEBACKUPCONTROLFILETO'D:\ORACLE\CONTROL.BKP';将控制文件备份为文本文件。ALTERDATABASEBACKUPCONTROLFILETOTRACE;(4)删除控制文件编辑CONTROL_FILES初始化参数,使其不包含要删除的控制文件;关闭数据库;在操作系统中删除控制文件;重新启动数据库。(5)查询控制文件的信息V$DATABASE:从控制文件中获取的数据库信息;V$CONTROLFILE:包含所有控制文件名称与状态信息;V$CONTROLFILE_RECORD_SECTION:包含控制文件中各记录文档段信息;V$PARAMETER:可以获取初始化参数CONTROL_FILES的值。3.4重做日志文件重做日志文件概述重做日志文件的管理3.4.1重做日志文件概述重做日志文件的概念重做日志文件,保存了用户对数据库所作的更新操作(DDL、DML),包含的主要信息是记录事务的开始和结束、事务中每项操作的对象和类型、更新操作前后的数据值等。重做日志文件是由重做记录构成的,每个重做记录由一组修改相量组成。用户对数据库所做的修改都是在数据库的数据高速缓冲区中进行的,同时将产生的重做记录写入重做日志缓冲区。在一定条件下由DBWR进程将数据高速缓冲区中修改后的结果成批写回数据文件中,而重做日志缓冲区中的重做记录由LGWR进程周期性的写入重做日志文件。

利用重做日志文件恢复数据库是通过事务的重做(REDO)或回退(UNDO)实现的。重做日志文件的工作过程每个数据库至少需要两个重做日志文件,采用循环写的方式进行工作。当一个重做日志文件写满后,进程LGWR就会移到下一个日志组,称为日志切换,同时信息会写到控制文件中。重做日志文件工作流程为了保证LGWR进程的正常进行,通常采用重做日志文件组(GROUP),每个组中包含若干完全相同的重做日志文件成员(MEMBER),这些成员文件相互镜像。3.4.2重做日志文件的管理添加重做日志文件组

添加重做日志文件组成员文件

改变重做日志文件组成员文件的名称和位置

删除重做日志文件组成员删除重做日志文件组

重做日志文件切换

清空重做日志文件组查看重做日志文件信息(1)添加重做日志文件组语法ALTERDATABASEADDLOGFILE……示例ALTERDATABASEADDLOGFILEGROUP4('D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\REDO04a.LOG','D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\REDO04b.LOG')SIZE4M;REDO2b.LOGREDO1b.LOGGroup1Group2Group3REDO3b.LOGREDO2a.LOGREDO3a.LOGREDO1a.LOGGroup4REDO4b.LOGREDO4a.LOG注意:分配给每个重做日志文件的初始空间至少为4MB。如果没有使用GROUP子句指定组号,则系统会自动产生组号,为当前重做日志文件组的个数加1。在Oracle10.2.0之前的版本中,数据库最多允许的重做日志文件组的数量由控制文件中的MAXLOGFILES参数决定。在Oracle10.2.0之前的版本中,每个重做日志文件组中最多成员文件数量由控制文件中的MAXLOGMEMBERS参数决定。(2)添加重做日志文件组成员语法ALTERDATABASEADDLOGFILEMEMBER…TOGROUP…示例ALTERDATABASEADDLOGFILEMEMBER'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\REDO01C.LOG'TOGROUP1,'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\REDO04C.LOG'TOGROUP4;注意:同一个重做日志文件组中的成员文件存储位置应尽量分散。不需要指定文件大小。新成员文件大小由组中已有成员大小决定。(3)改变重做日志文件组成员名称或位置语法ALTERDATABASERENAMEFILE…TO注意只能更改处于INACTIVE或UNUSED状态的重做日志文件组的成员文件的名称或位置。示例将重做日志文件REDO01C.LOG重命名为REDO01B.LOG,将REDO04C.LOG移到D:\ORACLE\PRODUCT\10.2.0\ORADATA目录下。检查要修改的成员文件所在的重做日志文件组状态SELECTgroup#,statusFROMv$log;如果要修改的日志文件组不是处于INACTIVE或UNUSED状态,则需要进行手动日志切换。重命名重做日志文件或将重做日志文件移到新位置打开D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL文件夹,将REDO01C.LOG更名为REDO01B.LOG,同时将REDO04C.LOG移到D:\ORACLE\PRODUCT\10.2.0\ORADATA文件夹下。执行ALTERDATABASERENAMEFILE…TO语句ALTERDATABASERENAMEFILE'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\REDO01C.LOG','D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\REDO4C.LOG'TO'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\REDO001B.LOG','D:\ORACLE\PRODUCT\10.2.0\ORADATA\REDO04C.LOG';(4)删除重做日志文件组成员

语法ALTERDATABASEDROPLOGFILEMEMBER注意事项只能删除状态为INACTIVE或UNUSED的重做日志文件组中的成员;若要删除状态为CURRENT的重做日志文件组中的成员,则需执行一次手动日志切换。如果数据库处于归档模式下,则在删除重做日志文件之前要保证该文件所在的重做日志文件组已归档。每个重做日志文件组中至少要有一个可用的成员文件,即VALID状态的成员文件。如果要删除的重做日志文件是所在组中最后一个可用的成员文件,则无法删除。ALTERDATABASEDROPLOGFILEMEMBER'D:\ORACLE\PRODUCT\10.2.0\ORADATA\REDO4c.LOG';Group4REDO4a.LOGREDO4b.LOGREDO4c.LOG(5)删除重做日志文件组语法ALTERDATABASEDROPLOGFILEGROUP注意事项无论重做日志文件组中有多少个成员文件,一个数据库至少需要使用两个重做日志文件组。如果数据库处于归档模式下,则在删除重做日志文件组之前,必须确定该组已经被归档。只能删除处于INACTIVE状态或UNUSED状态的重做日志文件组,若要删除状态为CURRENT的重做日志文件组,则需要执行一次手动日志切换。示例ALTERDATABASEDROPLOGFILEGROUP4;REDO2a.LOGREDO1a.LOGGroup1Group2Group3REDO3a.LOGGroup4REDO4a.LOGREDO4b.LOG(5)重做日志文件组切换当LGWR进程结束对当前重做日志文件组的使用,开始写入下一个重做日志文件组时,称为发生了一次“日志切换”。通常,只有当前的重做日志文件组写满后才发生日志切换,但是可以通过设置参数ARCHIVE_LAG_TARGET控制日志切换的时间间隔,在必要时也可以采用手工强制进行日志切换。如果需要将当前处于CURRENT状态的重做日志组立即切换到INACTIVE状态,必须进行手工日志切换。手动日志切换的语法ALTERSYSTEMSWITCHLOGFILE查看日至切换状态SELECT*FROMV$LOGFILE;当发生日志切换时,系统将为新的重做日志文件产生一个日志序列号,在归档时该日志序列号一同被保存。日志序列号是在线日志文件和归档日志文件的唯一标识。(7)清除重做日志文件组基本概念在数据库运行过程中,联机重做日志文件可能会因为某些原因而损坏,导致数据库最终由于无法将损坏的重做日志文件归档而停止,此时可以在不关闭数据库的情况下,手工清除损坏的重做日志文件内容,避免出现数据库停止运行的情况。清除重做日志文件就是将重做日志文件中的内容全部清除,相当于删除该重做日志文件,然后再重新建立它。清除重做日志文件组是将该文件组中的所有成员文件全部清空。语句ALTERDATABASECLEARLOGFILEGROUP…在下列两种情况下,清除重做日志文件组的操作将无法进行。数据库只有两个重做日志文件组;需要清除的重做日志文件组处于CURRENT状态。如果要清空的重做日志文件组尚未归档,则必须使用UNARCHIVED子句,以避免对这个重做日志文件组进行归档。ALTERDATABASECLEARUNARCHIVEDLOGFILEGROUP4;(8)查看重做日志文件信息

数据字典视图V$LOG:包含从控制文件中获取的所有重做日志文件组的基本信息。V$LOGFILE:包含重做日志文件组及其成员文件的信息。V$LOG_HISTORY:包含关于重做日志文件的历史信息。查询重做日志文件组的信息SELECTGROUP#,SEQUENCE#,MEMBERS,STATUS,ARCHIVEDFROMV$LOG;

查询重做日志文件的信息SELECTGROUP#,TYPE,MEMBERFROMV$LOGFILEORDERBYGROUP#;3.5归档重做日志文件重做日志文件归档概述数据库归档模式管理3.5.1重做日志文件归档概述基本概念Oracle数据库能够把已经写满了的重做日志文件保存到指定的一个或多个位置,被保存的重做日志文件的集合称为归档重做日志文件,这个过程称为归档。根据是否进行重做日志文件归档,数据库运行可以分为归档模式或非归档模式。

归档模式与非归档模式比较在归档模式下,数据库中历史重做日志文件全部被保存,因此在数据库出现故障时,即使是介质故障,利用数据库备份、归档重做日志文件和联机重做日志文件也可以完全恢复数据库。在非归档模式下,由于没有保存过去的重做日志文件,数据库只能从实例崩溃中恢复,而无法进行介质恢复。在非归档模式下不能执行联机表空间备份操作,不能使用联机归档模式下建立的表空间备份进行恢复,而只能使用非归档模式下建立的完全备份来对数据库进行恢复。在归档模式和非归档模式下进行日志切换的条件也不同。在非归档模式下,日志切换的前提条件是已写满的重做日志文件在被覆盖之前,其所有重做记录所对应的事务的修改操作结果全部写入到数据文件中。在归档模式下,日志切换的前提条件是已写满的重做日志文件在被覆盖之前,不仅所有重做记录所对应的事务的修改操作结果全部写入到数据文件中,还需要等待归档进程完成对它的归档操作。3.5.2数据库归档模式管理数据库归档/非归档模式设置归档模式下归档方式的选择归档路径的设置设置可选或强制归档目标

查询归档信息(1)设置归档/非归档模式关闭数据库SHUTDOWNIMMEDIATE启动数据库到MOUNT状态STARTUPMOUNT使用ALTERDATABASEARCHIVELOG语句将数据库设置为归档模式。ALTERDATABASEARCHIVELOG;或使用ALTERDATABASENOARCHIVELOG语句将数据库设置为非归档模式。ALTERDATABASENOARCHIVELOG;打开数据库ALTERDATABASEOPEN;(2)归档模式下归档方式的选择数据库在归档模式下运行时,可以采用自动或手动两种方式归档重做日志文件。如果选择自动归档方式,那么在重做日志文件被覆盖之前,ARCH进程自动将重做日志文件内容归档;如果选择了手动归档,那么在重做日志文件被覆盖之前,需要DBA手动将重做日志文件归档,否则系统将处于挂起状态。自动归档方式的设置启动归档进程ALTERSYSTEMARCHIVELOGSTART;关闭归档进程ALTERSYSTEMARCHIVELOGSTOP;手动归档对所有已经写满的重做日志文件(组)进行归档:ALTERSYSTEMARCHIVELOGALL;对当前的联机日志文件(组)进行归档:ALTERSYSTEMARCHIVELOGCURRENT;(3)归档路径设置

使用初始化参数LOG_ARCHIVE_DEST和LOG_ARCHIVE_DUPLEX_DEST设置归档路径LOG_ARCHIVE_DEST参数指定本地主归档路径LOG_ARCHIVE_DUPLEX_DEST指定本地次归档路径。使用初始化参数LOG_ARCHIVE_DEST_n设置归档路径最多可以指定10个归档路径,其归档目标可以是本地系统的目录,也可以是远程的数据库系统。注意这两组参数只能使用一组设置归档路径,而不能两组同时使用。ALTERSYSTEMSETLOG_ARCHIVE_DEST='D:\ORACLE\BACKUP'SCOPE=SPFILE;SQL>ALTERSYSTEMSETLOG_ARCHIVE_DUPLEX_DEST='E:\ORACLE\BACKUP'SCOPE=SPFILE;ALTERSYSTEMSETLOG_ARCHIVE_DEST_1='LOCATION=D:\BACKUP\ARCHIVE';ALTERSYSTEMSETLOG_ARCHIVE_DEST_2='SERVICE=STANDBY1';

设置归档文件命名方式设置参数LOG_ARCHIVE_FORMAT指定归档文件命名方式ALTERSYSTEMSETLOG_ARCHIVE_FORMAT='arch_%t_%s_%r.arc'SCOPE=SPFILE;

%s:代表日志文件序列号(LogSequencesNumber);

%S:代表日志文件序列号,不足3位的以0补齐;

%t:代表线程号(ThreadNumber);

%T:代表线程号,不足3位的以0补齐;

%r:代表重做日志的ID(ResetlogsID);

%R:代表重做日志的ID,不足3位的以0补齐。(4)设置可选或强制归档目标

设置最小成功归档目标数LOG_ARCHIVE_MIN_SUCCESS_DEST设置启动最大归档进程数

LOG_ARCHIVE_MAX_PROCESSES

设置强制归档目标和可选归档目标使用LOG_ARCHIVE_DEST_n参数时通过使用OPTIONAL或MANDATORY关键字指定可选或强制归档目标。ALTERSYSTEMSETLOG_ARCHIVE_DEST_1='LOCATION=D:\BACKUP\ARCHIVE'MANDATORY;ALTERSYSTEMSETLOG_ARCHIVE_DEST_2='SERVICE=STANDBY1'OPTIONAL;(5)归档信息查询执行ARCHIVELOGLIST命令查询数据字典视图或动态性能视图V$DATABASE:用于查询数据库是否处于归档模式;V$ARCHIVED_LOG:包含从控制文件中获取的所有已归档日志的信息。V$ARCHIVE_DEST:包含所有归档目标信息,如归档目标的位置、状态等。V$ARCHIVE_PROCESSES:包含已启动的ARCH进程的状态信息。V$BACKUP_REDOLOG:包含已备份的归档日志信息。例如,查询数据库所有归档路径信息。SELECTDESTINATION,BINDINGFROMV$ARCHIVE_DEST;总结Oracle数据库体系结构及存储结构数据库物理结构的组成数据文件的作用及其管理控制文件的作用以及管理重做日志文件的作用及其管理归档日志文件的作用及其管理第4章逻辑存储结构本章内容Oracle逻辑存储结构概述表空间数据块区段本章要求掌握Oracle数据库逻辑结构组成掌握表空间的作用及其管理掌握扩展区的结构,了解扩展区的管理掌握段的作用,了解段的管理4.1逻辑存储结构概述概念逻辑存储结构是从逻辑的角度来分析数据库的构成的,是数据库创建后利用逻辑概念来描述Oracle数据库内部数据的组织和管理形式。在操作系统中,没有数据库逻辑存储结构信息,而只有物理存储结构信息。数据库的逻辑存储结构概念存储在数据库的数据字典中,可以通过数据字典查询逻辑存储结构信息。逻辑结构单元类型数据块:BLOCK区:EXTENT段:SEGMENT表空间:TABLESPACE数据库的存储层次关系DatabaseLogicalPhysicalTablespaceDatafileOSblockOracle

blockSegmentExtent数据库逻辑存储结构之间的关系表空间数据段………

区间数据块(段片)4.2表空间表空间概述表空间的管理4.2.1表空间概述表空间的概念表空间的分类表空间的管理方式表空间的管理策略(1)表空间概念Oracle数据库在逻辑上可以划分为一系列的逻辑空间,每一个逻辑空间就可以称为一个表空间。一个数据库由有一个或多个表空间构成,不同表空间用于存放不同应用的数据,表空间大小决定了数据库的大小。一个表空间对应一个或多个数据文件,数据文件大小决定了表空间的大小。一个数据文件只能从属于一个表空间。表空间是存储模式对象的容器,一个数据库对象只能存储在一个表空间中(分区表和分区索引除外),但可以存储在该表空间所对应的一个或多个数据文件中。若表空间只有一个数据文件,则该表空间中所有对象都保存在该文件中;若表空间对应多个数据文件,则表空间中的对象可以分布于不同的数据文件中。数据库、表空间、数据文件、数据库对象之间的关系(2)表空间的分类系统表空间SYSTEM表空间,主要存储:数据库的数据字典;PL/SQL程序的源代码和解释代码,包括存储过程、函数、包、触发器等;数据库对象的定义,如表、视图、序列、同义词等。SYSAUX表空间

SYSAUX表空间是Oracle10g新增的辅助系统表空间,主要用于存储数据库组件等信息,以减小SYSTEM表空间的负荷。在通常情况下,不允许删除、重命名及传输SYSAUX表空间。非系统表空间撤销表空间专门进行回滚信息的自动管理,由UNDO_TABLESPACE参数设置。临时表空间专门进行临时数据管理的表空间在数据库实例运行过程中,执行排序等SQL语句时会产生大量的临时数据,这些临时数据将保存在数据库临时表空间中。

默认临时表空间

用户表空间

保存用户数据大文件表空间与小文件表空间所谓大文件表空间(BigfileTablespace)是指一个表空间只包含一个大数据文件,该文件的最大尺寸为128TB(数据块大小为32KB)或只32TB(数据块大小为8KB)。与大文件表空间相对应,系统默认创建的表空间称为小文件表空间(SmallfileTablespace),如SYSTEM表空间、SYSAUX表空间等。小文件表空间可以包含多达1024个数据文件。小文件表空间的总容量与大文件表空间的容量基本相似。(3)表空间的管理方式字典管理方式表空间使用数据字典来管理存储空间的分配,当进行区的分配与回收时,Oracle将对数据字典中的相关基础表进行更新,同时会产生回滚信息和重做信息。字典管理方式将渐渐被淘汰。本地管理方式在本地管理方式中,区的分配和管理信息都存储在表空间的数据文件中,而与数据字典无关。表空间在每个数据文件中维护一个“位图”结构,用于记录表空间中所有区的分配情况,因此区在分配与回收时,Oracle将对数据文件中的位图进行更新,不会产生回滚信息或重做信息。表空间本地管理方式的优势:由于在区分配与回收过程中不需要对数据字典进行访问,提高了表空间存储管理操作的速度和并发性。能够避免表空间存储管理操作中的递归现象,提高了存储空间管理操作性能。由于本地管理的临时表空间在使用过程中不会产生任何重做信息和撤销信息,因此既使查询操作中包含排序,对数据库来说也完全是只读操作,这样能够在保留可查询性同时,将整个数据库设置为只读状态。这种数据库可以作为备用数据库使用。简化了表空间的存储管理,由Oracle自动完成存储管理操作。降低了用户对数据字典的依赖性。不存在磁盘碎片问题,因为必要的信息都存储在数据文件的位图中,而不是保存在数据字典中(4)表空间管理策略将数据字典与用户数据分离,避免由于数据字典对象和用户对象保存在一个数据文件中而产生I/O冲突。将回滚数据与用户数据分离,避免由于硬盘损坏而导致永久性的数据丢失。将表空间的数据文件分散保存到不同的硬盘上,平均分布物理I/O操作。为不同的应用创建独立的表空间,避免多个应用之间的相互干扰。能够将表空间设置为脱机状态或联机状态,以便对数据库的一部分进行备份或恢复。能够将表空间设置为只读状态,从而将数据库的一部分设置为只读状态。能够为某种特殊用途专门设置一个表空间,如临时表空间,优化表空间的使用效率。能够更加灵活地为用户设置表空间配额。4.2.2表空间的管理(本地管理方式)创建表空间修改表空间表空间的备份删除表空间大文件表空间的管理表空间信息查询(1)创建表空间

在创建本地管理方式下的表空间时,应该确定表空间的名称、类型、对应的数据文件的名称和位置以及区的分配方式、段的管理方式表空间名称不能超过30个字符,必须以字母开头,可以包含字母、数字以及一些特殊字符(如#、_、$)等;表空间的类型包括普通表空间、临时表空间和撤销表空间;表空间中区的分配方式包括两种方式:自动扩展(AUTOALLOCATE)和定制(UNIFORM);段的管理包括两种方式:自动管理(AUTO)和手动管理(MANUAL)。创建永久表空间

创建永久表空间使用CREATETABLESPACE语句来实现,该语句包含以下几个子句:DATAFILE:设定表空间对应的数据文件。EXTENTMANAGEMENT:指定表空间的管理方式,取值为LOCAL(默认)或DICTIONARY。AUTOALLOCATE(默认)或UNIFORM:设定区的分配方式。SEGMENTSPACEMANAGEMENT:设定段的管理方式,其取值为MANUAL或AUTO(默认)。为ORCL数据库创建一个永久性的表空间,区自动扩展,段采用手动管理方式CREATETABLESPACEORCLTBS1DATAFILE'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\ORCLTBS1_1.DBF'SIZE50M;为ORCL数据库创建一个永久性的表空间,区定制分配,段采用自动管理方式。CREATETABLESPACEORCLTBS2DATAFILE'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\ORCLTBS2_1.DBF'SIZE50MEXTENTMANAGEMENTLOCALUNIFORMSIZE512K;为ORCL数据库创建一个永久性的表空间,区自动扩展,段采用手动管理方式。CREATETABLESPACEORCLTBS3DATAFILE'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\ORCLTBS3_1.DBF'SIZE50MSEGMENTSPACEMANAGEMENTMANUAL;为ORCL数据库创建一个永久性的表空间,区定制分配,段采用手动管理方式。CREATETABLESPACEORCLTBS4DATAFILE'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\ORCLTBS4_1.DBF'SIZE50MEXTENTMANAGEMENTLOCALUNIFORMSIZE512KSEGMENTSPACEMANAGEMENTMANUAL;创建临时表空间使用CREATETEMPORARYTABLESPACE语句创建临时表空间,用TEMPFILE子句设置临时数据文件。需要注意的是临时表空间中区的分配方式只能是UNIFORM,而不能是AUTOALLOCATE,因为这样才能保证不会在临时段中产生过多的存储碎片。为ORCL数据库创建一个临时表空间ORCLTEMP1。CREATETEMPORARYTABLESPACEORCLTEMP1TEMPFILE'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\ORCLTEMP1_1.DBF'SIZE20MEXTENTMANAGEMENTLOCALUNIFORMSIZE16M;临时表空间组将一个或多个临时表空间构成一个表空间组。当将临时表空间组作为数据库或用户的默认临时表空间时,用户就可以同时使用该表空间组中所有的临时表空间,避免了由于单个临时表空间的空间不足而导致数据库运行故障。同时,使用临时表空间组,可以保证在一个简单并行操作中多个并行服务的执行。临时表空间组不需要显式创建,为临时表空间组指定第一个临时表空间时隐式创建,当临时表空间组中最后一个临时表空间删除时而隐式地删除。通过在CREATETEMPORARYTABLSPACE或ALTERTABLESPACE语句中使用TABLESPACEGROUP短语创建临时表空间组。为ORCL数据库创建一个临时表空间ORCLTEMP2,并放入临时表空间组temp_group1。同时,将临时表空间ORCLTEMP1也放入该temp_group1中。CREATETEMPORARYTABLESPACEORCLTEMP2TEMPFILE'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\ORCLTEMP2_1.DBF'SIZE20MEXTENTMANAGEMENTLOCALUNIFORMSIZE16MTABLESPACEGROUPtemp_group1;ALTERTABLESPACEORCLTEMP1TABLESPACEGROUPtemp_group1;创建撤销表空间在Oracle10g中引入了撤销表空间的概念,专门用于回滚段的自动管理。如果数据库中没有创建撤销表空间,那么将使用SYSTEM表空间来管理回滚段。如果数据库中包含多个撤销表空间,那么一个实例只能使用一个处于活动状态的撤销表空间,可以通过参数UNDO_TABLESPACE来指定;如果数据库中只包含一个撤销表空间,那么数据库实例启动后会自动使用该撤销表空间。如果要使用撤销表空间对数据库回滚信息进行自动管理,则必须将初始化参数UNDO_MANAGEMENT=AUTO。可以使用CREATEUNDOTABLESPACE语句创建撤销表空间,但是在该语句中只能指定DATAFILE和EXTENTMANAGEMENTLOCAL两个子句,而不能指定其他

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论