ORACLe数据库管理员教程.ppt_第1页
ORACLe数据库管理员教程.ppt_第2页
ORACLe数据库管理员教程.ppt_第3页
ORACLe数据库管理员教程.ppt_第4页
ORACLe数据库管理员教程.ppt_第5页
已阅读5页,还剩283页未读 继续免费阅读

下载本文档

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

文档简介

1,ORACLE数据库管理员教程,参考书籍,清华大学出版社ORACLE数据库系统基础俞盘祥数据库管理及应用开发沈佩娟汤荷美电子工业出版社ORACLE数据库管理员教程孙宏昌金毳,数据库管理员是一个或一组全面负责管理和控制数据库系统的人员。简称:DBA(DataBaseAdministrator),序,数据库管理员的主要职责,了解ORACLE数据库的体系结构负责数据库管理系统的安装和升级启动和关闭数据库管理和监控数据库用户管理数据库特权管理存储空间建立数据库后备和恢复数据库,第一章,ORACLE的体系结构,ORACLE的体系结构体系结构概述,物理结构数据文件、日志文件、控制文件、参数文件系统全局区(SystemGlobalArea)共享池、数据缓冲区、日志缓冲区进程用户进程、服务器进程、后台进程,ORACLE的体系结构体系结构图示,数据文件日志文件控制文件参数文件,ORACLE的体系结构物理结构,数据文件(DataFile)是物理存储ORACLE数据库数据的文件。其特点如下:每一个数据文件只与一个数据库相联系。数据文件一旦被建立则不能修改其大小。一个表空间可包含一个或多个数据文件。,ORACLE的体系结构物理结构,日志文件(LogFile)记录所有对数据库数据的修改,以备恢复数据时使用。其特点如下:每一个数据库至少包含两个日志文件组。日志文件组以循环方式进行写操作。每一个日志文件成员对应一个物理文件。,ORACLE的体系结构物理结构,日志开关(LogSwitch)是为实现日志文件组的循环使用而设置的。出现日志开关的情况如下:当一个日志文件组被填满时关闭数据库时DBA手动转移日志开关,ORACLE的体系结构物理结构,日志文件写操作图示,Group1,Group2,Member2.1,Member1.1,ORACLE的体系结构物理结构,镜像日志文件是为防止日志文件的丢失,在不同磁盘上同时维护两个或多个联机日志文件的副本。其特点如下:每个日志文件组至少包含两个日志文件成员。每组的成员数目相同。同组的所有成员同时被修改。同组的成员大小相同,不同组的成员大小可不同。,ORACLE的体系结构物理结构,镜像日志文件图示,Group1,Group2,Disk1,Disk2,ORACLE的体系结构物理结构,控制文件(ControlFile)是一个较小的二进制文件,用于描述数据库结构。,描述信息如下:数据库建立的日期。数据库名。数据库中所有数据文件和日志文件的文件名及路径。恢复数据库时所需的同步信息。,要点注意:在打开和存取数据库时都要访问该文件。镜像控制文件。记录控制文件名及路径的参数为:CONTROL_FILES,ORACLE的体系结构物理结构,参数文件(ParameterFile)是一个文本文件,可直接使用操作系统下的文本编辑器对其内容进行修改。该文件只在建立数据库或启动实例时才被访问,在修改该文件之前必须关闭实例。初始参数文件:init.ora生成参数文件:initSID.oraconfig.ora,ORACLE的体系结构物理结构,参数文件的作用:确定存储结构的大小。设置数据库的全部缺省值。设置数据库的范围。设置数据库的各种物理属性。优化数据库性能。,ORACLE的体系结构物理结构,参数文件中参数的数据类型:整型例:DB_BLOCK_SIZE=2048字符型例:DB_NAME=ora7逻辑型例:CHECKPOINT_PROCESS=true,ORACLE的体系结构物理结构,共享池数据库缓冲区日志缓冲区,ORACLE的体系结构系统全局区,实例(INSTANCE)是存取和控制数据库的软件机制,它由系统全局区(SystemGlobalArea,简称SGA)和后台进程组成。,ORACLE的体系结构系统全局区,SGA是ORACLE系统为实例分配的一组共享缓冲存储区,用于存放数据库数据和控制信息,以实现对数据库数据的管理和操作。,ORACLE的体系结构系统全局区,共享池(SharedPool)由共享SQL区和数据字典区组成。参数SHARED_POOL_SIZE确定共享池的大小。,共享SQL区包括SQL或PL/SQL语句的文本SQL或PL/SQL语句的语法分析形式SQL或PL/SQL语句的执行方案,数据字典区用于存放数据字典信息行。,ORACLE的体系结构系统全局区,数据缓冲存储区(DatabaseBufferCache)用于存储从数据文件中读的数据的备份。,DB_BLOCK_SIZE确定数据块的大小,一般为2K或4K,对于大数据块的数据库,此参数值为物理块的倍数。DB_BLOCK_BUFFERS确定数据块的数目。,ORACLE的体系结构系统全局区,数据缓冲存储区分为脏列表包括被修改过但尚未写到数据文件的缓冲块。LRU(LeastRecentlyUsed)列表包括空闲缓冲块、正在存取的缓冲块、已被修改但尚未移到脏列表的缓冲块。,ORACLE的体系结构系统全局区,日志缓冲存储区(LogBuffer)以记录项的形式备份数据库缓冲区中被修改的缓冲块,这些记录将被写到日志文件中。LOG_BUFFER确定日志缓冲区的大小。,ORACLE的体系结构系统全局区,用户进程服务器进程后台进程,ORACLE的体系结构进程,ORACLE实例分为单进程实例和多进程实例两种。SINGLE_PROCESS单进程/多进程实例的转换。,ORACLE的体系结构进程,单进程/单用户一个进程执行全部ORACLE代码。,ORACLE的体系结构进程,多进程/多用户使用多个进程执行ORACLE的不同代码,对于每一个连接的用户都有一个进程。,ORACLE的体系结构进程,专用服务器方式为每个用户单独开设一个服务器进程。适用于实时系统。不设置参数:MTS_SERVICEMTS_DISPATCHERSMTS_SERVERSMTS_LISTERNET_ADDRESS,ORACLE的体系结构进程,多线索服务器方式通过调度器为每个用户进程分配服务器进程。设置参数:MTS_SERVICEMTS_DISPATCHERSMTS_SERVERSMTS_LISTERNET_ADDRESS,ORACLE的体系结构进程,参数的涵义,MTS_SERVICE:服务器名,缺省值为DB_NAMEMTS_DISPATCHERS:调度器个数MTS_SERVERS:可以启动的服务器进程的个数MTS_LISTERNET_ADDRESS:SQL*NET监听器地址MTS_MAX_SERVERS:服务器进程的最大数,ORACLE的体系结构进程,用户进程当用户运行一个应用程序时,就建立一个用户进程。,ORACLE的体系结构用户进程,服务器进程处理用户进程的请求。处理过程分析SQL命令并生成执行方案。从数据缓冲存储区中读取数据。将执行结果返回给用户。,ORACLE的体系结构服务器进程,后台进程为所有数据库用户异步完成各种任务。,ORACLE的体系结构后台进程,DBWR(DataBaseWriter)将数据缓冲区中所有修改过的缓冲块数据写到数据文件中,并使用LRU算法来保持缓冲区中的数据块为最近经常使用的,以减少I/O次数。该进程在启动实例时自动启动。,ORACLE的体系结构后台进程,DBWR进行写操作的情况:脏列表达到最低限制。相当于参数DB_BLOCK_WRITE_BATCH值的一半。一个进程在LRU列表中扫描指定数目的缓冲块,未找到空闲缓冲块。参数DB_BLOCK_MAX_SCAN_CNT确定扫描数目。,ORACLE的体系结构后台进程,DBWR进行写操作的情况:出现超时3秒钟内该进程未活动,则该进程将在LRU列表中查找尚未查找的缓冲块,这组缓冲块的数目相当于参数DB_BLOCK_WRITE_BATCH值的2倍。出现检查点。,ORACLE的体系结构后台进程,LGWR(LogWriter)将日志缓冲区中的所有记录项写到日志文件中。该进程在启动实例时自动启动。,ORACLE的体系结构后台进程,LGWR进行写操作的情况:用户进程提交一个事务(Commit)日志缓冲区达到1/3范围DBWR对一个检查点需要清除缓冲块出现超时(3秒钟内未活动,则进行一次写操作。),ORACLE的体系结构后台进程,检查点(Checkpoint):在检查点出现期间,DBWR进程将数据缓冲区中的所有脏缓冲块写到数据文件中,LGWR进程将日志缓冲区中的所有记录项写到日志文件中,以确保上一个检查点至今修改过的所有数据块都被写到磁盘上。,ORACLE的体系结构后台进程,检查点:预定数目的记录项被填满。参数LOG_CHECKPOINT_INTERVAL确定了预定数目。设置指定的秒数。参数LOG_CHECKPOINT_TIMEOUT确定了间隔秒数。每个日志开关处关闭实例时,DBA手动操作。表空间离线。,ORACLE的体系结构后台进程,CKPT(Checkpointer)在控制文件中记录检查点。参数CHECKPOINT_PROCESS确定了检查点的启动/不启动状态。若CKPT进程不启动,则该进程的工作将由LGWR进程代劳。(如果数据库的数据文件过多,这样操作会降低系统性能。),ORACLE的体系结构后台进程,ARCH(Archiver)在日志文件组出现切换时,将旧日志文件的内容拷贝到脱机存储介质上,出现介质失败时用于恢复数据。LOG_ARCHIVE_START确定了该进程的启动/不启动状态。,ORACLE的体系结构后台进程,ARCH(Archiver)LOG_ARCHIVE_DEST当数据库在归档模式下操作时,该参数确定了日志文件的归档目标。LOG_ARCHIVE_FORMAT当数据库在归档模式下操作时,该参数确定了归档日志文件的缺省文件名格式。,ORACLE的体系结构后台进程,SMON(SystemMonitor)负责完成自动实例恢复。该进程在启动实例时自动启动。PMON(ProcessMonitor)撤消异常中断的用户进程,并释放该进程已获得的系统资源或锁。,ORACLE的体系结构后台进程,RECO(Recover)在分布式操作的情况下,恢复一个事务的失败。LCKn(Lock)在并行服务器系统间加锁,最多可加10个锁,分别为LCK0,LCK1,LCK9。,ORACLE的体系结构后台进程,处理SQL语句的三个阶段语法分析执行返回指令,ORACLE的体系结构示例,SELECT操作,SQLSELECTsalFROMempWHEREjob=CLERK;,ORACLE的体系结构示例,UPDATE操作为了支持读一致性,恢复和回滚,所有修改操作需要回滚段。修改操作执行:,将数据块送到数据缓冲区将回滚块送到数据缓冲区在修改行上设置行锁保存回滚数据到回滚段块将修改写到数据块,ORACLE的体系结构示例,UPDATE操作,SQLSELECTsalFROMempWHEREjob=CLERK;,SQLUPDATEempSETsal=sal*1.1WHEREjob=CLERK;,ORACLE的体系结构示例,第二章,ORACLE的逻辑结构,ORACLE的逻辑结构,ORACLE的逻辑结构是由一个或多个表空间组成。一个表空间由一组分类段组成一个段由一组范围组成一个范围由一批数据库块组成一个数据库块对应一个或多个物理块,逻辑结构图示,数据库块(DatabaseBlock)是数据库使用的I/O最小单元,又称逻辑块或ORACLE块。一个数据库块对应一个或多个物理块,块的大小由参数DB_BLOCK_SIZE确定。,ORACLE的逻辑结构数据库块,标题:包括通用的块信息,如块地址/段类型等,最佳大小为85-100bytes。表目录:存储聚集中表的信息,这些信息用于聚集段。行目录:包括这块中的有效行信息,允许使用每行开头的2bytes。自由空间:这块中能插入或修改的一组空间。行数据:存储表或索引的数据。,ORACLE的逻辑结构数据库块,数据库块的格式,ORACLE的逻辑结构数据库块,PCTUSED用于行的INSERT的操作,当块的百分比小于PCTUSED时,可通过行DELETE或UPDATE来减少列存储。,PCTFREE用于行的UPDATE操作,在遇到PCTFREE后,这块被填满且不能进行INSERT操作。,ORACLE的逻辑结构数据库块,PCTFREE=20%,PCTUSED=40%,ORACLE的逻辑结构数据库块,范围(Extent)是数据库存储空间分配的逻辑单位,一个范围由一组数据库块组成,范围是由段分配的,分配的第一个范围称初始范围,以后分配的范围称增量范围。,ORACLE的逻辑结构范围,逻辑结构范围,控制范围分配的参数,段(Segment)是表空间中一个指定类型的逻辑存储结构,它由一个或多个范围组成,段将占用并增长存储空间。,ORACLE的逻辑结构段,段的分类,ORACLE的逻辑结构段,表空间(Tablespace)是数据库中物理编组的数据仓库,对应一个或多个数据文件,表空间的大小是它所对应的数据文件大小的总和。,ORACLE的逻辑结构表空间,SystemTablespace,DataTablespace,ORACLE的逻辑结构表空间,ORACLE数据库中的数据逻辑存储在表空间中,物理存储在数据文件中。,ORACLE的逻辑结构数据库结构,第三章,数据库的安装,硬件结构,数据库的安装硬件需求,服务器CPUIntel486网卡支持TCP/IP协议内存16M外存1GB,客户Intel486支持TCP/IP协议16M400MB,服务器操作系统TCP/IP协议,客户操作系统TCP/IP协议,数据库的安装软件需求,1.修改OS参数SEMMNI20SEMMNS60SHMMAX20971520SHMMNI100SHMSEG15,2.重新启动系统,3.建立一个ORACLE用户(DBA组),并登录到ORACLE用户下。,数据库的安装安装示例,4.设置环境变量file追加下列语句:ORACLE_HOME=/目录名/用户名(/oracle/oracle7)ORACLE_SID=数据库名(ora7)TK2DEV=终端类型(ansi),数据库的安装安装示例,5.读介质磁盘:$ddibs=8kif=/dev/rdsk/f0q18dt|uncompress|cpio-icBmvd磁带:$cpio-icBvd输入行命令点菜单:$sqldba,DBA应用程序,SQL*DBASQL*LoaderExport/Import,SQL*Loader将标准操作系统文件(文本文件或C数据格式文件)中的数据安装到ORACLE数据基表中。(DBA和用户都可以使用),DBA应用程序,SQL*DBASQL*LoaderExport/Import,Export/Import允许DBA卸出/恢复ORACLE格式的数据。,ORACLE特殊用户,internalsystemsys,internal只能在服务器端使用的超级用户,它具有DBA的所有特权。连接方式与普通用户相同。,ORACLE特殊用户,internalsystemsys,System(manager)在建立数据库时自动建立的一个超级用户,它拥有显示管理信息的附加表和视图,以及由ORACLE工具使用的所有表和视图。连接方式与普通用户相同。,ORACLE特殊用户,internalsystemsys,Sys(change_on_install)只能在服务器端使用的超级用户,它具有DBA的所有特权。连接方式与普通用户相同。,数据库管理员的身份识别,通过操作系统识别,设置参数:REMOTE_LOGIN_PASSWORDFILE=NONEconnect/assysoper或connect/assysdba操作系统角色OSOPER和OSDBA,相当于旧版本的connectinternal。通过Oracle自己的Password文件识别REMOTE_LOGIN_PASSWORDFILE=EXCLUSIVEopapwdfile=filenamepassword=passwordentries=max_usersgrantsysdbatoscott或grantsysopertoscottconnectscott/assysdba,第四章,数据库的启动和关闭,数据库的启动,启动步骤:启动SQL*DBA连接INTERNAL用户启动实例,读参数文件分配SGA启动后台进程打开后台跟踪文件,数据库的启动,用菜单命令启动数据库,出现对话框如下:,数据库的启动,启动方式:,数据库的启动,参数说明:Exclusive/Parallel:专用/并行数据库模式。DatabaseName:要启动的数据库名,默认值为ORACLE_SID变量的值。ParameterFile:在启动实例时,访问的参数文件名,默认文件为initSID.ora。,数据库的启动,约束条件:Force:在启动实例前,强行关闭当前实例。RestricttoDBAs:数据库启动后,只有DBA特权的用户才能访问数据库。Recover:在启动实例时,用日志文件做数据库恢复。,数据库的启动,例:用行命令启动数据库$sqldbamode=lineSQLDBAconnectinternalSQLDBAstartup,数据库的关闭,数据库的关闭,关闭方式:Normal处理完用户提交的所有事务,等待用户退出连接后,关闭数据库、卸载数据库、关闭实例。在下次启动实例时,不做实例恢复操作。Immediate/AbortInstance结束正在处理的SQL语句、回滚未提交事务、不等待用户退出正常连接。在下次启动实例时,做实例恢复操作。,数据库的关闭,例:用行命令关闭数据库$sqldbamode=lineSQLDBAconnectinternalSQLDBAshutdown,第五章,安全管理,安全管理用户管理,安全管理用户管理,参数说明:Name:用户名PasswordAuthentication:用户密码OSAuthentication:操作系统识别方式,设参数OS_AUTHENT_PREFIX的值为“OPS$”。DefaultTablespace:用户对象保存的表空间TemporaryTablespace:临时用户对象保存的表空间Quotas:用户使用的表空间限量Profile:用户使用的系统资源限量,行命令建立用户:CREATEUSER用户名INDENTIFIEDBY口令EXTERNALLYDEFAULTTABLESPACE表空间名TEMPORARYTABLESPACE表空间名QUOTA整数K/MON表空间名UNLIMITEDPROFILE环境文件名,安全管理用户管理,例1:建立用户sidneyCREATEUSERsidneyINDENTIFIEDBYcartonDEFAULTTABLESPACEcases_tsTEMPORARYTABLESPACEtemp_tsQUOTA5MONcases_tsQUOTA5MONtemp_tsPROFILEengineer;,安全管理用户管理,例2:建立按操作系统帐号george可存取的用户。CREATEUSEROPS$georageINDENTIFIEDEXTERNALLYDEFAULTTABLESPACEaccs_tsTEMPORARYTABLESPACEtemp_tsQUOTAUNLIMITEDONaccs_tsQUOTAUNLIMITEDONtemp_ts;,安全管理用户管理,安全管理用户管理,安全管理用户管理,参数说明:NochangeinAuthentication:无识别方式PasswordAuthentication:用户密码OSAuthentication:操作系统识别方式DefaultTablespace:用户对象保存的表空间TemporaryTablespace:临时用户对象保存的表空间Quotas:用户使用的表空间限量Profile:用户使用的系统资源限量DefaultRole:分配给用户的角色,安全管理用户管理,安全管理用户管理,例1:ALTERUSERscottINDENTIFIEDBYlionDEFAULTTABLESPACEtstest;例2:ALTERUSERscottPROFILEclerk;,安全管理用户管理,安全管理用户管理,行命令删除用户:DROPUSER用户名CASCADE例如:DROPUSERbradleyCASCADE;,安全管理用户管理,例如:ALTERSYSTEMKILLSESSION9,3;,安全管理用户管理,与用户管理有关的数据字典视图:USER_USERSALL_USERSDBA_USERSUSER_TS_QUOTASDBA_TS_QUOTAS,安全管理环境文件管理,安全管理环境文件管理,参数说明:Sessions/User:限制一个用户的并发会话个数。CPUTime/Session:限制一次会话的CPU时间,单位:百分之一秒。CPUTime/Call:限制一次调用(一次语法分析、执行或获得)的CPU时间,单位:百分之一秒。ConnectTime:限制一会话总的使用时间,单位:分。IdleTime:限制会话期间连接不活动周期,单位:分。长的运行查询和其它操作不受这个限制。,安全管理环境文件管理,参数说明:LogicalReads/Session:限制在一次会话中读的数据块的数目,包括从内存或磁盘读的块数。LogicalReads/Call:限制处理一个SQL语句(语法分析、执行和获取)一次调用所读的数据块的数目。PrivateSGA/Session:限制一次会话在SGA的共享池可分配的专用空间的数目,单位:bytes/Kbytes/Mbytes。CompositeLimit:一次会话总的资源开销,以服务单位表示该参数的值。,安全管理环境文件管理,ORACLE以下列资源的带权的和计算总的资源开销:CPUTime/SessionConnectTimeLogicalReads/SessionPrivateSGA/Session,安全管理环境文件管理,安全管理环境文件管理,例如:建立环境文件SYSTEM_MANAGER。CREATEPROFILEsystem_managerLIMITSESSIONS_PER_USERUNLIMITEDCPU_PER_SESSIONUNLIMITEDCONNECT_TIME45LOGICAL_READS_PER_SESSIONDEFAULTLOGICAL_READS_PER_CALL1000PROVATE_SGA15KCOMPOSITE_LIMIT5000000;,安全管理环境文件管理,安全管理环境文件管理,安全管理环境文件管理,例:在ENGINEER环境文件中定义5个并行会话的限制。ALTERPROFILEengineerLIMITSESSION_PER_USER5;,安全管理环境文件管理,行命令删除环境文件:DROPPROFILE环境文件名CASCADE,安全管理环境文件管理,安全管理环境文件管理,行命令更改资源开销:ALTERRESOUCECOSTCPU_PER_SESSION整数CONNECT_TIME整数LOGICAL_READS_PER_SESSION整数PRIVATE_SGA整数例如:指定资源的权。ALTERRESOUCECOSTCPU_PER_SESSION100CONNECT_TIME1,安全管理环境文件管理,与环境文件有关的数据字典视图:USER_RESOURCE_LIMITSDBA_PROFILESRESOURCE_COST,安全管理特权管理,系统特权:完成特殊活动或在一个特殊类型的对象上完成特殊活动的一个特权。对象特权:在一个指定的对象(表、视图、序列、过程、函数或包)上完成一个特殊活动的特权。,安全管理特权管理,安全管理特权管理,安全管理特权管理,例1:将CREATESESSION系统特权授予RICHARD。GRANTcreatesessionTOrichard;例2:将CREATETABLE系统特权授予RICHARD并带有允许授权选项。GRANTcreatetableTOrichardWITHADMINIOPTION;,安全管理特权管理,安全管理特权管理,安全管理特权管理,例:从用户Bill和Mary回收DROPANYTABLE系统特权。REVOKEdropanytableFROMbill,mary;,安全管理特权管理,回收系统特权的连锁反映分析:,安全管理特权管理,对象特权的授权:例1:GRANTselectONdeptTOstu10,stu11;例2:GRANTselect,insert(empno,ename),update(ename)ONempTOscottWITHGRANTOPTION;,安全管理特权管理,对象特权的回收:例1:REVOKEselectONdeptFROMstu10,stu11;例2:REVOKEallONempFROMscott;,安全管理特权管理,回收对象特权的连锁反映分析:,安全管理特权管理,与特权有关的数据字典视图:DBA_SYS_PRIVSTABLE_PRIVILEGESCOLUMN_PRIVILEGESALL/USER_TAB_PRIVSALL/USER_TAB_PRIVS_MADEALL/USER_TAB_PRIVS_RECDALL/USER_COL_PRIVSALL/USER_COL_PRIVS_MADEALL/USER_COL_PRIVS_RECD,安全管理角色管理,角色是由一个命名的关联特权组组成,用来维护和控制特权。角色的特点:减少授权次数动态的特权管理选择可用特权,安全管理角色管理,无角色管理的授权示意图,安全管理角色管理,使用角色管理的授权示意图,安全管理角色管理,ORACLE数据库预定义的角色:CONNECT:ALTERSESSION,CREATECLUSTER,CTEATEDATABASELINK,CREATESEQUENCE,CREATESESSION,CREATESYNONYM,CREATETABLE,CREATETABLE,CREATETRIGGERRESOURCE:CREATECLUSTER,CREATEPROCEDURE,CREATESEQUENCE,CREATETABLE,CREATETRIGGERDBA:AllsystemprivilegesWITHADMINOPTIONEXP_FULL_DATABASE:SELECTANYTABLE,BACKUPANYTABLE,INSERT,DELETEandUPDATEonthetablesSYS.INCVID,SYS.INCFILandSYS.INCEXPIMP_FULL_DATABASE:BECOMEUSER,WRITEDOWN,安全管理角色管理,安全管理角色管理,例1:CTEATEROLEacct;例2:CTEATEROLEacctIDENTIFIEDBYbicent;,安全管理角色管理,安全管理角色管理,例:ALTERROLEacctNOTIDENTIFIED;,安全管理角色管理,安全管理角色管理,行命令删除角色:DROPROLE角色名例:DROPROLEacct;,安全管理角色管理,行命令删除角色:DROPROLE角色名例:DROPROLEacct;,注:授予角色特权和回收角色特权的操作与给用户授权和回收操作相同。,安全管理特权管理,与角色有关的数据字典视图:ROLE_SYS_PRIVSROLE_TAB_PRIVSROLE_ROLE_PRIVSSESSION_ROLESUSER_ROLE_PRIVSDBS_ROLES,第六章,数据库物理文件及存储空间的管理,数据库物理文件的管理数据文件,行命令追加数据文件:,数据库物理文件的管理数据文件,例如:ALTERTABLESPACEusersADDDATAFILEuserora1.dbfSIZE1M;,数据库物理文件的管理数据文件,注意:在执行该操作之前,新文件名应在指定路径下存在。,数据库物理文件的管理数据文件,例如:ALTERTABLESPACEusersRENAMEDATAFILEfilename1,filename2TOfilename3,filename4;,数据库物理文件的管理数据文件,更改数据库命令的语法格式见ORACLE数据库基础P158。例如:ALTERDATABASERENAMEFILEfilename1,filename2TOfilename3,filename4;,数据库物理文件的管理数据文件,与数据文件有关的数据字典视图:DBA_DATA_FILESV$DATAFILE,数据库物理文件的管理数据文件,数据库物理文件的管理日志文件,行命令增加在线日志文件组,例如:ALTERDATABASEADDLOGFILE(log1c.log,log2c.log)SIZE500K;,数据库物理文件的管理日志文件,删除在线日志文件组,DBA应在该操作之前考虑如下问题:删除该日志文件组后,数据库至少还包含两个在线日志文件组。要删除的在线日志文件组是否为当前日志文件组。要删除的在线日志文件组是否已归档。,数据库物理文件的管理日志文件,注意:该操作只删除了控制文件中的指针,即进行了逻辑删除,物理删除直接使用操作系统命令完成。,数据库物理文件的管理日志文件,行命令删除在线日志文件组,例如:ALTERDATABASEDROPLOGFILEGROUP3;,数据库物理文件的管理日志文件,数据库物理文件的管理日志文件,行命令增加在线日志文件成员,例如:ALTERDATABASEADDLOGFILEMEMBERlog2b.logTOGROUP2;,数据库物理文件的管理日志文件,注意:在执行该操作之前,新文件名应在指定路径下存在。,数据库物理文件的管理日志文件,行命令增加在线日志文件成员,例如:ALTERDATABASERENAMEFILEfilename1,filename2TOfilename3,filename4;,数据库物理文件的管理日志文件,删除在线日志文件成员,DBA应在该操作之前考虑如下问题:删除该日志文件成员后,每个日志文件组至少还包含两个在线日志文件成员。要删除的在线日志文件成员是否为当前日志文件组的成员。要删除的成员所属的在线日志文件组是否已归档。,数据库物理文件的管理日志文件,注意:该操作只删除了控制文件中的指针,即进行了逻辑删除,物理删除直接使用操作系统命令完成。,数据库物理文件的管理日志文件,行命令删除在线日志文件成员,例如:ALTERDATABASEDROPLOGFILEMEMBERlog3c.log;,数据库物理文件的管理日志文件,镜像控制文件的步骤:关闭数据库使用操作系统命令复制一份控制文件。将CONTROL_FILES参数加入参数文件中,以指定复制的控制文件名及路径。重新启动数据库,数据库物理文件的管理控制文件,数据库存储空间的管理表空间,参数说明:Name:表空间名DataFiles:数据文件名及大小Storage:设置表空间的存储参数BringOnlineAfterCreation:表空间在线LeaveOffineAfterCreation:表空间离线,数据库存储空间的管理表空间,数据库存储空间的管理表空间,例如:CREATETABLESPACEuser_stuDATAFILEdiska:user_stu1.datSIZE20MDEFAULTSTORAGE(INITIAL10KNEXT50KMINEXTENTS1MAXEXTENTS99PCTINCREASE10)ONLINE;,数据库存储空间的管理表空间,数据库存储空间的管理表空间,数据库存储空间的管理表空间,例如:ALTERTABLESPACEaccountingONLINE;,数据库存储空间的管理表空间,数据库存储空间的管理表空间,参数说明:Normal:ORACLE检测该离线表空间所对应的数据文件是否有问题,如果没有问题可离线。Temporary:ORACLE检测该离线表空间所对应的数据文件是否有问题,如果有问题可离线。Immediate:不检测该离线表空间所对应的数据文件,直接离线。,数据库存储空间的管理表空间,例如:ALTERTABLESPACEaccountingOFFLINENORMAL;,数据库存储空间的管理表空间,数据库存储空间的管理表空间,参数说明:Includingcontainedobjects删除表空间的同时,将该表空间包含的对象一并从数据库中删除。Cascadedropofintegrityconstraints在删除表空间包含的对象的同时,将每个模式对象所对应的约束一并从数据库中删除。,数据库存储空间的管理表空间,行命令删除表空间:,DROPTABLESPACE表空间名INCLUDINGCONTENTSCASCADECONSTRAINTS,数据库存储空间的管理表空间,例如:DROPTABLESPACEuser_stuINCLUDINGCONTENTSCASCADECONSTRAINTS;,数据库存储空间的管理表空间,数据库存储空间的管理表空间,数据库存储空间的管理回滚段,参数说明:Public(AvailabletoAllInstances)建立的回滚段为多个实例共享。Private(AvailabletoSpecificInstances)建立的回滚段为指定实例专用。Name:回滚段名InTablespace:所属表空间StorageParameters:存储参数,数据库存储空间的管理回滚段,数据库存储空间的管理回滚段,例如:CREATEPUBLICROLLBACKSEGMENTrbs_2TABLESPACEsystemSTORAGE(INITIAL50KNEXT50KOPTIMAL150KMAXEXTENTS10);,数据库存储空间的管理回滚段,数据库存储空间的管理回滚段,数据库存储空间的管理回滚段,例如:ALTERROLLBACKSEGMENTrbs_2ONLINE;,数据库存储空间的管理回滚段,数据库存储空间的管理回滚段,例如:ALTERROLLBACKSEGMENTrbs_2OFFLINE;,数据库存储空间的管理回滚段,数据库存储空间的管理回滚段,行命令删除回滚段:,DROPROLLBACKSEGMENT回滚段名,数据库存储空间的管理回滚段,例如:,DROPROLLBACKSEGMENTrbs_2;,数据库存储空间的管理回滚段,数据库存储空间的管理回滚段,第七章,数据库的建立,数据库的建立准备工作,选定数据库名拷贝和编辑参数文件DB_NAME及数据库参数设置环境变量ORACLE_SID,数据库的建立修改参数文件,编辑参数文件:DB_NAME:数据库名CONTROL_FILES:控制文件名及路径INIT_SQL_FILE:建立数据字典文件名及路径LOG_ARCHIVE_START:自动归档开关LOG_ARCHIVE_DEST:归档目标LOG_ARCHIVE_FORMAT:归档文件名格式USER_DUMP_DEST:用户跟踪文件名及路径BACKGROUND_DUMP_DEST:后台进程跟踪文件名及路径,编辑参数文件:DB_BLOCK_SIZE:数据库块大小DB_BLOCK_BUFFERS:数据库块数目IFILE:数据库其它参数文件名及路径LOG_BUFFER:日志缓冲区大小SHARED_POOL_SIZE:共享池大小LOG_CHECKPOINT_INTERVAL:检查点频率PROCESSES:同时连接数据库的最大进程数ROLLBACK_SEGMENTS:在线回滚段名,数据库的建立修改参数文件,编辑参数文件:LICENSE_MAX_SESSIONS同时连接到数据库的最大会话数目。LICENSE_SESSION_WARNING同时连接到数据库的警告会话数目。,数据库的建立修改参数文件,数据库的建立建立数据库,数据库的建立建立数据库,CREATEDATABASEtestCONTROLFILEREUSELOGFILEGROUP1(diskb:log1.log,diskc:log1.log)SIZE50K,GROUP2(diskb:log2.log,diskc:log2.log)SIZE50KMAXLOGFILES5MAXLOGHISTORY100DATAFILEdiska:dbone.datSIZE2MMAXDATAFILES10MAXINSTANCES2ARCHIVELOGEXCLUSIVE;,例如:,数据库的建立后期工作,镜像日志文件镜像控制文件,数据库的建立数据字典,数据字典是ORACLE数据库的最重要部分之一,它由一组只读的表和视图所组成。它提供如下信息:,ORACLE用户名特权和角色模式对象信息完整性约束空间分配情况数据库结构审计信息,数据库的建立数据字典,数据字典视图:USER_XXX:任何用户可访问的视图,给出该用户的所有对象信息。ALL_XXX:任何用户可访问的视图,给出数据库所有用户的所有对象的基本信息。DBA_XXX:只有DBA特权的用户可访问的视图,给出数据库的所有详细信息。V$XXX:记录数据库的动态信息。,数据库的建立数据字典,数据字典的特点:所有数据字典基表和视图都由SYS用户拥有。对于ALL_XXX和USER_XXX视图建立公共同义词。列名对所有视图都一致。后缀名对所有视图都一致。USER_XXX类视图无OWNER列。许多DBA_XXX视图无等价的USER_XXX和ALL_XXX视图。,第八章,数据库的后备和恢复,数据库的后备和恢复归档与无归档,无归档操作:在介质出现失败时,只能将数据库恢复到最后后备的那一刻。归档操作:在介质出现失败时,能使用归档日志文件最大量的恢复数据库数据。,数据库的后备和恢复归档与无归档,归档需求:数据库必须在ARCHIVELOG模式下操作启动自动归档进程ARCHIVER有足够的资源保存归档日志文件,数据库的后备和恢复归档与无归档,显示归档状态:SQLDBAARCHIVELOGLIST;,Databaselogmode归档模式Automaticarchival归档进程状态Archivedestination归档目标Oldestonlinelogsequence旧日志组序列号Nextlogsequencetoarchive下一个日志组序列号Currentlogsequence当前日志组序列号,数据库的后备和恢复归档与无归档,指定归档模式:建立数据库时建立控制文件时,数据库的后备和恢复归档与无归档,修改归档模式:SQLDBACONNECTinternal;SQLDBASTARTUPMOUNT;SQLDBAALTERDATABASEARCHIVELOG;SQLDBAALTERDATABASEOPEN;,数据库的后备和恢复归档与无归档,归档进程状态:修改参数LOG_ARCHIVE_START的值为true/falseALTERSYSTEMARCHIVELOGSTARTTOdirectoryordevicename(/STOP);,数据库的后备和恢复数据库的后备,为保证数据库的正常使用,在数据库出现故障时,能尽可能快的修复数据库,做好数据库的后备工作是十分重要的。定期执行整个操作系统的后备。频繁修改的表空间要经常后备。在修改数据库结构之前和之后,要后备所影响的数据文件、日志文件和控制文件。,数据库的后备和恢复数据库的后备,后备方法:操作系统后备无归档后备归档后备Export程序后备,数据库的后备和恢复数据库的后备,操作系统后备:离线数据库全后备:数据库无归档操作在线数据库全后备:数据库归档操作在线表空间后备:数据库归档操作离线表空间后备:数据库归档操作控制文件后备,数据库的后备和恢复数据库的后备,离线数据库全后备数据文件、日志文件、控制文件和参数文件记录数据库所有文件的路径及文件名用NORMAL关闭数据库用操作系统命令拷贝数据库所有文件重新启动ORACLE实例,数据库的后备和恢复数据库的后备,显示数据文件路径及文件名:SQLSELECTfile_nameFROMdba_data_files;显示日志文件路径及文件名:SQLSELECTmemberFROMv$logfile;显示控制文件路径及文件名:SQLSELECTvalueFROMv$parameterWHEREname=control_files;,数据库的后备和恢复数据库的后备,例如:SQLDBACONNECTinternal;SQLDBASHUTDOWNnormal;SQLDBAhostcp.SQLDBASTARTUPopen;,数据库的后备和恢复数据库的后备,在线数据库全后备:确保数据库在ARCHIVELOG模式下操作。用在线表空间后备方法后备数据库所有表空间。用控制文件后备方法后备数据库的控制文件。,数据库的后备和恢复数据库的后备,在线表空间的后备:确保数据库在ARCHIVELOG模式下操作。使要后备的表空间在线。开始在线表空间的后备用操作系统命令拷贝表空间所对应的数据文件。结束在线表空间的后备。,数据库的后备和恢复数据库的后备,数据库的后备和恢复数据库的后备,数据库的后备和恢复数据库的后备,例如:SQLDBAALTERTABLESPACEusersBEGINBACKUP;SQLDBAhostcpSQLDBAALTERTABLESPACEusersENDBACKUP;,数据库的后备和恢复数据库的后备,在下列操作前后要后备控制文件:增加在线日志文件组增加在线日志文件成员重命名在线日志文件成员删除在线日志文件组删除在线日志文件成员建立表空间增加数据文件重命名数据文件删除表空间,数据库的后备和恢复数据库的后备,控制文件的后备:SQLDBAALTERDATABASEBACKUPCONTROLFILETObackupdirectory;,数据库的后备和恢复数据库的后备,Export应用程序将数据库表保存到操作系统文件,这个文件只能由Import应用程序读入数据库。卸出模式如下:Table:卸出用户的指定表。User:卸出用户模式中的所有对象。FullDatabase:卸出数据库中的所有对象。具有EXP_FULL_DATABASE角色的用户可操作此项。,数据库的后备和恢复数据库的后备,卸出类型如下:Complete:卸出数据库的所有对象。Imcremental:卸出上次某类卸出后修改的对象。Cumulative:卸出上次累加或完全卸出后修改的对象。,数据库的后备和恢复数据库的后备,命令执行方式如下:参数文件EXPusername/passwordPARFILE=filename行命令EXPusername/pass

温馨提示

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

评论

0/150

提交评论