Oracle英文版培訓(xùn)課件之Implement Streams:les03_第1頁
Oracle英文版培訓(xùn)課件之Implement Streams:les03_第2頁
Oracle英文版培訓(xùn)課件之Implement Streams:les03_第3頁
Oracle英文版培訓(xùn)課件之Implement Streams:les03_第4頁
Oracle英文版培訓(xùn)課件之Implement Streams:les03_第5頁
已閱讀5頁,還剩30頁未讀, 繼續(xù)免費閱讀

付費下載

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

BasicObjectsofOracleStreamsObjectivesAftercompletingthislesson,youshouldbeabletodothefollowing:Accesstheattributesandmethodsofuser-definedtypesListthedifferenttypesofeventsusedinOracleStreamsDescribeanLCRCreateaStreamsadministratoruserCreateaStreamsqueueQuerythedatadictionaryforStreamsqueueinformationFundamentalTerminologyMessageQueueEnqueueDequeueAgentSubscriberConsumerUser-defineddatatypesAttributesMethodsObjectTypesAnobjecttypeisauser-definedcomposite

datatype.Anobjecttypeencapsulatesadatastructurealongwiththemethodsthatareneededtomanipulateit.AttributeMethodRemoveTransferAddCheckStatusidnameaddresscountryEmployeetypeStructureofanObjectTypeMethodbodiesAttributedeclarationsMethodspecificationsSpecificationBodyPublicinterfacePrivateimplementationStructureofanObjectType:MethodsMethodsinatypedefinition:MemberStaticConstructorMethodRemoveTransferAddCheckStatusidnameaddresscountryEmployeetypeCREATEORREPLACETYPEname_typASOBJECT(first_name VARCHAR2(25),middle_initCHAR(1),last_name VARCHAR2(25), MEMBERFUNCTIONfull_nameRETURNVARCHAR2,MEMBERFUNCTIONinitialsRETURNVARCHAR2 );/CreatinganObject-TypeSpecificationExample12CreatinganObject-TypeBodyExampleCREATEORREPLACETYPEBODYname_typASMEMBERFUNCTIONfull_nameRETURNVARCHAR2ISBEGINRETURN(first_name||''||last_name);ENDfull_name;MEMBERFUNCTIONinitialsRETURNVARCHAR2ISBEGINRETURN(substr(first_name,1,1)||middle_init||substr(last_name,1,1));END;END;/CREATETABLEname_tableOFname_typ;INSERTINTOname_tableVALUES(

);SELECTnt.first_name,nt.full_name()NAME,nt.initials()INITIALSFROMname_tablent;FIRST_NAMENAMEINITIALS-----------------------------------------------MichaelMichaelFoxMJFCallingObjectMethodsExamplename_typ('Michael','J','Fox')SYS.AnyDataTypeTheSYS.AnyDatatypeisaself-describingtypethatcontainsthedataandadata-typecode.TheSYS.AnyDatatypehasnovisibleattributesanddoesnotuseaconstructor.YoucancreateanobjectoftypeSYS.AnyDatabydoingeitherofthefollowing:CallingtheConvert*()staticfunctionsCallingBeginCreate()tostart,Set*()foreachattribute,andEndCreate()tofinishThefollowingmembermethodsmanagetheaccesstodatathatiscontainedinaSYS.AnyDatatype:Get<datatype>functionsSet<datatype>functionsStreamsEventsTherearetwobasictypesofeventsinStreams:User-enqueuedeventsCapturedeventsLogicalChangeRecords(LCRs)LCRscanbecreatedbythecaptureprocess,ortheycanbecreatedmanuallybyauser.ThecaptureprocessreformatschangesthatarecapturedfromtheredologintotwotypesofLCRs:RowLCRsDDLLCRsThecaptureprocessimplicitlyenqueuesLCRs.User-createdLCRsmustbeexplicitlyenqueued.RowLCRsArowLCRdescribesaDMLchangetothedatainasingleroworaLOBcolumninarow:SingledatachangemayyieldmultipleLCRs.EachrowLCRisanobjectoftypeLCR$_ROW_RECORD.RowLCRs:DescriptionSTATICFUNCTIONCONSTRUCT(source_database_nameINVARCHAR2,command_typeINVARCHAR2,object_ownerINVARCHAR2,object_nameINVARCHAR2,tagINRAWDEFAULTNULL,transaction_idINVARCHAR2DEFAULTNULL,scnINNUMBERDEFAULTNULL,old_valuesINSYS.LCR$_ROW_LISTDEFAULTNULL,new_valuesINSYS.LCR$_ROW_LISTDEFAULTNULL)RETURNSYS.LCR$_ROW_RECORD;DDLLCRsADDLLCRdescribesadatadefinitionlanguagechange.EachDDLLCRisanobjectoftypeLCR$_DDL_RECORD.DDLLCRs:DescriptionSTATICFUNCTIONCONSTRUCT(source_database_nameINVARCHAR2,command_typeINVARCHAR2,object_ownerINVARCHAR2,object_nameINVARCHAR2,object_typeINVARCHAR2,ddl_textINCLOB,logon_userINVARCHAR2,current_schemaINVARCHAR2,base_table_ownerINVARCHAR2,base_table_nameINVARCHAR2,tagINRAWDEFAULTNULL,transaction_idINVARCHAR2DEFAULTNULL,scnINNUMBERDEFAULTNULL)RETURNSYS.LCR$_DDL_RECORD;TypesofUsersAssociatedwithStreamsSecurequeueuserCaptureuserApplyuserStreamsadministratoruserSecureQueueUserForuserstoenqueueordequeueeventsfromaSYS.AnyDataqueue,theymustbeconfiguredassecurequeueusers.TheSET_UP_QUEUEprocedureintheDBMS_STREAMS_ADMpackageconfiguresqueue_ownerandqueue_userassecurequeueusersautomatically.YoucanconfigurenewsecurequeueusersbyrerunningtheSET_UP_QUEUEprocedure.CaptureUserAcaptureuser:CapturesallDMLchangesandDDLchangesthatsatisfythecaptureprocessrulesetsHasenqueueprivilegesonthestagingqueueandisasecurequeueuserofthatqueueIsconfiguredwiththeALTER_CAPTUREprocedureoftheDBMS_CAPTURE_ADMpackageMustbeexplicitlygrantedprivilegeson

therulesandrulesetsusedbythe

captureprocessApplyUserAnapplyuser:AppliesallDMLstatementsandDDLstatementstodatabaseobjectsRunsuser-definedapplyhandlersIsconfiguredwiththeALTER_APPLYprocedureoftheDBMS_APPLY_ADMpackageMusthaveprivilegesondatabaseobjectsanduser-definedproceduresaccessedduringapplyTheuserwhocreatesthequeueisautomaticallyconfiguredasanapplyuser.StreamsAdministratorUserPerformsadministrativefunctionsinaStreamsenvironmentMustexistatallStreamssitesNeedsadefaultandtemporarytablespaceotherthanSYSTEMRequirestheCONNECT,RESOURCE,andDBArolesMaybegrantedotherprivilegesexplicitlyorwiththeDBMS_STREAMS_AUTHpackageCreatingaStreamsAdministratorUserCREATEUSERstrmadminIDENTIFIEDBYstreamsDEFAULTTABLESPACEUSERSTEMPORARYTABLESPACETEMP;CREATEDIRECTORYscriptsAS'/oracle/scripts';GRANTCONNECT,RESOURCE,DBATOstrmadmin;BEGINDBMS_STREAMS_AUTH.GRANT_ADMIN_PRIVILEGE(grantee=>'STRMADMIN',grant_privileges=>FALSE,file_name=>'make_admin.sql',directory_name=>'scripts');END;/ManagingStreamsAdministratorUsersSELECT*FROMDBA_STREAMS_ADMINISTRATOR;USERNAMELOCAL_PRIVILEGESACCESS_FROM_REMOTE------------------------------------------------STRMADMINYESNOEXECDBMS_STREAMS_AUTH.REVOKE_ADMIN_PRIVILEGE(-

grantee=>'STRMADMIN');StagingAreaStreamseventsareheldinastagingareaandimplementedasaqueue:Allevents,LCRs,andusermessagescanbestagedinthesamequeue.Eventsremaininthestagingareauntiltheyareconsumedbyallinterestedprocessesandapplications.StagingAreaArchitectureCaptureSpillInstanceSGASharedpoolJavapoolLargepoolStreamspoolStreams

dictionarySYS.AnyDataQueuesHaveatwo-partinfrastructureQueuetableQueueArecreatedwiththeSET_UP_QUEUEprocedureofDBMS_STREAMS_ADMDefaultname:STREAMS_QUEUE_TABLEType:SYS.AnyDataSecureCreatingaStagingQueueTocreateastagingqueueforOracleStreams,executetheSET_UP_QUEUEprocedureintheDBMS_STREAMS_ADMpackage.Youcanoptionallyspecifythefollowinginformation:ThequeuetableandqueuenameAstorageclauseforthequeuetableAqueueuserAcommentforthequeueTheSET_UP_QUEUEprocedureautomaticallystartsthequeueafteritiscreated.CreatingaStagingQueue:ExampleBEGINDBMS_STREAMS_ADM.SET_UP_QUEUE(queue_table=>'hr_streams_qt',queue_name=>'hr_queue',queue_user=>'hr');END;/RemovingaQueue:ExampleBEGINDBMS_STREAMS_ADM.REMOVE_QUEUE(queue_name=>'hr_streams_qt',cascade=>TRUE,drop_unused_queue_table=>TRUE);END;/ViewingQueueInformationToviewqueuetablesinthedatabase,query:ALL_QUEUE_TABLESDBA_QUEUE_TABLESUSER_QUEUE_TABLESToviewqueuesinthedatabase,query:ALL_QUEUESDBA_QUEUESUSER_QUEUESTodeterminewhatqueueprivilegesthecurrentuserhas,queryQUEUE_PRIVILEGES.BufferedMessagingENQUEUESpillInstanceSGASharedpoolJavapoolLargepoolStreamspoolBufferedPersistentViewInterfacetoQueueBuffersSELECTqueue_id,queue_schema,queue_name,

num_msgs,spill_msgs,cnum_msgs,cspill_msgs

FROMV$BUFFERED_QUEUES;

QUEUE_IDQUEUE_SCHEMAQUEUE_NAME--------------------------------------------NUM_MSGSSPILL_MSGSCNUM_MSGSCSPILL_MSGS-----------------------------------------36683STRMADMINSTREAMS_QUEUE51515151ViewInterfacetoQueueBuffers

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論