Oracle数据库基础教程_第1页
Oracle数据库基础教程_第2页
Oracle数据库基础教程_第3页
Oracle数据库基础教程_第4页
Oracle数据库基础教程_第5页
已阅读5页,还剩140页未读 继续免费阅读

下载本文档

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

文档简介

1Oracle数据库基础教程5/9/2024介绍要点ORACLE公司及其数据库产品数据库体系结构技术综述数据库管理数据库性能调整9i产品新特性常见问题Q&A2Oracle数据库基础教程5/9/2024Oracle公司及其产品3Oracle数据库基础教程5/9/2024Oracle公司Oracle是全球领先的信息管理软件供应商和全球第二大独立软件公司。年收入达110亿美元,在全世界145个国家为客户提供数据库系统、工具、应用产品以及相关的咨询、培训和支持服务,拥有42,700名员工。Oracle是第一家可开发和交付100%的基于互联网的数据库、企业业务应用、应用开发和决策支持工具等企业级软件的软件公司;4Oracle数据库基础教程5/9/2024Oracle中国公司1989年正式进入中国市场是第一家进入中国的世界软件巨头1991年在北京建立独资公司目前在上海、广州、成都设有办事处在电信、金融保险、政府、部队等行业拥有广泛的用户群5Oracle数据库基础教程5/9/2024Oracle主要数据库产品数据服务器产品(RDBMS)应用服务器产品(iAS)开发工具产品

Designer/Develop/programer/Jdeveloper决策支持产品(Express/Discover)应用软件(人事、财务、制造业等)其他产品(Video/Mail/Message/OEM)6Oracle数据库基础教程5/9/2024OracleInternetPlatformToolsEnterpriseManagerApplicationsOracle8iOracleInternetApplicationServer7Oracle数据库基础教程5/9/2024RDBMS产品8Oracle数据库基础教程5/9/2024可选件StandardManagementPackJserverInterMedia内含选项Options64BitVLMBasicReplicationDistributedOptionStarQueriesNet8ObjectODBCDriverEnterpriseManagerNLSSupportExternalProceduresPL/SQLStoredProceduresOracle标准版数据库--中小企业的最佳选择

数据库服务器产品-Oracle8i89Oracle数据库基础教程5/9/2024Oracle8i企业版的功能特性数据库的可选件PartitionOptionParallelServerOptionAdvancedSecuritySpatialVisualInformationRetrievalWebDB10Oracle数据库基础教程5/9/2024个人用户开发人员的最佳选择

Oracle8iPersonalEdition定位于个人用户及开发人员运行于Desktop平台Windows95/98/NT等可伸缩性与Oracle8i完全兼容与Oracle8i进行数据复制应用可平滑移植支持远程连接便于安装、管理11Oracle数据库基础教程5/9/2024

OracleLiteDBMS:

Internet计算的移动数据库

50-750KbyteDBMS

支持PDA(WinCE,Palm,etc)DBA-free,自我性能调整轻量

全面面向对象数据库支持全面Java支持

Web-enabled强大

双向同步复制支持无线应用全面方案的组成Enterprise-ready12Oracle数据库基础教程5/9/2024PartitioningOption

表和索引都可分区

适用于大型OLTP和数据仓库系统

分区对应用透明

ordertablemay97jan97feb97mar97apr97Add13Oracle数据库基础教程5/9/2024ParallelServerOptionNoSinglePointofFailure提高系统的可用性和伸缩性14Oracle数据库基础教程5/9/2024ORACLE其他产品15Oracle数据库基础教程5/9/2024Oracle9iAS(iAS1.0.2)Oracle企业级管理平台,高级安全服务,Internet目录管理(OID,LDAP)ReportsOracleHTTPServer通信服务表示服务商业逻辑服务数据管理服务系统服务XML/XSLPL/SQLDiscoverer

PERLCORBAOracleDataCacheJavaStoredProceduresServlets/JSPsEJBsBC4JPortalOracleWirelessServicesWeb加速访问服务OracleWebCachePL/SQLFormsnon-OracleDB16Oracle数据库基础教程5/9/2024建立Web应用Oracle9i

ApplicationServer开发采用Java,PERL,PL/SQL,OracleFormsIBM和BEA只侧重点在Java,MSNT只有VBOracle提供最好的Java集成FormsOracleDatabaseLOBXMLinterMediaFilesTablesInternet外部用户Intranet内部用户PL/SQLXML/XSLPerlScriptingServlet/JSPCORBAEJB/BC4J17Oracle数据库基础教程5/9/2024与企业后端系统的有效连接INSERTTriggerMessagePayloadOracleXDKSuppliersNon-OracleQEnterpriseAppNon-OracleDBOracle9i

ASPortalOracleGatewaysMessaging9iAS可以连接任何的企业后端系统任何企业应用,任何主机平台,任何非Oracle数据库IBM只连接他的DB/2数据库和自己的主机Microsoft只连接SQL-Server和Oracle18Oracle数据库基础教程5/9/2024加速访问能力-应用缓存WebCachingOracle9i

ASOracle9i

ASOracle9i

AS每个公司都希望自己的每一个站点运行都很快WebCache提供的应用页面缓存技术比传统方式的访问至少快了3倍支持更多的用户,更快的访问,并使用更少的web服务器缓存静态和动态页面具有峰值保护和负载均衡能力,保证高可靠性OracleDatabaseLOBXMLinterMediaFilesTablesWebCache(pre-cachedpages)19Oracle数据库基础教程5/9/2024Oracle应用开发工具

-灵活多样的选择模型驱动开发高级语言

编程Java

编程Portal开发OracleDesignerOracleDeveloperProgrammerJDeveloperOraclePortal(WebDB)20Oracle数据库基础教程5/9/2024Oracle应用系统软件业务FY’2000E-BusinessSuite(EB/SCM/ERP/CRM)许可证营业额达33亿美元是北美制造业第一大ERP公司全球8000+位客戶,其中中国有200+位支持99个国家,29种語言1997年通过中国财政部门评审世界专业媒体评选ManagingAutomation-ERPProductoftheYearIntelligentEnterprise-Readers’ChoiceInformationWeek-nightRidder#1ITCompany21Oracle数据库基础教程5/9/2024Oracle关系数据库

体系构架22Oracle数据库基础教程5/9/2024DatabaseOracle构架InstanceSGARedolog

bufferDatabuffer

cacheSharedpoolDatadict.

cacheLibrarycache

PMON

DBW0SMON

LGWRCKPTOthersUser

processServer

processPGAControl

filesDatafilesRedolog

filesArchivedlogfilesParameterfilePasswordfile23Oracle数据库基础教程5/9/2024Oracle数据库文件Password

fileParameter

fileArchived

logfilesControl

filesDatafilesRedolog

filesDatabase24Oracle数据库基础教程5/9/2024其他关键物理结构DatabasePassword

fileParameter

fileArchived

logfiles25Oracle数据库基础教程5/9/2024Oracle实例后台进程Oracle实例:是访问Oracle数据库的途径通常是一个数据库对应一个实例内存结构InstanceSGARedolog

bufferDatabuffer

cacheSharedpool

PMON

DBW0SMON

LGWRCKPTOthers26Oracle数据库基础教程5/9/2024执行SQL语句连接到一个实例的方法:通过用户进程直接连接通过应用服务器进程连接Oracle服务进程类型和数量与要执行的SQL语句有关执行结果返回的行数DML语句日志的变化大小是否保证事务是可恢复的一些Oracle服务进程不会参与SQL语句的处理27Oracle数据库基础教程5/9/2024连接Oracle实例ServerUserClientUserServerOracleserverServerUserServerApplicationserverBrowser28Oracle数据库基础教程5/9/2024执行查询分析:搜寻同样的SQL语句检查语法是否正确、对象名称是否存在以及是否有权限访问锁住在分析阶段使用的对象生成和存储执行计划执行:确定选择的行提取:把数据行返回给用户进程29Oracle数据库基础教程5/9/2024共享池库缓存区(librarycache)存储SQL语句、分析代码和执行计划字典缓存区(datadictionarycache)存储表、列和其他对象的定义和权限大小由SHARED_POOL_SIZE参数确定SharedpoolData

dictionary

cacheLibrary

cache30Oracle数据库基础教程5/9/2024数据块缓存区存储最近被使用到的数据块每个缓存区大小由DB_BLOCK_SIZE参数确定缓存区数量由DB_BLOCK_BUFFERS参数确定Databuffer

cache31Oracle数据库基础教程5/9/2024程序全局区不共享只有服务进程可以写入包含:排序区会话信息游标状态堆栈空间Server

processPGA32Oracle数据库基础教程5/9/2024重做日志缓存区大小由LOG_BUFFER参数确定记录实例对数据进行的修改用于前滚操作循环使用Redologbuffer33Oracle数据库基础教程5/9/2024回滚段DML语句旧的数据镜像新的数据镜像回滚段数据表34Oracle数据库基础教程5/9/2024DatabaseInstance

LGWRSGARedolog

bufferDatabuffer

cacheSharedpool提交(COMMIT)1234User

processServer

processControl

filesDatafilesRedolog

files35Oracle数据库基础教程5/9/2024日志写入进程(LGWR)LGWR写发生在:Commit命令当有1/3重做缓存区写满日志时当有1M的重做内容在DBW0写入数据文件前DatabaseInstanceLGWRSGARedolog

bufferDatabuffer

cacheSharedpoolControl

filesDatafilesRedolog

files36Oracle数据库基础教程5/9/2024其他实例进程:其他必要的进程:数据库写入进程(DBW0)进程监控进程(PMON)系统监控进程(SMON)检查点进程(CKPT)归档进程(ARC0)在成品数据库中经常出现37Oracle数据库基础教程5/9/2024DatabaseControl

filesDatafilesRedolog

files数据库写入进程(DBW0)DBW0写发生在:有太多的修改数据缓存空的数据缓存太少检测点出现InstanceSGARedolog

bufferDatabuffer

cacheSharedpoolDBW038Oracle数据库基础教程5/9/2024SMON:系统监控进程自动进行实例恢复前滚记录在重做日志的数据修改打开数据库供用户使用回滚未提交的事务合并自由空间回收临时段39Oracle数据库基础教程5/9/2024PMON:进程监控进程清除失败的用户进程:回滚事务释放锁资源释放其他资源40Oracle数据库基础教程5/9/2024归档数据库归档模式当发生磁盘失效时不需要做恢复操作的数据库使用非归档模式成品数据库使用归档模式ARC0进程自动归档联机重做日志保存所有对数据库做的修改41Oracle数据库基础教程5/9/2024DatabaseLogicalPhysicalTablespaceDatafileOSblockOracle

blockSegmentExtentOracle存储结构42Oracle数据库基础教程5/9/2024各种类型的段(一)表簇表分区索引索引组织表回滚段43Oracle数据库基础教程5/9/2024各种类型的段(二)LOB索引LOB段Bootstrap

segment嵌套表段索引分区临时段44Oracle数据库基础教程5/9/2024存储子句优先级OracledefaultTablespaceSegment45Oracle数据库基础教程5/9/2024盘区的分配与释放当段在如下情况时分配盘区:创建扩展修改当段在如下情况时释放盘区:删除修改截断自动分配大小(只有回滚段)46Oracle数据库基础教程5/9/2024使用和空闲的盘区数据文件空闲盘区已使用的盘区文件头47Oracle数据库基础教程5/9/2024数据库块I/O的最小单元有一块或多块OS块组成由DB_BLOCK_SIZE参数设定在数据库创建时设定48Oracle数据库基础教程5/9/2024数据库块组成HeaderFreespaceData49Oracle数据库基础教程5/9/2024块空间利用情况参数INITRANSMAXTRANSPCTFREEPCTUSED50Oracle数据库基础教程5/9/2024块空间的使用InsertsInsertsInsertsInserts1234PCTFREE=20 PCTUSED=4080%80%40%51Oracle数据库基础教程5/9/2024数据字典视图TablespacesDBA_TABLESPACESSegmentsDBA_SEGMENTSDatafilesDBA_DATA_FILESFreeextentsDBA_FREE_SPACEUsedextentsDBA_EXTENTS52Oracle数据库基础教程5/9/2024查询DBA_SEGMENTS常用信息OWNERSEGMENT_NAMESEGMENT_TYPETABLESPACE_NAME大小EXTENTSBLOCKSBYTES存储字句设定INITIAL_EXTENTNEXT_EXTENTMIN_EXTENTSMAX_EXTENTSPCT_INCREASE其他信息LocationTuning53Oracle数据库基础教程5/9/2024查询DBA_EXTENTS鉴别OWNERSEGMENT_NAMEEXTENT_ID大小BLOCKSBYTES位置TABLESPACE_NAMERELATIVE_FNOFILE_IDBLOCK_ID54Oracle数据库基础教程5/9/2024查询DBA_FREE_SPACE位置TABLESPACE_NAMERELATIVE_FNOFILE_IDBLOCK_ID大小BYTESBLOCKS55Oracle数据库基础教程5/9/2024各种表空间的碎片TablespaceSYSTEMTOOLSDATAnINDEXnRBSnTEMPnFragmentationZeroVerylowLowLowHighVeryhigh*UsageDatadictionaryApplicationsDatasegmentsIndexsegmentsRollbacksegmentsTemporarysegments*是永久(PERMANENT)表空间56Oracle数据库基础教程5/9/2024数据库管理57Oracle数据库基础教程5/9/2024OPENMOUNTNOMOUNTSHUTDOWN打开在控制文件中描叙的所有文件打开控制文件启动实例启动和关闭数据库启动数据库关闭数据库58Oracle数据库基础教程5/9/2024启动数据库命令STARTUPnomountPFILE=/DISK1/initU15.ora;启动数据库把数据库从nomount状态改变到mount状态ALTERDATABASEdatabaseMOUNT;把数据库打开到只读状态ALTERDATABASEdatabaseOPENREADONLY;59Oracle数据库基础教程5/9/2024以只读方式打开数据库任何数据库都可以以只读方式打开以只读方式打开的数据库可以:执行查询使用本地管理表空间进行磁盘排序操作可以使表空间的数据文件online或offline可以对offline的数据文件和表空间进行恢复操作60Oracle数据库基础教程5/9/2024AxxxxTxxooIxxxoShutdownModeAllownewconnectionsWaituntilcurrentsessionsendWaituntilcurrenttransactionsendForceacheckpointandclosefilesNxoooShutdownmode: AAbort IImmediate TTransactional NNormal关闭数据库选项

YESNOxo61Oracle数据库基础教程5/9/2024不同关闭数据库的方式TransferofFundsRemovefundsfromoldaccountCommitLogoutCheckaccountbalancesInsertnewfundsShutdownNormalShutdownImmediateShutdownTransactionalDatabasedownDatabasedownDatabasedown1234562Oracle数据库基础教程5/9/2024动态性能视图SGAV$PARAMETER

V$SGA

V$OPTION

V$PROCESS

V$SESSION

V$VERSION

V$INSTANCEControlfileV$THREAD

V$CONTROLFILE

V$DATABASE

V$DATAFILE

V$DATAFILE_HEADER

V$LOGFILE

63Oracle数据库基础教程5/9/2024动态改变参数ALTERSESSIONSETSQL_TRACE=true;

ALTERSYSTEMSETTIMED_STATISTICS=true;ALTERSYSTEMSETSORT_AREA_SIZE=131072DEFERRED;

一些初始化参数可以在数据库运行阶段动态修改64Oracle数据库基础教程5/9/2024终止用户会话SELECTsid,serial#FROMv$sessionWHEREusername=‘SCOTT’;ALTERSYSTEMKILLSESSION‘7,15’;通过V$SESSION动态性能试图可以确定要终止的用户会话:通过执行ALTERSYSTEM命令终止会话:65Oracle数据库基础教程5/9/2024使用DatabaseConfigurationAssistant创建数据库66Oracle数据库基础教程5/9/2024选择创建数据库方式67Oracle数据库基础教程5/9/2024预定义的数据库类型68Oracle数据库基础教程5/9/2024完成数据库创建69Oracle数据库基础教程5/9/2024使用Export工具$expscott/tigertables=(dept,emp)\

>file=emp.dmplog=exp.log\

>compress=ndirect=yDEPTandEMPtablesexp.logemp.dmp

Export70Oracle数据库基础教程5/9/2024使用Import工具

Importemp.dmp$impscott/tigertables=(dept,emp)\

>file=emp.dmplog=imp.logignore=yimp.logDatabase71Oracle数据库基础教程5/9/2024OEM控制台—实例管理72Oracle数据库基础教程5/9/2024OEM控制台—会话管理73Oracle数据库基础教程5/9/2024OEM控制台—表空间管理74Oracle数据库基础教程5/9/2024OEM控制台—数据文件管理75Oracle数据库基础教程5/9/2024OEM控制台—用户管理76Oracle数据库基础教程5/9/2024OEM控制台—角色管理77Oracle数据库基础教程5/9/2024OEM控制台—表管理78Oracle数据库基础教程5/9/2024OEM控制台—视图管理79Oracle数据库基础教程5/9/2024数据库性能调整80Oracle数据库基础教程5/9/2024性能调整谁来调整?–应用程序的设计者–应用程序的开发者–数据库管理员–系统管理员•为什么要调整•怎样调整81Oracle数据库基础教程5/9/2024调整目标•数据库的响应时间•数据库的高可用性•数据库的命中率•内存利用率•访问最少的数据块•内存中cache的数据块•共享的程序代码•尽可能快的读写数据•保证用户不需等待资源82Oracle数据库基础教程5/9/2024调整步骤1.对设计进行调整2.对应用进行调整3.对内存进行调整4.对磁盘I/O进行调整5.调整减少资源冲突6.对操作系统进行调整83Oracle数据库基础教程5/9/2024诊断信息Trace文件:•警告日志文件•后台进程的trace文件•用户的trace文件84Oracle数据库基础教程5/9/2024警告日志文件•警告日志文件由一系列按时间排列的信息和错误组成•检查警告日志文件可以:–发现oracle内部错误(ORA-600)和数据库块错误–观察数据库操作–查看非缺省的初始化参数•定期清除警告日志文件85Oracle数据库基础教程5/9/2024警告日志文件User

processServer

processBACKGROUND_DUMP_DEST=$ORACLE_HOME/rdbms/logAlertlogfileInstanceSGASharedpool

86Oracle数据库基础教程5/9/2024用户跟踪文件启动或停止会话级或实例级服务器跟踪进程:–ALTERSESSION命令–SET_SQL_TRACE_IN_SESSION过程–初始化参数SQL_TRACE用户跟踪文件包含被跟踪的会话的SQL语句的统计信息在做数据库调整时用户的跟踪文件是很有用的87Oracle数据库基础教程5/9/2024用户跟踪文件User

processServer

process存放在参数USER_DUMP_DEST指定的目录下AlertlogfileInstanceSGASharedpool

<SID>_ora_<PID>.trc88Oracle数据库基础教程5/9/2024视图、包和工具•动态故障诊断、性能和数据字典视图–V$xxx动态故障诊断和性能视图–DBA_xxx数据字典视图•UTLBSTAT.SQL和UTLESTAT.SQL脚本•Oracle等待事件•企业管理事件服务•Oracle诊断和调整工具89Oracle数据库基础教程5/9/2024数据字典和专用视图在运行ANALYZE命令后数据字典和专用试图存储了有用的统计信息:•DBA_TABLES,DBA_TAB_COLUMNS•DBA_CLUSTERS•DBA_INDEXES,INDEX_STATS•INDEX_HISTOGRAM,DBA_HISTOGRAMS这些统计信息是静态的,在再次运行ANALYZE命令之前是不会改变的90Oracle数据库基础教程5/9/2024动态故障诊断和性能视图•V$视图–是基于X$表的视图–使用V$FIXED_TABLE查看•X$表–通常不会直接查询–动态和连续地变化–命名含义不明确在数据库启动时被生成,在数据库关闭时被清除91Oracle数据库基础教程5/9/2024故障诊断和调整

Instance/DatabaseV$DATABASE TV$INSTANCE TV$OPTION TV$PARAMETER T/PV$BACKUP TV$PX_PROCESS_SYSSTAT T/PV$PROCESS TV$WAITSTAT T/PV$SYSTEM_EVENT T/PMemoryV$BUFFER_POOL_STATISTICST/PV$DB_OBJECT_CACHETV$LIBRARYCACHEPV$ROWCACHE PV$SYSSTATT/PV$SGASTATPDiskV$DATAFILET/PV$FILESTATT/PV$LOGTV$LOG_HISTORYTV$DBFILET/PV$TEMPFILEPV$TEMPSTATPUser/SessionV$LOCKPV$OPEN_CURSORTV$PROCESSTV$SORT_USAGET/PV$SESSIONT/PV$SESSTATT/PV$TRANSACTIONTV$SESSION_EVENTT/PV$SESSION_WAITT/PV$PX_SESSTATPV$PX_SESSIONPV$SESSION_OBJECT_CACHEPContentionV$LOCKT/PV$ROLLNAMET/PV$ROLLSTATT/PV$WAITSTATT/PV$LATCHT/P系统级统计信息会话级统计信息T故障诊断T/P故障诊断/性能调整92Oracle数据库基础教程5/9/2024收集系统的统计信息V$STATNAME

statistic#nameclassV$SYSSTAT

statistic#nameclassvalueV$SGASTAT

poolnamebytesV$EVENT_NAME

event#nameparameter1parameter2parameter3

V$SYSTEM_EVENT

eventtotal_waitstotal_timeoutstime_waitedaverage_wait93Oracle数据库基础教程5/9/2024收集会话的统计信息V$STATNAME

statistic#

nameclassV$SESSTAT

sid

statistic#valueV$SESSION_WAIT

sidseq#eventp1/2/3textwait_timeseconds_in_waitstateV$SESSION

sid

serial#username

osuserV$SESSION_EVENT

sid

eventtotal_waitstotal_timeoutstime_waitedaverage_waitmax_waitV$EVENT_NAME

event#nameparameter1parameter2parameter394Oracle数据库基础教程5/9/2024使用UTLBSTAT和UTLESTAT•收集数据库性能数据•产生报表•用SYSDBA角色在SQL*Plus运行•设置TIMED_STATISTICS参数为TRUE95Oracle数据库基础教程5/9/2024收集统计信息utlbstat.sqlExaminestheinstanceStoresstatisticsinBEGINtablesutlestat.sqlExaminesthetablesProducesareportreport.txtStoresstatisticsinENDtables96Oracle数据库基础教程5/9/2024统计信息报告•Librarycache统计信息•系统统计信息•等待事件统计信息•Latch统计信息•回滚段竞争统计信息•Buffer等待信息•数据字典命中统计信息•每个数据文件和表空间I/O统计信息97Oracle数据库基础教程5/9/2024LibraryCache统计信息SQL>RemSelectLibrarycachestatistics.Thepinhitrateshouldbehigh.SQL>selectnamespacelibrary,gets,3>round(decode(gethits,0,1,gethits)/decode(gets,0,1,gets),3)4>gethitratio,pins,6>round(decode(pinhits,0,1,pinhits)/decode(pins,0,1,pins),3)7>pinhitratio,reloads,invalidations9>fromstats$lib;LIBRARYGETSGETHITRATIPINSPINHITRATIRELOADS INVALIDAT

BODY1051105100CLUSTER1019100INDEX010100OBJE010100PIPE010100SQLAREA2036.98712822.982950TABLE/PROCED553.983714.969810TRIGGER9171917.997308rowsselected.98Oracle数据库基础教程5/9/2024I/O统计信息SQL>RemSelectLibrarycachestatistics.Thepinhitrateshouldbehigh.SQL>selectnamespacelibrary,gets,3>round(decode(gethits,0,1,gethits)/decode(gets,0,1,gets),3)4>gethitratio,pins,6>round(decode(pinhits,0,1,pinhits)/decode(pins,0,1,pins),3)7>pinhitratio,reloads,invalidations9>fromstats$lib;LIBRARYGETSGETHITRATIPINSPINHITRATIRELOADS INVALIDAT

BODY1051105100CLUSTER1019100INDEX010100OBJE010100PIPE010100SQLAREA2036.98712822.982950TABLE/PROCED553.983714.969810TRIGGER9171917.997308rowsselected.99Oracle数据库基础教程5/9/2024Oracle等待事件V$EVENT_NAME视图包含所有事件,包括字段EVENT#、NAME、PARAMETER1、PARAMETER2和PARAMETER3NAMEPARAMETER1PARAMETER2PARAMETER3

PL/SQLlocktimerdurationaltersystemsetmts_dispatcherwaitedbufferbusywaitsfile#block#idlibrarycachepinhandleaddrpinaddress0*mode+namelogbufferspacelogfileswitch(checkpointincomplete)transactionundoseg#wrap#count...136rowsselected.SQL>SELECTname,parameter1,parameter2,parameter32FROMv$event_name;100Oracle数据库基础教程5/9/2024事件统计视图•V$SYSTEM_EVENT:所有会话的等待事件•V$SESSION_EVENT:每个会话的等待事件•V$SESSION_WAIT:当前活动会话等待的事件101Oracle数据库基础教程5/9/2024V$SYSTEM_EVENT视图EVENT TOTAL_ TOTAL_ TIME_ AVERAGE_ WAITS TIMEOUTS WAITED WAIT

latchfree 5 5 5 1pmontimer 932 535 254430 272.993562processstartup 3 8 2.66666667bufferbusywaits 12 0 5 5...23rowsselected.

SQL>SELECTevent,total_waits,total_timeouts,2time_waited,average_wait3FROMv$system_event; 102Oracle数据库基础教程5/9/2024V$SESSION_EVENT视图

SIDEVENTTOTAL_WAITSAVERAGE_WAIT

10bufferbusywaits12510dbfilesequentialread129010fileopen1010SQL*Netmessagetoclient77010SQL*Netmoredatatoclient2010SQL*Netmessagefromclient760SQL>selectsid,event,total_waits,average_wait2>fromv$session_eventwheresid=10;103Oracle数据库基础教程5/9/2024V$SESSION_WAIT视图SIDSEQ# EVENT WAIT STATE TIME --- 1 1284 pmontimer 0 WAITING 2 1697 rdbmsipcmessage 0 WAITING 3 183 rdbmsipcmessage 0 WAITING 4 4688 rdbmsipcmessage 0 WAITING 5 114 smontimer 0 WAITING 6 14 SQL*Netmessagefromclient -1 WAITED

SHORT TIMESQL>SELECTsid,seq#,event,wait_time,state2 FROMv$session_wait;104Oracle数据库基础教程5/9/2024调整字典缓存区的工具V$LIBRARYCACHE

SharedpoolLibrarycacheSharedSQL

andPL/SQLV$SQLAREAV$SQLTEXTV$DB_OBJECT_CACHEreport.txtV$SGASTATSHARED_POOL_SIZEOPEN_CURSORSSESSION_CACHED_CURSORSCURSOR_SPACE_FOR_TIMEDatadictionary

cacheUGA105Oracle数据库基础教程5/9/2024设置字典缓存区大小设置存储包、视图以及表等对象必须的全局内存空间设置存储常用SQL语句的内存空间为了避免内存空间碎片应预留大内存保存经常使用的对象把大的匿名块转换成小的调用包函数的匿名块106Oracle数据库基础教程5/9/2024调整目标和技巧调整目标:服务进程在内存中能找到数据对于OLTP系统有90%命中率调整技巧:增加数据块缓存区大小使用多个缓存区把经常访问的小表缓存到内存另外设置排序和并行读缓存区107Oracle数据库基础教程5/9/2024SQL>UPDATEemp2SETsal=sal*1.13WHEREempno=7369;

LGWRRedolog

filesARCHArchived

logfilesSQL>DELETEFROMs_emp2WHEREempno=7400;Server

processServer

process重做日志缓存区108Oracle数据库基础教程5/9/2024减少重做操作更少的重做操作产生更少的重做日志内容,也就需要更小的重做日志缓存区减少重做操作的方法:不使用归档模式的直接装载数据在归档模式下使用NOLOGGING模式直接装载数据使用NOLOGGING模式直接装载插入数据在使用SQL语句是使用NOLOGGING模式109Oracle数据库基础教程5/9/2024调整排序操作尽可能的避免排序操作进可能保证排序操作在内存中完成,减少交换和换页操作分配适当的临时空间,减少空间申请操作如何避免排序操作在创建索引时使用NOSORT参数使用UNIONALL操作代替UNION操作在做表联接的时候使用索引为在ORDERBY子句中引用的列创建索引为列做分析在为大对象做分析时使用ESTIMATE参数而不是COMPUTE参数110Oracle数据库基础教程5/9/2024调整回滚段事务在访问回滚段的时候不需要等待在正常的运行阶段回滚段不需要扩展用户和包应该尽量少使用回滚段应该没有事务出现回滚段不够错误数据读取者应该总是能够查询到读一致镜像数据111Oracle数据库基础教程5/9/20249i产品新特性112Oracle数据库基础教程5/9/2024高可用性零数据丢失灾难保护在线数据演化精确的数据库修复自助的错误更正实现连续的数据可用性113Oracle数据库基础教程5/9/2024Oracle9i

提供持续的数据可用性

-存储数据最安全的地方计划外宕机系统故障数据故障和灾难系统维护数据库维护人为错误DataGuard完全没有数据丢失的解决方案FlashbackQuery/LogMiner访问过去数据的时间机器DynamicReconfiguration调整系统性能而无须中断OnlineRedefinition在线对表进行重组和定义RealApplicationClusters30秒内完成切换计划宕机114Oracle数据库基础教程5/9/2024Oracle9i

数据卫士—DataGuard日志接收日志应用Broker管理接口备用系统可选延迟StandbyLogsBroker日志发送主系统Broker日志生产数据库Oracle9i备用数据库Oracle9i115Oracle数据库基础教程5/9/2024Oracle9iDataGuard数据卫士

-灾难保护零数据丢失保护ZeroLossMode通过同步/非同步的日志传送减低人为错误通过延迟传送方式DelayedModeGracefulSwitchOver主系统和备用系统可交替使用DataGuardManagerOEM图形工具设置,监控及管理备用系统Delayedand

ZeroLossModes

(Both)主系统116Oracle数据库基础教程5/9/2024在线重新定义--减少计划宕机时间在线schema重新定义增加,修改,删除表字段完全在线索引操作创建,重建在线表重组在线结构分析验证无中断的更新查询117Oracle数据库基础教程5/9/2024Oracle9i

闪回查询--纠正人为错误允许查看任意时间点的数据简单的SQL接口方便确定过去的变化系统管理undo信息用户或应用级控制访问解决‘人为错误’的挑战118Oracle数据库基础教程5/9/2024Fast-Start™

故障恢复02468101214第三方恢复时间(分钟)Oracle9i

自动恢复数据数据库管理员可以设置恢复时间限制Oracle9i

大大减少恢复时间减少延缓的回滚操作影响案例:高OLTP业务和批量操作的恢复时间119Oracle数据库基础教程5/9/2024Oracle9iLogMiner--取消任意的变化查询日志内容SQL接口支持主要数据类型按值查询GUI和命令行接口120Oracle数据库基础教程5/9/2024可伸缩性和性能通过集群技术提高事务处理的吞吐量可伸缩的会话状态管理细致的自动的资源管理对于电子商务起关键作用的优化特性支持千万级的Internet用户121Oracle数据库基础教程5/9/2024Oracle9iRealApplicationClusters

-线性扩展通过内存熔合技术实现内存共享结构

完全的内存熔合

支持读/读,读/写,写/写方式的资源争夺在集群环境,任何应用可随意扩展应用系统可以不必考虑集群是否存在

线性的扩展--增加节点,增加性能122Oracle数据库基础教程5/9/2024Oracle9i

真正应用集群服务器随节点增减而伸缩自如增加系统的容错性任何应用程序不需修改即可运行每当增加节点集群环境变得更可靠只有所有节点都宕了,整个系统才可能停止所有数据

A-Z应用程序所有数据

A-Z应用程序123Oracle数据库基础教程5/9/202410261900364805001000150020002500300035004000单节点双节点四节点用户数OracleApplicationsScalabilityNear-LinearScalabilityRealApplicationClusters

使Oracle应用软件获得近线性的扩展性124Oracle数据库基础教程5/9/2024提高关键系统的性能基于CPU和内存的查询优化,而不仅仅基于硬盘I/O提高分布式查询的优化PL/SQL本地编译125Oracle数据库基础教程5/9/2024缓存回滚段共享池个人内存缓存/共享池大小动态调整提供建议透明的工作内存自动的Undo管理Oracle9i

服务器更易于管理

智能,动态,自我优化(一)126Oracle数据库基础教程5/9/2024Oracle9i

服务器更易于管理

智能,动态,自我优化(二)备份与恢复可重新开始的备份与恢复备份保持策略自描述备份文件基于快速启动的恢复可恢复语句Oracle文件管理(ManagedFiles)127Oracle数据库基础教程5/9/2024常见问题Q&A128Oracle数据库基础教程5/9/2024不同版本数据库数据倒出/倒入(一)问题描述不同版本的Oracle数据库之间的数据交换,经常用到不同版本的exp/imp工具,采用正确的版本的工具做exp/imp才能成功的完成数据交换/转移解决方法定义

源数据库数据倒出的数据库目标数据库数据倒入的数据库原则使用源/目标数据库中版本较低的exp工具进行倒出使用目标数据库相同版本的imp工具进行倒入129Oracle数据库基础教程5/9/2024倒出时需要在数据源数据库运行的脚本源数据库目标数据库运行脚本名称8.x.x7.x.xcatexp7.sql7.x.x6.x.xcatexp6.sq例子From7.3.3to8.1.6exp7.3.3imp8.1.6From8.1.5to8.0.6exp8.0.6imp8.0.6From8.1.7to8.1.6exp8.1.6imp8.1.6From8.1.7to7.3.4exp7.3.4imp7.3.4运行 catexp7.sql不同版本数据库数据倒出/倒入(二)130Oracle数据库基础教程5/9/2024如何将数据exp到多个数据文件例子expdemo/demofile=(orders_1.dmp,orders_2.dmp,orders_3.dmp)log=orders.logfilesize=1gtables=orders注意点imp例子impdemo/demofile=orders_1.dmptables=oraderslog=oraders.logexp时提供文件名的数量131Oracle数据库基础教程5/9/2024如何倒出某个表的部分数据适用情况部分数据的转移备份符合某种条件的数据语法:Query=“一个where条件”例子$expscott/tigerquery=\”whereenamelike\’KING%\’\”tables=empfile=exp.dmpC:>expscott/tigerquery=“””whereenamelike‘KING%’”””tables=empfile=exp.dmp参数文件中Query=“whereenamelike‘KING%’”132Oracle数据库基础教程5/9/2024如何提高Import/Export性能EXPORT增加BUFFER(eg.2000)停止所有应用Export文件不在ORACLE使用的驱动器上不要export到NFS文件系统IMPORT建立一个indexfile,在数据import完成后再建立索引将import文件放在不同的驱动器上增加DB_BLOCK_BUFFERS增加LOG_BUFFER用非归档方式运行ORACLE:ALTERDATABASENOARCHIVELOG;建立大的表空间和大的回滚段,OFFLINE其他回滚段,回滚段的大小为最大表的1/2使用COMMIT=N使用ANANLYZE=N133Oracle数据库基础教程5/9/2024Import/Export常见问题ORA-00001:Uniqueconstraint(…)volatedImport了重复行。可用IGNORE=NO越过以存在的表ORA-01555:Snapshottooold如用CONSISTENT=NO参数做EXPO

温馨提示

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

评论

0/150

提交评论