Oracle数据库维护培训-华为课件_第1页
Oracle数据库维护培训-华为课件_第2页
Oracle数据库维护培训-华为课件_第3页
Oracle数据库维护培训-华为课件_第4页
Oracle数据库维护培训-华为课件_第5页
已阅读5页,还剩355页未读 继续免费阅读

下载本文档

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

文档简介

2023/1/4Oracle数据库维护培训--华为2022/12/18Oracle数据库维护培训--华为1Oracle体系结构

Oracle体系结构

2

目标通过这部分课程的学习,您将了解以下内容:描述Oracle服务器的体系结构及其主要构件列举用户连接到Oracle实例所涉及的结构双机模式:RAC/HOTSTANDBY

目标通过这部分课程的学习,您将了解以下内容:3主要组件一览实例系统全局区重做日志缓冲区共享池数据字典缓冲区库缓冲区DBWRSMONPMONCKPTLGWROthers用户端进程服务器进程程序全局区控制文件数据文件归档日志文件参数文件密码文件重做日志文件数据库数据块高速缓冲区主要组件一览实例系统全局区重做日志数据字典库缓冲区DBWRS4Oracle服务器一个Oracle服务器:是一个提供开放式的、全面的、综合性信息管理服务的数据库管理系统由一个Oracle数据库和一个Oracle实例组成Oracle服务器Oracle服务器一个Oracle服务器:Oracle服务5Oracle实例一个Oracle实例:是一种访问Oracle数据库的基本方式总是打开一个且只打开一个数据库由内存结构和进程结构组成后台进程内存结构SGARedolog

buffercacheDatabase

buffercacheSharedpoolDBWRSMONPMONCKPTLGWROthersDataDict.

cacheLibrarycache实例Oracle实例一个Oracle实例:后台进程内存结构SG6创建连接和会话创建连接创建对话数据库用户用户进程Oracle服务器服务器进程创建连接和会话创建创建对话数据库用户用户进程Oracle7Oracle数据库Oracle数据库:是作为一个单元对待的数据的集合体由三种文件类型组成控制文件数据文件

归档日志文件参数文件密码文件重做日志文件Oracle数据库Oracle数据库Oracle数据库:控制文件数据文件8物理结构

Oracle数据库的物理存储是由实际的操作系统文件决定控制文件数据文件重做日志文件控制文件数据文件(包括数据字典)标题联机重做日志文件物理结构

Oracle数据库的物理存储是由实际的操作系9内存结构Oracle的内存结构由以下两个内存区域构成:系统全局区(SGA):在实例启动的时候分配,是Oracle实例中的一个基本成分程序全局区(PGA):服务器进程启动时分配内存结构Oracle的内存结构由以下两个内存区域构成:10系统全局区系统全局区(SGA)由几部分内存区域组成:共享池数据块高速缓冲区重做日志缓冲区

有两个可选择的内存结构能配置在系统全局区内:大型池JAVA池系统全局区系统全局区(SGA)由几部分内存区域组成:11系统全局区系统全局区分配大小上限由SGA_MAX_SIZE参数决定.系统全局区分配原则依赖其中的组件:分配邻近的虚拟内存大小基于SGA_MAX_SIZE系统全局区系统全局区分配大小上限由SGA_MAX_SIZE参12共享存储区用来存储最近最多执行的SQL语句和最近最多使用的数据定义.它由两个主要的内存存结构组成:库缓冲区数据字典缓冲区大小由参数SHARED_POOL_SIZE决定.SharedpoolDatadictionarycacheLibrarycacheALTERSYSTEMSETSHARED_POOL_SIZE=64M;共享存储区用来存储最近最多执行的SQL语句和最近最13库缓存区库缓冲区存储最近使用的SQL和PL/SQL语句信息:它能够使普遍使用的语句能够共享通过LRU算法进行管理由两种结构组成:共享SQL区域共享PL/SQL区域其中各自的大小由共享池内部指定库缓存区库缓冲区存储最近使用的SQL和PL/SQL语句信息:14数据字典缓冲区数据字典缓冲区是数据库里最经常使用的对象定义的集合.它包括数据文件名、表、索引、列、用户权限和其它数据库对象等信息.在解析期间,服务器进程会查找数据字典获取允许接入的关联对象信息.缓存数据字典信息在内存区能提高查询数据的响应时间.它的大小由共享池的大小决定.数据字典缓冲区数据字典缓冲区是数据库里最经常使用的15数据块高速缓冲区

数据块高速缓冲区储存以前从数据文件中取出过的数据块的拷贝信息.当你得到或修改数据时,它能使性能得到提高.它通过LRU算法进行管理.由DB_BLOCK_SIZE决定大小.Databasebuffer

cache数据块高速缓冲区Databasebuffe16数据块高速缓冲区由独立的子缓存组成:DB_CACHE_SIZEDB_KEEP_CACHE_SIZEDB_RECYCLE_CACHE_SIZE数据库缓冲区可以动态的改变尺寸.DB_CACHE_ADVICE可以设置以收集统计信息用来预测不同的缓冲大小ALTERSYSTEMSETDB_CACHE_SIZE=96M;数据块高速缓冲区由独立的子缓存组成:ALTERSYSTEM17重做日志缓冲区重做日志缓冲区记录数据块的所有变化.首要目的是恢复.记录的信息可用来重做改变.尺寸大小由LOG_BUFFER定义.Redolog

buffercache重做日志缓冲区重做日志缓冲区记录数据块的所有变化.Red18大型池大型池是在SGA内一种可选择的存贮区域,只配置在共享服务器环境中.能减轻在共享池的负担.用在UGA、备份和恢复等操作中.不使用LRU列表算法.大小由LARGE_POOL_SIZE决定.ALTERSYSTEMSETLARGE_POOL_SIZE=64M;大型池大型池是在SGA内一种可选择的存贮区域,只配置在共享服19Java区Java区是为了解开Java命令:如果安装并使用Java是必需的.在数据库表格中,它存贮的方式非常像PL/SQL.它的尺寸由JAVA_POOL_SIZE参数决定.Java区Java区是为了解开Java命令:20User

process程序全局区PGA是为每个用户进程连接Oracle数据库分配的区域StackspaceSessioninformationsortarea,cursorinformationSGASharedSQLareasSGASessioninformationPGADedicatedserverSharedserverServer

processSharedSQLareasStackspacesortarea,cursorinformationUser

process程序全局区PGA是为每个用户进程连接21进程结构Oracle进程是一种程序,依赖它要求信息的类型,执行一系列的步骤或者实施一项具体的任务.用户进程:当数据库用户要求连接到Oracle服务器时开始启动.服务器进程:连接Oracle实例,当用户建立一个会话时开始启动.后台进程:Oracle实例启动即可用.进程结构Oracle进程是一种程序,依赖它要求信息的类型,执22用户进程用户进程是要求Oracle服务器交互的一种进程:它必须首先建立一个连接.不直接和Oracle服务器交互.DatabaseuserServer

processUser

processConnectionestablished用户进程用户进程是要求Oracle服务器交互的一种进程:23服务进程 服务进程是直接和Oracle服务器交互的一段程序.它响应用户要求,向服务器发起呼叫并返回结果给用户.可用专用服务器模式,也可用共享服务器模式创建对话.ConnectionestablishedSessioncreatedDatabaseuserUser

processOracleserverServer

process服务进程 服务进程是直接和Oracle服务器交互的一24后台进程保持物理和内存结构的关系.必须的后台进程DBWn PMON CKPTLGWR SMON RECO可选择的后台进程ARCn LMON SnnnQMNn LMDn CJQ0 PnnnLCKn Dnnn后台进程保持物理和内存结构的关系.25InstanceSGADatabasebuffer

cacheDBWnControlfilesDatafilesRedologfiles数据库复写器DBWn开始写:检查点执行脏块上限数到达缓存区没有自由空间超时连接RAC要求表空间脱机表空间只读清空和删除表表空间开始备份DatabaseInstanceSGADatabaseDBWnControl26InstanceSGADBWnRedologbuffer日志复写器LGWR开始写:提交时三分之一缓冲区满的时候当有1MB日志的时候 每三秒在DBWn写之前ControlfilesDatafilesRedologfilesLGWRDatabaseInstanceSGADBWnRedolog日志复写器LG27InstanceSGASMON系统监控进程责任:实例恢复:回滚日志文件中的改变信息打开数据库,让用户进入回滚未提交的事务每三秒接合空闲空间回收临时段ControlfilesDatafilesRedologfilesInstanceSGASMONDatabaseInstanceSGASMON系统监控进程责任:Contro28InstanceSGAPMON进程监控器处理失败后进行清理:回滚事务释放锁释放其它资源重启死的dispatchsPGAareaInstanceSGAPMON进程监控器处理失败后进行清理:29InstanceSGADWW0RedoLogBufferLGWRInstanceSGADBWnLGWRCKPTControlfilesDatafilesRedologfiles检查点负责:给DBWn发信号修改数据文件块头修改控制文件信息InstanceSGADWW0RedoLogLGWRIns30归档进程(ARCn)

可选择的后台进程当ARCHIVELOG模式被设置时自动归档联机重做日志文件保存所有数据库变化ControlfilesDatafilesRedologfilesArchivedRedologfilesARCn归档进程(ARCn)

可选择的后台进程Controlfil31逻辑结构Oracle体系的逻辑结构描述了数据库的物理空间怎样运用,包括表空间、段、片区和块.TablespaceDatafileSegmentBlocksExtentSegment逻辑结构Oracle体系的逻辑结构描述了数据库的物理空间32RAC方式原理结构图RAC方式原理结构图33RAC方式优点良好的可伸缩性高可用性先进的CacheFusion技术降低硬件成本切换时间短缺点管理复杂对网络有较高要求

RAC方式优点34HOTSTANDBY(双机热备)方式原理结构图HOTSTANDBY35HOTSTANDBY(双机热备)方式优点管理较为简单运行较为稳定缺点切换时间较长在系统切换的过程中,客户端与服务器之间的数据库连接会中断,需重新连接备用机闲置,不能实现负载均衡HOTSTANDBY36总结通过这部分课程的学习,您应该已经了解:解释数据库文件:数据文件、控制文件、联机重做日志.解释系统全局区内存结构:数据块高速缓冲区、共享池、重做日志缓冲区.解释主要的后台进程:

DBWn,LGWR,CKPT,PMON,SMON,和ARCn双机模式:RAC/HOTSTANDBY总结通过这部分课程的学习,您应该已经了解:37管理表空间和数据文件管理表空间和数据文件38目标通过这部分课程的学习,您将了解以下内容:数据库的逻辑结构创建表空间改变表空间的大小为临时段分配空间改变表空间的状态改变表空间的存储参数设置目标通过这部分课程的学习,您将了解以下内容:39概观ControlfilesDatafilesRedologfilesDatabase概观ControlDataRedologDataba40Database逻辑上物理上TablespaceDatafileOSblockOracle

blockSegmentExtent数据库的存储层次Database逻辑上物理上TablespaceDataf41系统和非系统表空间系统表空间:随着数据库创建被创建包含数据字典信息包含系统回滚段非系统表空间:不同的segments分开存放(如:回滚段,临时段,应用数据)控制分配给用户对象的空间容量系统和非系统表空间系统表空间:42表空间的管理本地管理的表空间:自由扩展信息被记录在本身的位图中位图中的每一位都对应一个数据块或一组数据块位图中的标志位显示数据块使用或未使用状态信息字典管理的表空间:缺省的表空间管理方式自由扩展信息被记录在数据字典中表空间的管理本地管理的表空间:43本地管理的表空间简化了数据字典中的内容空间分配和回收不产生回滚信息没有接合邻近extents的要求CREATETABLESPACEuserdataDATAFILE'/u01/oradata/userdata01.dbf'SIZE500MEXTENTMANAGEMENTLOCALUNIFORMSIZE256K;本地管理的表空间简化了数据字典中的内容CREATETABL44字典管理的表空间Extents在数据字典中管理每个存储在表空间的segments都可以有不同的存储参数设置有邻近接合extents的要求CREATETABLESPACEuserdataDATAFILE'/u01/oradata/userdata01.dbf'SIZE500MEXTENTMANAGEMENTDICTIONARY DEFAULTSTORAGE(initial1MNEXT1M);字典管理的表空间Extents在数据字典中管理CREATE45回滚段表空间用来存储回滚段信息不能包含其它对象Extents本地管理在创建时仅仅能使用DATAFILEandEXTENTMANAGEMENT条件CREATEUNDOTABLESPACEundo1DATAFILE'/u01/oradata/undo101.dbf'SIZE40M;回滚段表空间用来存储回滚段信息CREATEUNDOTAB46临时表空间用来做排序操作不能包含固定的对象最好使用本地表空间管理CREATETEMPORARYTABLESPACEtempTEMPFILE'/u01/oradata/temp01.dbf'SIZE500MEXTENTMANAGEMENTLOCALUNIFORMSIZE10M;临时表空间用来做排序操作CREATETEMPORARYT47缺省临时表空间的限制直到新的缺省表空间被使用时才能删除不能下线.不能将缺省的临时表空间修改成永久表空间缺省临时表空间的限制48删除表空间DROPTABLESPACEuserdataINCLUDINGCONTENTSANDDATAFILES;从数据字典中删除表空间信息通过ANDDATAFILES条件可在操作系统上删除表空间的数据文件:删除表空间DROPTABLESPACEuserdata49改变表空间的大小

增加数据文件改变数据文件大小:自动手动app_data_02.dbfapp_data_01.dbfapp_data_03.dbf100M100M200M100MTablespaceAPP_DATA改变表空间的大小

增加数据文件app_data_02.db50app_data_02.dbfapp_data_01.dbfapp_data_03.dbf100M100M200M200Mapp_data_04.dbf手动改变数据文件大小

ALTERDATABASE DATAFILE'/u03/oradata/userdata02.dbf'RESIZE200M;100MTablespaceAPP_DATAapp_data_02.dbfapp_data_01.dbf51TablespaceAPP_DATAapp_data_02.dbfapp_data_01.dbfapp_data_03.dbf100M100M200M100M在表空间中增加一个数据文件ALTERTABLESPACEapp_dataADDDATAFILE'/u01/oradata/userdata03.dbf'SIZE200M;TablespaceAPP_DATAapp_data_0252移动数据文件(修改表空间)表空间必须为下线状态。目标数据文件必须存在.ALTERTABLESPACEuserdataRENAMEDATAFILE '/u01/oradata/userdata01.dbf'TO '/u01/oradata/userdata01.dbf';移动数据文件(修改表空间)表空间必须为下线状态。ALTER53获取表空间信息表空间信息:DBA_TABLESPACESV$TABLESPACE数据文件信息:DBA_DATA_FILESV$DATAFILE临时文件信息:DBA_TEMP_FILESV$TEMPFILE获取表空间信息表空间信息:54总结通过这部分内容的学习,您应该已经了解:怎样使用表空间分开存放数据改变表空间大小:增加数据文件扩展数据文件使用本地管理表空间使用临时表空间总结通过这部分内容的学习,您应该已经了解:55练习练习包括以下几个主题:创建表空间修改表空间56练习练习包括以下几个主题:56管理重做日志文件管理重做日志文件57目标通过这部分课程的学习,您将了解以下内容:在线重做日志文件的作用在线重做日志文件的结构控制日志文件切换和检查点执行多路复用在线重做日志文件目标通过这部分课程的学习,您将了解以下内容:58使用重做日志文件重做日志文件记录数据所有的修改信息并提供一种介质失败时的恢复机制.重做日志文件分组管理.一个Oracle数据库要求至少有两组重做日志文件.组中每个日志文件被称作一个组成员.RedologfilesDatabase使用重做日志文件重做日志文件记录数据所有的修改信息59重做日志文件的结构Group2Group3Group1MemberDisk1Disk2MemberMemberMemberMemberMember重做日志文件的结构Group2Group3Group160重做日志文件怎样工作重做日志文件循环使用当一个重做日志文件充满时,LGWR将日志写入到下个重做日志组.这个被叫做日志切换检查点执行动作被触发相关信息写入控制文件重做日志文件怎样工作重做日志文件循环使用61强迫日志切换并执行检查点日志切换能使用命令ALTERSYSTEMSWITCHLOGFILE.检查点被迫使执行:设置FAST_START_MTTR_TARGET参数ALTERSYSTEMCHECKPOINT命令ALTERSYSTEMCHECKPOINT;强迫日志切换并执行检查点日志切换能使用命令ALTERSY62log2b.rdolog1b.rdo增加在线重做日志组Group1Group2Group3ALTERDATABASEADDLOGFILEGROUP3('$HOME/ORADATA/u01/log3a.rdo','$HOME/ORADATA/u02/log3b.rdo')SIZE1M;log3b.rdolog2a.rdolog3a.rdolog1a.rdolog2b.rdolog1b.rdo增加在线重做日志组Gro63增加在线重做日志组成员ALTERDATABASEADDLOGFILEMEMBER'$HOME/ORADATA/u04/log1c.rdo'TOGROUP1,'$HOME/ORADATA/u04/log2c.rdo'TOGROUP2,'$HOME/ORADATA/u04/log3c.rdo'TOGROUP3;log2c.rdolog2a.rdoGroup1log1c.rdolog1b.rdolog1a.rdoGroup2log2c.rdolog2b.rdolog2a.rdoGroup3log3c.rdolog3b.rdolog3a.rdo增加在线重做日志组成员ALTERDATABASEADD64log2a.rdolog1a.rdoGroup1Group2Group3log3a.rdo删除在线重做日志组ALTERDATABASEDROPLOGFILEGROUP3;log2a.rdolog1a.rdoGroup1Group65log1a.rdolog1a.rdo删除在线重做日志组成员ALTERDATABASEDROPLOGFILEMEMBER'$HOME/ORADATA/u04/log3c.rdo';log2c.rdolog1c.rdoGroup1Group2log1b.rdolog1b.rdolog1a.rdolog1a.rdo删除在线重做日志组成员A66清空,重新指定位置或更名在线重做日志文件

清空在线重做日志文件:重新指定位置、更名在线重做日志文件能通过增加新日志文件,删除旧日志文件代替.ALTERDATABASECLEARLOGFILE'$HOME/ORADATA/u01/log2a.rdo';清空,重新指定位置或更名在线重做日志文件

清空在线重做日67获取日志组及其成员信息通过查询下列数据字典获取日志组及其成员信息V$LOGV$LOGFILE获取日志组及其成员信息通过查询下列数据字典获取日志组及其成员68归档日志文件装满的在线重做日志文件能被归档.归档在线重做日志文件两种优势:恢复:一套一致的数据文件完整备份与在线重做日志文件、归档日志文件一起能保证所有已经提交的事务恢复到先前状态.备份:能在数据库打开的情况下进行.缺省数据库以非归档模式创建.归档日志文件装满的在线重做日志文件能被归档.69归档日志文件归档日志文件能通过ARCn或手工SQL归档得到.控制文件中记录有归档日志名称、日志序列号,在线日志文件成功归档时最高、最低的SCN.一个装满的在线日志文件需要在检查点发生、在线日志文件被ARCn归档完成以后才能重新使用,否则等待.归档日志文件能多路复用.归档日志文件归档日志文件能通过ARCn或手工SQL归档得到70总结通过这部分课程的学习,您应该已经了解:在线重做日志文件的作用怎样获取在线重做日志文件信息控制日志切换和检查点执行多路复用管理多个在线重做日志文件总结通过这部分课程的学习,您应该已经了解:71练习这部分练习包括以下主题:创建和增加重做日志文件组及其成员.删除重做日志文件组及其成员.练习这部分练习包括以下主题:72管理用户和权限管理用户和权限73目标通过这部分课程的学习,您将了解以下内容:创建新的数据库用户修改和删除存在的数据库用户监控已存在用户的信息识别系统和对象权限授予和回收权限目标通过这部分课程的学习,您将了解以下内容:74数据库模式SchemaObjectsTablesTriggersConstraintsIndexesViewsSequencesStoredprogramunitsSynonymsUser-defineddatatypesDatabaselinks模式是一种命名的对象集合一个用户被创建,对应的模式就被创建一个用户仅仅对应一个模式用户名其实就等同于模式名数据库模式SchemaObjects模式是一种命名的对象集75创建用户所涉及内容确定用户需要将对象存储在哪个表空间决定每个表空间中该用户的使用限额.指派缺省表空间和临时表空间.开始创建一个用户.赋予权限和角色给用户.创建用户所涉及内容确定用户需要将对象存储在哪个表空间76创建用户:数据库级鉴别

设定初始口令:CREATEUSERaaronIDENTIFIEDBYsoccerDEFAULTTABLESPACEdataTEMPORARYTABLESPACEtempQUOTA15mONdataPASSWORDEXPIRE;创建用户:数据库级鉴别

设定初始口令:CREATEUSE77删除用户使用CASCADE条件删除用户及其用户中包含的所有对象.当前正连接到Oracle服务器的用户不能被删除

DROPUSERaaron;DROPUSERaaronCASCADE;删除用户使用CASCADE条件删除用户及其用户中包含的所78获取用户相关信息获取用户相关信息能通过查询以下数据字典.DBA_USERSDBA_TS_QUOTAS获取用户相关信息获取用户相关信息能通过查询以下数据字典.79系统权限有100多种ANY关键字是指用户在任何模式下都具有GRANT命令由于授予权限REVOKE命令回收权限系统权限有100多种80系统权限举例Category Examples

INDEX

CREATEANYINDEX

ALTERANYINDEX

DROPANYINDEX TABLE CREATETABLE

CREATEANYTABLE

ALTERANYTABLE

DROPANYTABLE

SELECTANYTABLE

UPDATEANYTABLE

DELETEANYTABLESESSION CREATESESSION

ALTERSESSION

RESTRICTEDSESSIONTABLESPACE CREATETABLESPACE

ALTERTABLESPACE

DROPTABLESPACE

UNLIMITEDTABLESPACE系统权限举例Category Examples 81授予系统权限GRANTCREATESESSIONTOemi;GRANTCREATESESSIONTOemiWITHADMINOPTION;授予系统权限GRANTCREATESESSIONTO82回收系统权限REVOKECREATETABLEFROMemi;回收系统权限REVOKECREATETABLEFROM83授予对象权限GRANTEXECUTEONdbms_outputTOjeff;GRANTUPDATEONemi.customersTOjeffWITHGRANTOPTION;授予对象权限GRANTEXECUTEONdbms_ou84回收对象权限REVOKESELECTONemi.ordersFROMjeff;回收对象权限REVOKESELECTONemi.ord85获取权限信息查询数据字典DBA_SYS_PRIVSSESSION_PRIVSDBA_TAB_PRIVSDBA_COL_PRIVS获取权限信息查询数据字典86总结通过这部分课程的学习,您应该已经了解:创建用户时指定适当的口令机制控制用户对空间的使用控制系统和对象权限总结通过这部分课程的学习,您应该已经了解:87练习这部分练习包括以下主题:创建用户显示用户在数据字典中的相关信息移去用户表空间配额练习这部分练习包括以下主题:88问题和解答问题和解答89管理一个ORACLE实例管理一个ORACLE实例90目标通过这部分课程的学习,您将了解以下内容:创建和管理初始化参数文件启动和关闭实例监控和使用诊断文件目标通过这部分课程的学习,您将了解以下内容:91OracleInstanceSGARedolog

bufferDatabuffer

cacheSharedpoolDatadict.

cacheLibrarycacheDBW0SMONPMONCKPTLGWROthersspfiledb01.ora初始化参数文件

SQL>CONNECT/ASSYSDBASQL>STARTUPOracleInstanceSGARedolog

buf92初始化参数文件

访问实例的入口存在两种类型参数:显性的:在文件中有个入口隐性的:在文件中没有入口,但被指派了缺省的值在不同的环境下可使用不同的初始化文件优化单个数据库的执行.改变文件中参数设置并使其生效依赖使用的初始化参数文件类型;静态初始化参数文件PFILE

延续性初始化参数文件SPFILE初始化参数文件

访问实例的入口93PFILE

initSID.ora

PFILE是一个能被操作系统编辑器修改的文本文件.手动对该文件进行修改.下次数据库启动修改才能生效.它的缺省路径是$ORACLE_HOME/dbs.PFILE

initSID.oraPFILE是一个能被操94PFILE举例#InitializationParameterFile:initdb01.oradb_name=db01instance_name=db01control_files=(/u03/oradata/db01/control01db01.ctl,/u03/oradata/db01/control02db01.ctl)db_block_size=4096db_block_buffers=500shared_pool_size=31457280#30MSharedPooldb_files=1024max_dump_file_size=10240background_dump_dest=/u05/oracle9i/admin/db01/bdumpuser_dump_dest=/u05/oracle9i/admin/db01/udumpcore_dump_dest=/u05/oracle9i/admin/db01/cdumpundo_management=autoundo_tablespace=undtbs...PFILE举例#InitializationParam95SPFILE

spfileSID.ora是一个不用重启数据库而能将改变生效的二进制文件保存在ORACLE服务器端能通过ALTERSYSTEM命令直接对参数进行修改能指定改变临时在内存中生效还是从现在开始永久生效修改的值能被删除重置到实例缺省的值ALTERSYSTEMSETundo_tablespace='UNDO2';SPFILE

spfileSID.ora是一个不用重启数据库96创建SPFILESPFILE能使用命令CREATESPFILE命令从initSID.ora中创建,并且在数据库开启前或开启后都能执行CREATESPFILEFROMPFILE;97创建SPFILESPFILE能使用命令CREATESPFSPFILE举例*.background_dump_dest='$ORACLE_HOME/admin/db01/bdump'*.compatible='9.0.0'*.control_files='/u03/oradata/db01/ctrl01db01.ctl','/u03/oradata/db01/ctrl02db01.ctl'*.core_dump_dest='$ORACLE_HOME/admin/db01/cdump'*.db_block_buffers=500*.db_block_size=4096*.db_files=40*.db_name='db01'*.instance_name='db01'*.remote_login_passwordfile='exclusive'*.shared_pool_size=31457280#30MSharedPool*.undo_management='AUTO'db01.undo_tablespace='UNDOTBS01'db02.undo_tablespace='UNDOTBS02'...SPFILE举例*.background_dump_des98启动一个数据库

NOMOUNTOPENMOUNTNOMOUNTSHUTDOWN实例启动STARTUPSHUTDOWN启动一个数据库

NOMOUNTOPENMOUNTNOMOUN99启动一个数据库

MOUNTOPENMOUNTNOMOUNTSHUTDOWN控制文件打开实例启动STARTUPSHUTDOWN启动一个数据库

MOUNTOPENMOUNTNOMOUNTS100启动一个数据库

OPENOPENMOUNTNOMOUNTSHUTDOWN实例中控制文件描述的所有文件被打开控制文件打开实例启动STARTUPSHUTDOWN启动一个数据库

OPENOPENMOUNTNOMOUNTSH101STARTUP命令STARTUP启动实例并打开数据库:STARTUPPFILE=$ORACLE_HOME/dbs/initdb01.oraSTARTUP命令STARTUP启动实例并打开数据库:ST102TheALTERDATABASECommand改变数据库的状态(UNMOUNTTOMOUNT):ALTERDATABASEdb01MOUNT;打开数据库:ALTERDATABASEdb01OPEN;TheALTERDATABASECommand改变数据103关闭数据库关闭模式:NORMALTRANSACTIONALIMMEDIATEABORTAxxxxTxxooIxxxo关闭模式允许新的接入等待直到当前的会话都结束等待直到当前的事务都结束强制执行checkpoint并关闭所有文件NxoooYESNOxo关闭数据库关闭模式:ATI关闭模式NYESNOx104关闭对象DuringaShutdownNormal,ShutdownTransactionalorShutdownImmediate一致性的数据库(干净的数据库)这种方式关闭:数据块高速缓冲区内容写入数据文件未提交的事务回滚释放资源这之后重新启动数据库:不用做实例恢复关闭对象Duringa一致性的数据库这种方式关闭:这之后重105关闭对象DuringaShutdownAbortorInstanceFailureorStartupForce不一致的数据库(脏数据库)这样关闭:已经修改的数据块缓冲区的内容不写入数据文件未提交的事务不被回滚这之后重新启动数据库:改变的信息将被重新写入重做日志文件必须使用回滚段来回滚未提交的改变释放资源关闭对象Duringa不一致的数据库这样关闭:这之后重新启106通过检查诊断文件来管理实例诊断文件包含实例运行过程中所遇到的重要的事件信息.作为日常管理数据库的基础,能为解决问题提供帮助.存在以下几种诊断文件:警告日志文件(alertSID.log)后台跟踪文件用户跟踪文件通过检查诊断文件来管理实例诊断文件包含实例运行过程中所遇到的107警告日志文件警告日志文件记录了数据库运行中的一些操作命令和主要事件结果.它被用来诊断日常数据库运行错误信息.每条都对应有时间戳信息.它所在路径定义在初始化参数BACKGROUND_DUMP_DEST中.警告日志文件警告日志文件记录了数据库运行中的一些操作命令和108后台跟踪文件后台跟踪文件记录有被后台进程检测到的错误信息.当后台进程遇到错误时才被创建它所在路径定义在初始化参数BACKGROUND_DUMP_DEST中后台跟踪文件后台跟踪文件记录有被后台进程检测到的错误信息.109用户跟踪文件用户跟踪文件当用户进程通过服务器进程连接到Oracle服务器时产生。一个用户跟踪文件包含跟踪到的SQL执行语句或用户通讯错误信息.当用户会话过程中遇到错误信息时产生.它的路径定义在USER_DUMP_DEST中.它的大小定义在MAX_DUMP_FILE_SIZE中,缺省为10M.用户跟踪文件用户跟踪文件当用户进程通过服务器进程连110打开或关闭用户跟踪

用户跟踪文件能在会话或实例级别使用下列命令、参数打开或关闭:会话级别使用ALTERSESSION命令:ALTERSESSIONSETSQL_TRACE=TRUE会话级别也可以通过执行DBMS包:dbms_system.SET_SQL_TRACE_IN_SESSION实例级别可通过设置初始化文件中的参数: SQL_TRACE=TRUE打开或关闭用户跟踪

用户跟踪文件能在会话或实例级别使用下列111总结通过这部分内容的学习,您应该了解:创建和管理初始化参数文件启动和关闭实例、数据库监控和使用诊断文件总结通过这部分内容的学习,您应该了解:112总结练习练习包括以下主题:创建SPFILE文件通过不同的方式启动和关闭数据库113总结练习练习包括以下主题:113SQL*Plus使用介绍SQL*Plus使用介绍114目标通过这部分课程的学习,您将了解以下内容:登录到SQL*Plus环境编辑SQL命令SQL*Plus命令格式化并输出结果结合脚本文件执行目标通过这部分课程的学习,您将了解以下内容:115登录到SQL*Plus.描述表的结构.编辑SQL语句.在SQL*Plus中执行SQL.保存或插入SQL语句到文件SQL*Plus主要内容登录到SQL*Plus.SQL*Plus主要内容116登录到SQL*Plus从Windows环境:

通过命令行:sqlplus[username[/password

[@database]]]登录到SQL*Plus从Windows环境:117NameNull?Type-------------------------------------------DEPARTMENT_IDNOTNULLNUMBER(4)DEPARTMENT_NAMENOTNULLVARCHAR2(30)MANAGER_IDNUMBER(6)LOCATION_IDNUMBER(4)显示表的结构内容SQL>DESCRIBEdepartmentsNameNull?118SQL*Plus编辑命令A[PPEND]text C[HANGE]/old/new C[HANGE]/text/CL[EAR]BUFF[ER] DEL DELn

DELmnSQL*Plus编辑命令A[PPEND]text 119SQL*Plus编辑命令I[NPUT]I[NPUT]textL[IST]L[IST]nL[IST]mnR[UN]nntext0textSQL*Plus编辑命令I[NPUT]120

1SELECTlast_name2*FROMemployeesSQL>LIST1*SELECTlast_nameSQL>A,job_id1*SELECTlast_name,job_id1SELECTlast_name,job_id2*FROMemployees使用LIST,n,andAPPENDSQL>1SQL>L1SELECTlast_nameSQL>121

1*SELECT*fromemployeesSQL>L

1*SELECT*fromdepartmentsSQL>c/employees/departments

1*SELECT*fromdepartments使用CHANGE命令SQL>L1*SELECT*fromemploy122SQL*Plus文件命令SAVEfilenameGETfilenameSTARTfilename@filenameEDITfilenameSPOOLfilenameEXITSQL*Plus文件命令SAVEfilename123Createdfilemy_querySQL>STARTmy_querySQL>L1SELECTlast_name,manager_id,department_id2*FROMemployeesSQL>SAVEmy_query使用SAVE和START命令LAST_NAMEMANAGER_IDDEPARTMENT_ID------------------------------------------------King90Kochhar10090...20rowsselected.Createdfilemy_querySQL>STAR124小结SQL*Plus环境下:执行SQL语句编辑SQL语句格式化输出与脚本文件交互小结SQL*Plus环境下:125逻辑备份恢复简介逻辑备份恢复简介126目标逻辑备份的概念Oracle数据库逻辑备份使用工具Oracle数据库逻辑备份形式目标逻辑备份的概念127用途物理备份的补充不同版本数据库的迁移不同平台数据库的迁移用途物理备份的补充128与物理备份的比较占用较小的空间更为灵活,有四种方式需要确认字符集与物理备份的比较占用较小的空间129备份工具备份工具EXPORT(使用命令EXP)恢复工具IMPORT(使用命令IMP)备份工具备份工具130备份形式全库备份按用户备份按表备份表空间备份备份形式全库备份131OracleExport和Import工具作用归档历史数据存储表的定义在不同平台及版本间转换数据在不同数据库间移植表空间OracleExport和Import工具作用归档历132运行EXPORT工具的方法以交互式对话的方式命令行参数文件通过OEM启动运行EXPORT工具的方法以交互式对话的方式133全数据库模式TablesdefinitionsTablesdataGrantsIndexesTablesconstraintsExport模式表模式TabledefinitionsTabledata(allorselectedrows)Owner’stablegrantsOwner’stableindexesTableconstraints用户模式TablesdefinitionsTablesdataOwner’sgrants

Owner’sindexesTablesconstraints表空间模式TabledefinitionsGrantsIndexesTableconstraintsTriggers全数据库模式Export模式表模式用户模式表空间模式134Export命令语法举例exphr/hrTABLES=(employees,departments)rows=y file=exp1.dmpexpkeyword=(value,value2,…,valuen)expsystem/managerOWNER=hrdirect=y

file=expdat.dmpexpsystem/managerFULL=yinctype=cumulativefile=expcum1.dmpexpsystem/managerTRANSPORT_TABLESPACE=yTABLESPACES=(ts_emp)log=ts_emp.logExport命令语法举例exphr/hrTABLES=135使用Import工具恢复获取建表定义从一个有效的输出文件中获取数据如有用户错误,可以从相应文件中恢复使用Import工具恢复获取建表定义136Import模式模式 描述Table 获取指定的表.User 获取一个用户的所有对象Tablespace 获取一个表空间的所有对象FullDatabase 获取输出文件的所有对象Import模式模式 描述137Import工具的命令行语法举例imphr/hrTABLES=(employees,departments)rows=yfile=exp1.dmpimpkeyword=valueorkeyword=(value,value2,…valuen)impsystem/managerFROMUSER=hrfile=exp2.dmpimpsystem/managerTRANSPORT_TABLESPACE=yTABLESPACES=ts_employeesImport工具的命令行语法举例imphr/hrTAB138Import处理顺序新表产生导入数据建立索引导入触发器导入一致性约束导入其余形式的索引Import处理顺序新表产生139国际化语言支持Export文件定义字符集Import工具把原字符集转化为本数据库的字符集多字节的字符集必须对应相同特征的字符集国际化语言支持Export文件定义字符集140总结和练习Export和Import工具的使用Export和Import工具概念和结构执行Export和Import操作使用Export和Import的一些原则总结和练习Export和Import工具的使用141数据库的日常检查数据库的日常检查142数据库的日常检查检查数据库状态确认数据库是否在open状态,正常提供服务。oracle%sqlplus"/assysdba"SQL>selectstatus,instance_rolefromv$instance;STATUSINSTANCE_ROLE------------------------------OPENPRIMARY_INSTANCE数据库的日常检查检查数据库状态143数据库的日常检查数据库版本检查数据库应该打了最新的patchset;8i要求是;9i要求是或者更高的补丁版本。SQL>select*fromv$version;数据库的日常检查数据库版本检查144查看SGA区域SGA区各项buffer之和应该小于系统物理内存的一半检查数据库SGA区:SQL>showsga检查系统物理内存:Solaris:$/usr/sbin/prtconf|grep-i"Memorysize"HP:$grepPhysical/var/adm/syslog/syslog.logAIX:$/usr/sbin/lsattr-E-lsys0-arealmem数据库的日常检查查看SGA区域数据库的日常检查145回滚段竞争检查8i:返回值应该低于2%。如果该值过高,8i需要手工建立更多的回滚段。SQL>select'Theaverageofwaits/getsis'||round((sum(waits)/sum(gets))*100,2)||'%'Fromv$rollstat;9i:Nospace值应该为0。如果持续存在非零值,建议增加回滚表空间的大SQL>selectdistinctnospaceerrcntasnospaceFromv$undostatWherebegin_time>sysdate-(1/12);数据库的日常检查回滚段竞争检查数据库的日常检查146查看日志文件数据库运行时,可以通过查询v$log_history来观察logswitch的切换时间。推荐联机日志最好是业务非高峰期每小时切换一次,业务高峰期20分钟左右切换一次。SQL>selectto_char(first_time,'yyyy-mm-ddhh24:mi:ss')change_timefromv$log_history;CHANGE_TIME-------------------2004-04-0610:02:522004-04-0610:10:452004-04-0610:17:01数据库的日常检查查看日志文件数据库的日常检查147查看表空间查看各个表空间所占的大小,剩余空间,使用空间百分比等信息特别是当业务表空间的剩余空间低于50M或者使用空间百分比大于90%时,需要考虑增加表空间的大小。SQL>selecta.tablespace_name,a.bytestotalbytes,sum(b.bytes)freebytesfromdba_data_filesa,dba_free_spacebwherea.file_id=b.file_idgroupbya.tablespace_name,a.bytes;TABLESPACE_NAMETOTALBYTESFREEBYTES-----------------------------------------CWMLITE2097152011141120数据库的日常检查查看表空间数据库的日常检查148检查job状态Broken列应该为N;如果Broken列为Y,检查oracle告警日志,分析job失败的原因。解决后运行:execdbms_job.run(:job);SQL>selectjob,what,to_char(next_date,’yyyy/mm/ddhh24:mi:ss’),broken,failuresfromdba_jobs;数据库的日常检查检查job状态数据库的日常检查149查看数据库连接用户查看当前数据库连接的用户进程的具体信息,包括连接的数据库用户名,机器名,运行的程序名,进程状态。selectusername,machine,program,statusfromv$sessionwhereosuser<>'oracle';USERNAMEMACHINEPROGRAMSTATUS---------------------------------------------------------------CORPRINGCHINA\MENGWEIINACTIVESYSTEMCHINA\H36922dbsnmp.exeINACTIVE数据库的日常检查查看数据库连接用户数据库的日常检查150Network配置

Network配置

151目标监听管理本地服务名配置处理简单的连接问题数据库故障紧急处理目标监听管理152监听进程listener.oraListener客户端服务端tnsnames.orasqlnet.ora监听进程listener.oraListener客户端服务端153配置listener.ora文件listener.ora的缺省配置:Listenername LISTENERPort 1521Protocols TCP/IPandIPCSIDname 缺省实例Hostname 缺省主机名配置listener.ora文件listener.ora154listener.ora例子1. LISTENER=2. (ADDRESS_LIST=3. (ADDRESS=(PROTOCOL=TCP)(Host=stc-sun02)(Port=1521)) )4. SID_LIST_LISTENER=5.(SID_LIST=6. (SID_DESC=7.(ORACLE_HOME=/home/oracle)(GLOBAL_DBNAME=ORCL.)9. (SID_NAME=ORCL) )10. ...sampleadditionalSIDdescription... )listener.ora例子155监听工具(LSNRCTL)工具可通过下面命令使用UNIX命令语法:提示符:管理非缺省的监听$lsnrctl<commandname>LSNRCTL><commandname>LSNRCTL>setcurrent_listenerlistener02监听工具(LSNRCTL)工具可通过下面命令使用$lsn156监听程序的管理查看监听程序的状态:%lsnrctlstatus从其他集群节点上测试监听程序:%tnspingtns_alias启动监听程序进程:%lsnrctlstart关闭监听程序进程:%lsnrctlstop如果数据库配置文件listener.ora中配置的监听名称不是缺省的LISTENER时,启动、关闭监听必须带上监听名称,例如:lsnrctlstartlistener_rac1监听程序的管理查看监听程序的状态:157配置本地网络服务名配置本地网络服务名158服务名添加服务名添加159指定oracle版本指定oracle版本160输入数据库服务名输入数据库服务名161网络协议网络协议162主机名和Listener端口主机名和Listener端口163测试和连接测试和连接164连接测试结果连接测试结果165自己命名网络服务名自己命名网络服务名166保存保存167tnsnames.ora#TNSNAMES.ORANetworkConfigurationFile:/u03/ora9i/rel12/network/admin/tnsnames.ora#GeneratedbyOracleconfigurationtools.MY_SERVICE.US.ORACLE.COM=(DESCRIPTION=(ADDRESS_LIST=

(ADDRESS=(PROTOCOL=TCP)(HOST=)(PORT=1521)))(CONNECT_DATA=

(SERVICE_NAME=TEST.)))tnsnames.ora#TNSNAMES.ORANet168sqlnet.ora#SQLNET.ORANetworkConfigurationFile:/u03/ora9i/rel12/network/admin/sqlnet.ora#GeneratedbyOracleconfigurationtools.NAMES.DEFAULT_DOMAIN=NAMES.DIRECTORY_PATH=(TNSNAMES,HOSTNAME)SQLNET.EXPIRE_TIME=0sqlplussystem/manager@MY_SERVICESQL*Plus:Release.0-BetaonTueFeb2710:11:002001(c)Copyright2000OracleCorporation.Allrightsreserved.Connectedto:Oracle9iEnterpriseEditionRelease.0-BetaJServerRelease.0-BetaSQL>sqlnet.ora#SQLNET.ORANetwork169客户端常见问题处理ORA-12154“TNS:couldnotresolveservicename”ORA-12198“TNS:couldnotfindpathtodestination”ORA-12203“TNS:unabletoconnecttodestination”ORA-12533“TNS:illegalADDRESSparameters”ORA-12541“TNS:nolistener”常见错误:客户端常见问题处理ORA-12154“TNS:could170数据库故障紧急处理

数据库故障紧急处理171数据库故障紧急处理错误信息查看工具oerroracle提供了一个实用程序oerr,利用它可以得到oracle错误信息的说明。UNIX平台下可以使用oerr工具快速获得oracle错误信息的详细描述。oerr工具的具体语法为:oerr错误类型错误代码例如:查询ORA-2336,键入"oerrora2236"数据库故障紧急处理错误信息查看工具oerr172数据库故障紧急处理Oracle常见错误ORA-1652到ORA-1655ORA-165X错误信息是指表空间没有足够的空间可分配,包括ora-1652、ora-1653、ora-1654和ora-1655。ORA-01555(snapshottooold)9i引入了undotablespace,只要把undotablespace设的足够大,并把undo_retention设的足够大(大于完成大事务所需的时间),就有可能彻底解决ORA-1555错(但太大会引起系统性能下降)数据库故障紧急处理Oracle常见错误173数据库故障紧急处理Oracle常见错误ORA-04031如果shared_pool_size参数值已经很大(大于350M),那ORA-4031错发生的原因很可能是因为oracle数据库的BUG或是应用程序未能很好的使用绑定变量(bindvariable)。清空当前的shared_pool,可以暂时解决ora-4031错的问题ORA-600内部错误第一个参数提供了实际错误信息(例如1579代表块中断错误),而其他参数提供相关其他信息(例如上述块中断错误中,显示Oracle想要读的块号和实际读的块号)ORA-600错误会导致系统生成一个或多个跟踪文件数据库故障紧急处理Oracle常见错误174数据库故障紧急处理业务恢复处理RAC数据库出现故障时,要迅速查看数据库告警日志文件,确认出现问题的原因,影响的范围,故障的现象。比如:数据库故障是出现一次还是反复出现数据库故障是否能够比较

温馨提示

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

评论

0/150

提交评论