版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
歡迎參加學(xué)習(xí)ORACLE數(shù)據(jù)庫實用教程
training@
亞信科技(中國)有限公司培訓(xùn)中心什么是數(shù)據(jù)庫?數(shù)據(jù)庫是管理數(shù)據(jù)的一種方法,如何組織和存儲數(shù)據(jù),如何高效地獲取和處理數(shù)據(jù)。數(shù)據(jù)管理的發(fā)展的3個階段人工管理階段無數(shù)據(jù)管理的專用軟件,數(shù)據(jù)和程序在一起文件系統(tǒng)階段軟件進(jìn)行數(shù)據(jù)管理,程序和數(shù)據(jù)分離數(shù)據(jù)冗余度大,數(shù)據(jù)和程序缺乏獨立性文件之間不能建立聯(lián)系數(shù)據(jù)庫系統(tǒng)階段數(shù)據(jù)具有更高的獨立性數(shù)據(jù)庫管理系統(tǒng)-DBMS:數(shù)據(jù)庫的定義、操作和管理關(guān)系型數(shù)據(jù)庫關(guān)系型數(shù)據(jù)庫
支持關(guān)系模型,以關(guān)系(表)形式組織數(shù)據(jù)。著名的關(guān)系型數(shù)據(jù)庫DB2,ORACLE,INFORMIX,SYBASE等。關(guān)系型數(shù)據(jù)庫=Datafile+RDBMSRDBMSOSDBdatafile1datafile2實驗環(huán)境%telnet15用戶名/口令:oracle8/oracle8%sqlplusscott/tigersql>connectscott/tigersql>showusersql>quit表表---關(guān)系型DB數(shù)據(jù)組織的形式報道表空表--表的結(jié)構(gòu)白紙--設(shè)計一張表--多少項內(nèi)容(列)--畫表時,每項多寬列---字段;列類型(寬、類型)---數(shù)據(jù)類型(長度、類型)行---記錄表=列+行-------字段+記錄姓名編號單位性別表看scott用戶有哪些表然后查看其中一個表的結(jié)構(gòu)和內(nèi)容#sqlplusscott/tigersql>selecttable_namefromtabs;(user_tables)sql>descemp;sql>select*fromemp;表表結(jié)構(gòu)(DDL)createtablealtertabledroptabletruncatetable表內(nèi)容(DML)insertupdatedeletedesctable_nameselectfield_namefromtable_name基本數(shù)據(jù)類型CHAR[(n)] n<=255VARCHAR2(n) n<=2000LONG(n) n<=2GNUMBER[(m[,n])] m精度(1-38)n小數(shù)后位數(shù)RAW(n) 二進(jìn)制數(shù)據(jù)n<=2000LONGRAW(n) n<=2GDATE缺省形式 ‘DD-MON-YY’ROWID 內(nèi)部數(shù)據(jù)類型(數(shù)據(jù)庫序號.行序號.數(shù)據(jù)文件號)NULL字符串用單引號括起來可以存儲聲音、圖片日期型數(shù)據(jù)的格式說明Daysdd number 12dy abbreviated friday spelledout Fridayddspth spelledout,ordinal twelfthMonthmm number 03mon abbreviated marmonth spelledout marchYearyy year 87yyyy yearandcentury 1987日期期型型數(shù)數(shù)據(jù)據(jù)的的格格式式說說明明缺省省日日期期型型:dd-mon-yyselectsysdatefromdual;系系統(tǒng)統(tǒng):date,time改變變?nèi)杖掌谄谛涡问绞?1.本本次次會會話話SQL>ALTERSESSIONSETNLS_DATE_FORMAT='YY-MM-DD';2.下次啟動動后永久生效效----改改文件設(shè)置INITSID.ORA中的NLS_DATE_FORMAT參數(shù)可改變?nèi)比笔∪掌诘母袷绞?。表結(jié)構(gòu)1.建立sql>createtabletable_name(column_name1datatype[notnull|unique],column_name2datatype[notnull|unique],column_name2datatype[notnull|unique]);表內(nèi)容1.插入記錄錄sql>insertintotable_name[column_name-a,……,column_name-x]values(column_value-a,…,column_value-x);表結(jié)構(gòu)2.變更1>修改sql>altertabletable_namemodify(column_namedatatype);2>增加sql>altertabletable_nameadd(column_namedatatype);表內(nèi)容2.修改記錄錄sql>updatetable_namesetcolumn_name1=values1,column_name2=values2[wheresearch_conditions];表內(nèi)容3.刪除記錄錄sql>delete[from]table_name[wheresearch_conditions];sql>truncatetabletable_name;表結(jié)構(gòu)3.刪除1>刪結(jié)構(gòu)及內(nèi)容容sql>droptabletable_name;事物處理事物處理命令令提交:commit回滾:rollback保留點:savepointSQL>SAVEPOINTCLARK_SAL;SQL>ROLLBACKTOSAVEPOINTBLAKE_SAL;2.命令修修改a當(dāng)當(dāng)前行末追追加c/old/new更更改clbuff清緩存del刪刪除(n,last,mn)i加加入入(i,itext)savefilename保存edit、vifilename編輯startfilename@filename3.保存命令令4.執(zhí)行命令令1.顯示命令令l顯示(l,ln,lmn,llast)SQL*PLUS練習(xí)建表注意利用SQL命令緩沖沖區(qū)插入、修改、、刪除數(shù)據(jù)((注意條件))提交、回滾練習(xí)表名txl-n結(jié)構(gòu):學(xué)號數(shù)字型3唯唯一姓名可變長字符串串10非非空出生日期型電話數(shù)字型10查看結(jié)構(gòu)、查查看內(nèi)容練習(xí)1.增加字段段單位可變長字符串串122.修改字段段出生可變長字符串串5(原日日期)練習(xí)插入數(shù)據(jù)至至少5條修改數(shù)據(jù)((根據(jù)條件))刪除數(shù)據(jù)(根根據(jù)條件)SQL語句中中的函數(shù)字符函數(shù)substr、length、lower、、rtrim、ltrim數(shù)值函數(shù)abs、mod、round、、trunc、nvl日期函數(shù)months_between、、add_months、next_day轉(zhuǎn)換函數(shù)to_char、to_date數(shù)據(jù)查詢語言言(DML))命令SELECT語句SELECT<查詢詢內(nèi)容>FROM<表名>WHERE<條條件>GROUP<分分組內(nèi)容>HAVING<組內(nèi)內(nèi)條件>ORDERBY<排序內(nèi)容>簡單查詢無條件查詢條件查詢排序統(tǒng)計分組統(tǒng)計分組函數(shù)(統(tǒng)計函數(shù)))完成對一組記錄的統(tǒng)計處理count({*|[distinct|all]x}):行數(shù)sum(x):數(shù)據(jù)列求和avg([distinct|all]x):數(shù)據(jù)列平均值值max(x):列的最大值min(x):列的最小值除count(*)外,,當(dāng)使用分組組函數(shù)時,均均忽略空值分組函數(shù)(統(tǒng)計函數(shù)))練習(xí)1工資的平平均值2獎金的最最大值3工資的總總和4最低工資資5表中數(shù)據(jù)據(jù)行的總數(shù)6有多少個個不同的部門門分組查詢與排排序數(shù)據(jù)分組:對對有重復(fù)值的的列進(jìn)行分組組。查詢:SELECTcol1,col2,分組函數(shù)FROMtable1WHEREconditionsGROUPBYcol1,col2HAVINGconditionORDERBYcol1,col2SELECT選擇的列,,必須出現(xiàn)在在GROUPBY子子句中;GROUPBY子句句中的列只能能是SELECT選擇的的列或分組函函數(shù)中的列。。順序無關(guān)。分組查詢練習(xí):1)編寫SQL語句,從EMP表中中返回---部門編編號、部門平平均工資。。2)編寫SQL語句,從EMP表中中返回----部門門編號、部門門工資總和條件是:部門門工資總和大大于8000。3)編寫SQL語句,從EMP表中中返回----部門門編號、部門門平均工資條件是:除了了部門10,,部門工資平平均值大于1500的部部門的情況。。多表查詢---連接等值連接非等值連接--------------------自連接外連接selectename,dnamefromempe,deptdwheree.deptno=d.deptno等值連接(EQUIJOIN)基于列的相等等性來連接兩兩張或多張表表。題目:查查找找雇員員姓名名及所所在部部門的的名稱稱.非等值值連接接(NON-EQUIJOIN)基于列列的不不等性性來連連接兩兩張或或多張張表。。題目::請查查找雇雇員SMITH的工工資和和工資資等級級情況況,希望顯顯示的的信息息---員員工名名、工工資、、工資資等級級.非等值值連接接(NON-EQUIJOIN)請分析析下列列語句句:SELECTENAME,SAL,GRADEFROMEMP,SALGRADWHEREENAME=‘‘SMITH’’;SELECT*FROMSALGRAD;SELECTENAME,SAL,GRADEFROMEMP,SALGRADWHEREENAME=‘‘SMITH’’ANDSALBETWEENLOSALANDHISAL等值連連接和和非等等值連連接題目::查找找工資資級別別為2的雇雇員的的信息息。。要求顯顯示的的信息息:雇雇員的的姓名名,部部門的的名稱稱,工資、、工資資級別別SELECTENAME,DNAME,SAL,GRADEFROMEMP,DEPT,,SALGRADEWHEREGRADE=2ANDSALBETWEENLOSALANDHISALANDEMP.DEPTNO=DEPT.DEPTNO;自我連連接(SELFJOIN)將表連連接到到自身身在SQL語語句中中一個個表暫暫時重重新命命名為為兩個個表。。題目:EMP中中查找找員工工和其其經(jīng)理理的對對應(yīng)關(guān)關(guān)系:要求-員工工名稱稱和其其經(jīng)理理的名名稱同一基基表的的不同同行做做聯(lián)接接,如如同兩兩個獨獨立的的基表表,在FROM子句句中至至少要要為一一個基基表起起別名名,以以區(qū)別別聯(lián)接接條件件中的的列名名自連接(SELFJOIN)SELECTWORKER.ENAME,MANAGER.ENAMEMANAGERFROMEMPWORKER,EMPMANAGERWHEREWORKER.MGR=MANAGER.EMPNO;外連接(OUTERJOIN)用于返回回存在在在一張表表上的所有數(shù)數(shù)據(jù)行,,甚至相相對應(yīng)的行在在連接接的表中中不存在。(+)號號用于在在查詢中中的OUTERJOIN。。帶(+))的表是是那些沒沒有相應(yīng)行的的表。外連接(OUTERJOIN)題目1::EMP中查找找員工和和其經(jīng)理理的對應(yīng)應(yīng)關(guān)系:要求-員員工名稱稱和其經(jīng)經(jīng)理的名名稱,請請注意使使用外連連接及((+)放放置位置置。SELECTWORKER.ENAME,MANAGER.ENAMEMANAGERFROMEMPWORKER,EMPMANAGERWHEREWORKER.MGR=MANAGER.EMPNO(+);外連接(OUTERJOIN)題目2::查找哪哪些部門門有叫SMITH的人人顯示:雇雇員名稱稱、部門門名稱(所有部部門都要要列出來來)ENAMEDNAME------------------------ACCOUNTINGSMITHRESEARCHSALESOPERATIONSSELECTENAME,DNAMEFROMEMPE,DEPTDWHEREE.DEPTNO(+)=D.DEPTNOANDE.ENAME(+)=’SMITH’;外連接(OUTERJOIN)題目3::查找哪哪些部門門沒有叫叫SMITH的的人要求顯示示信息::雇員名名稱、部部門名稱稱ENAMEDNAME------------------------ACCOUNTINGSMITHRESEARCHSALESOPERATIONSselectename,dnamefromempe,deptdwheree.deptno(+)=d.deptnoande.ename(+)='SMITH'ande.enameisnull子查詢單行值子子查詢多行值子子查詢多列子查查詢相關(guān)子查查詢單行值子子查詢工資高于于7698號雇雇員,并并且工種種與他相相同的雇雇員情況況SQL>SELECTENAME,SAL,,JOBFROMEMPWHERESAL>(SELECTSALFROMEMPWHEREEMPNO=7698)ANDJOB=(SELECTJOBFROMEMPWHEREEMPNO=7698);多行值子子查詢謂詞IN,NOTIN哪些部門門沒有叫叫SMITH的的雇員。。SQL>selectdept.deptno,dname,locfromdept2wheredept.deptnonotin3(selectdeptnofromemp4whereename='SMITH');多行值子子查詢ANY:子子查詢詢返回結(jié)結(jié)果中的的任一值值滿足條條件即可可。ANY前前可以使使用!=、>、、<、>=、<=。查詢工種種不為銷銷售員,,并且工工資小于于其中任任一銷售售員的雇雇員信息息。SQL>SELECTEMPNO,ENAME,SAL2FROMEMP3WHERESAL<ANY(SELECTSALFROMEMP4WHEREJOB='SALESMAN')5ANDJOB!='SALESMAN';多行值子子查詢ALL:子子查詢詢返回結(jié)結(jié)果中的的所有值值滿足條條件才行行。查找工資資高于20號部部門所有有雇員的的人員信信息。SQL>SELECTEMPNO,ENAME,SALFROMEMP2WHERESAL>ALL(SELECTSALFROMEMPWHEREDEPTNO=20);也可表達(dá)達(dá)為:SQL>SELECTEMPNO,ENAME,SALFROMEMP2WHERESAL>(SELECTMAX(SAL)FROMEMPWHEREDEPTNO=20);多行值子子查詢EXISTS:子子查詢詢至少返返回一行行時條件件成立。。NOTEXISTS:子查查詢不返返回任何何行時條條件成立立。用途途確定一一個表中中的哪些些信息在在另一個個表中沒沒有匹配配。用NOTEXISTS代替替NOTIN多列子查查詢例:查出出工資、、獎金與與20號號雇員匹匹配的人人員。SQL>selectenamefromempwhere(nvl(comm,0),sal)in(selectnvl(comm,0),salfromempwheredeptno=20);相關(guān)子查查詢例:查出出工資、、獎金與與20號號雇員匹匹配的人人員。SQL>selectenamefromempwhere(nvl(comm,0),sal)in(selectnvl(comm,0),salfromempwheredeptno=20);其它查詢詢集合UNIONINTERSECTMINUS樹查詢UNIONUNION:將將表和視視圖中的的記錄合合并在一一起。所有部門門中有哪哪些雇員員的工資資超過2OOO?SQL>select*fromempwheresal>2000SQL>selectename,salfromdept10wheresal>2000unionselectename,salfromdept20wheresal>2000unionselectename,salfromdept30wheresal>2000;視圖SQL>createviewdept10as2selectename,job,salfromemp3wheredeptno=10;dept20、、dept30的創(chuàng)建建過程同同dept10INTERSECT返回查詢詢結(jié)果中中相同的的部分。。哪些部門門有相同同的工種種?SQL>selectdistincta.jobfromempa,empbwherea.deptno<>b.deptnoanda.job=b.jobSQL>selectjobfromdept30intersectselectjobfromdept20intersectselectjobfromdept10;MINUS返回第一一個查詢詢結(jié)果中中與第二二個查詢詢結(jié)果不不相同的的那部分分行記錄錄有哪些工工種是在在財會部部有,而而在銷售售部中沒沒有?SQL>selectjobfromempwheredeptno=10andjobnotin(selectjobfromempwheredeptno=30);SQL>selectjobfromdept10minusselectjobfromdept30;子查詢注注意子查詢必必須用括括號括住?。蛔硬樵儽仨氻氈挥幸涣辛?,或者子子查詢的多多列與主查查詢中用括括號括起來來的多個列列連接;單行值子查查詢可以使使用單值或或多值運算算符,多行行子查詢必必須使用多多值運算符符;BETWEENAND不能能用于子查查詢;子查詢中不不能使用ORDERBY子子句;測試操作運運算符單值:=、>、>=、<、、<=、!=、^=、<>LIKE、、ISNULL、、ISNOTNULL。。多值:IN、NOTIN;(BETWEENAND、、NOTBETWEENAND)ANY、NOTANY;ALL、NOTALL;EXISTS、NOTEXISTS。ORACLE數(shù)據(jù)庫庫體系結(jié)構(gòu)構(gòu)ORACLE數(shù)據(jù)庫庫的存儲結(jié)結(jié)構(gòu)ORACLE數(shù)據(jù)庫庫的軟件體體系結(jié)構(gòu)1.邏輯輯存儲結(jié)構(gòu)構(gòu)2.物理理存儲結(jié)構(gòu)構(gòu)1.實例例2.Oracle8網(wǎng)絡(luò)*鎖機機制和SCN數(shù)據(jù)庫存儲儲結(jié)構(gòu)物理結(jié)構(gòu)是實際數(shù)據(jù)的存儲單元,例如數(shù)據(jù)據(jù)庫文件邏輯結(jié)構(gòu)是數(shù)據(jù)概念上的組織,例如表空空間因為物理和和邏輯結(jié)構(gòu)構(gòu)是分開的的,數(shù)據(jù)物物理存儲的的管理并不不影響邏輯輯結(jié)構(gòu),能能靈活的獨獨立管理。。表空間和數(shù)數(shù)據(jù)文件由組成數(shù)據(jù)據(jù)庫的操作作系統(tǒng)文件件決定數(shù)據(jù)庫的文文件提供了了數(shù)據(jù)庫信信息的實際際物理存儲儲三種類型的的文件控制文件::記錄數(shù)據(jù)據(jù)庫的物理理結(jié)構(gòu)數(shù)據(jù)文件::包括全部部數(shù)據(jù)庫數(shù)數(shù)據(jù)日志文件::記錄對數(shù)數(shù)據(jù)庫所做做的修改物理結(jié)構(gòu)--數(shù)據(jù)庫庫文件Oracle數(shù)據(jù)庫庫結(jié)構(gòu)組成成ParameterFileDatafilesControlFilesRedoLogFilesOracleDatabase物理結(jié)構(gòu)-控制文件件控制文件物理結(jié)構(gòu)-控制文件件控制文件物理結(jié)構(gòu)-控制文件件1.$ORACLE_HOME/dbs目錄錄下,ls*.ora:initTX08.oraconfigTX08.oracontrol_files=(/data1/oracle8//oradata/TX08/control01.ctl,/data1/oracle8/oradata/TX08/control02.ctl,/data1/oracle8/oradata/TX08/control03.ctl)2.SQL>select*fromV$controlfile;物理結(jié)構(gòu)-日志文件件聯(lián)機重做日日志文件歸檔日志文文件以O(shè)RACLEFORSOLARIS為例例:數(shù)據(jù)文件::mount_point/oradata/ora_sid/system01.dbfmount_point/oradata/ora_sid/tools01.dbfmount_point/oradata/ora_sid/users01.dbfmount_point/oradata/ora_sid/temp01.dbfmount_point/oradata/ora_sid/rbs01.dbf控制文件::mount_point/oradata/ora_sid/control01.ctlmount_point/oradata/ora_sid/control02.ctlmount_point/oradata/ora_sid/control03.ctl日志志文文件件::mount_point/oradata/ora_sid/redoora_sid01.logmount_point/oradata/ora_sid/redoora_sid02.logmount_point/oradata/ora_sid/redoora_sid03.log邏輯輯組組成成多個個表表空空間間(tablespace)組組成成一個個表表空空間間是是一一個個邏邏輯輯存存儲儲區(qū)區(qū)數(shù)據(jù)據(jù)庫庫模模式式(schema)對象象模式式是是對對象象的的集集合合。。模模式式對對象象直直接接涉涉及及數(shù)數(shù)據(jù)據(jù)庫庫數(shù)數(shù)據(jù)據(jù)的的邏邏輯輯結(jié)結(jié)構(gòu)構(gòu),,包包括括表表、、視視圖圖、、序序列列、、存存儲儲過過程程、、同同義義詞詞、、索索引引等等邏輯輯存存儲儲結(jié)結(jié)構(gòu)構(gòu)包包括括表表空空間間、、段段(segment)、、區(qū)區(qū)(extent)、、塊塊(block),,指指明明如如何何使使用用數(shù)數(shù)據(jù)據(jù)庫庫物物理理空空間間。。表空空間間的的幾幾個個概概念念表空空間間分分類類:System表表空空間間、、其其它它表表空空間間只讀讀表表空空間間、、可可讀讀寫寫表表空空間間表空空間間的的狀狀態(tài)態(tài):脫脫機機、、聯(lián)聯(lián)機機--控制制數(shù)數(shù)據(jù)據(jù)的的可可用用性性表空空間間大大小小的的管管理理::建建立立、、增增加加、、修修改改表空空間間的的幾幾個個概概念念表空空間間的的狀狀態(tài)態(tài):脫脫機機、、聯(lián)聯(lián)機機--控制制數(shù)數(shù)據(jù)據(jù)的的可可用用性性SQL>altertablespacenameofflinenormal;SQL>select*fromuser_tablespaces;SQL>altertablespacetestonline;SQL>selecttable_name,tablespace_namefromtabs;單一一表表空空間間-system表空空間間多個個表表空空間間-system表表空空間間和和其其它它表表空空間間表空空間間中中數(shù)數(shù)據(jù)據(jù)文文件件的的自自動動增增長長表空空間間的物物理理存存儲儲區(qū)區(qū)-數(shù)據(jù)據(jù)文文件件數(shù)據(jù)據(jù)庫庫對對象象的物物理理存存儲儲區(qū)區(qū)-段例子子::表表空空間間與與表表空空間間中中對對象象CREATETABLESPACEuser_dataDATAFILE'\data\user1Tx08.dbf'SIZE5MONLINEDEFAULTSTORAGE(INITIAL10KNEXT10KMINEXTENTS2MAXEXTENTS50PCTINCREASE0);邏輯輯結(jié)結(jié)構(gòu)構(gòu)——段段、、區(qū)區(qū)和和數(shù)數(shù)據(jù)據(jù)塊塊數(shù)據(jù)據(jù)庫庫空空間間的的分分配配單單元元是是段段、、區(qū)區(qū)和和數(shù)數(shù)據(jù)據(jù)塊塊。。段:決決定定數(shù)數(shù)據(jù)據(jù)庫庫對對象象使使用用的的全全部部區(qū)區(qū)的的集集合合。。區(qū):由由連連續(xù)續(xù)的的數(shù)數(shù)據(jù)據(jù)塊塊的的集集合合。。塊:Oracle數(shù)數(shù)據(jù)據(jù)庫庫磁磁盤盤存存取取的的最最小小的的單單元元。。保存存表表和和簇簇的的所所有有數(shù)數(shù)據(jù)據(jù)的的區(qū)區(qū)的的聚聚集集保存存特特殊殊索索引引的的所所有有數(shù)數(shù)據(jù)據(jù)的的區(qū)區(qū)的的聚聚集集1.數(shù)數(shù)據(jù)據(jù)段段2.索索引引段段邏輯輯結(jié)結(jié)構(gòu)構(gòu)——段段類類型型4.臨臨時時段段回滾滾段段記錄錄一一個個事事務(wù)務(wù)的的回回滾滾數(shù)數(shù)據(jù)據(jù)。。事務(wù)務(wù)可可以以使使用用提提交交或或回回滾滾結(jié)結(jié)束束。?;鼗貪L滾即即撤撤消消事事務(wù)務(wù)的的全全部部作作用用,,就就象象事事務(wù)務(wù)從從未未發(fā)發(fā)生生過過。。要要實實現(xiàn)現(xiàn)回回滾滾,,必必須須跟跟蹤蹤事事務(wù)務(wù)所所更更改改的的數(shù)數(shù)據(jù)據(jù),,直直到到提提交交或或回回滾滾。。保存屬于于臨時對對象的數(shù)數(shù)據(jù)的區(qū)區(qū)的聚集集SQL語語句經(jīng)常常要求臨臨時工作作區(qū)。例如,當(dāng)當(dāng)為一個個大表創(chuàng)創(chuàng)建索引引時,必必須分配配臨時空空間,排排序全部部的索引引項;當(dāng)當(dāng)處理一一條需要要臨時工工作空間間的SQL,就就從數(shù)據(jù)據(jù)庫的表表空間中中分配小小的臨時時段。語語句完成成后,將將段釋放放回表空空間。3.回滾滾段邏輯結(jié)構(gòu)構(gòu)—段類類型查詢有哪哪些類型型的段::SQL>selectdistinctsegment_typefromdba_segments;(以SYS和SYSTEM用用戶身份份登錄))邏輯結(jié)構(gòu)構(gòu)—段類類型查詢某一一用戶在在某一表表空間中中段的占占有情況況:SQL>columnsegment_nameformata10SQL>select*fromuser_segments;SQL>select*fromuser_segmentswheretablespace_name='TEST';數(shù)據(jù)段每張非聚聚簇表有有一個單單獨的數(shù)數(shù)據(jù)段來來存放所所有的數(shù)數(shù)據(jù)。SQL>selectsegment_namefromdba_segmentswheresegment_type='TABLE';邏輯結(jié)構(gòu)構(gòu)—段類類型索引段每個索引引有單獨獨的索引引段來存存放數(shù)據(jù)據(jù)。SQL>selectsegment_namefromdba_segmentswheresegment_type='INDEX';ROLLBACKTEMPORARY邏輯結(jié)構(gòu)構(gòu)—區(qū)當(dāng)創(chuàng)建新新的數(shù)據(jù)據(jù)對象((表、索索引等))時,Oracle為對象的的段分配配一個或或多個區(qū)區(qū)。區(qū)是存儲儲對象段段的表空空間數(shù)據(jù)據(jù)文件中中的一系系列連續(xù)續(xù)的數(shù)據(jù)據(jù)塊。邏輯結(jié)構(gòu)構(gòu)—區(qū)區(qū)的設(shè)置置(決定區(qū)的的參數(shù))創(chuàng)建段時時,可以以決定分分配區(qū)的的數(shù)目。。maxextents最最大分配配的區(qū)數(shù)數(shù),minextents最最小小分配的的區(qū)數(shù)可以控制制區(qū)的大大小。能能夠設(shè)置置段的初初始區(qū)間間和后續(xù)續(xù)區(qū)間的的大小initial最最初初分配的的空間數(shù)數(shù)(缺省省為10k,5個數(shù)據(jù)據(jù)塊)next下下一一步分配配的空間間數(shù)pctincrease增增長率,,指數(shù)級級增長邏輯結(jié)構(gòu)構(gòu)—區(qū)SQL>select*fromuser_extents;SQL>select*fromdba_extents;(SYS用戶戶和SYSTEM用戶戶)邏輯結(jié)構(gòu)構(gòu)—數(shù)據(jù)據(jù)塊最小的磁盤存存取單元元,當(dāng)操作一一個數(shù)據(jù)據(jù)庫時,,Oracle使用數(shù)數(shù)據(jù)塊存存儲和提提取磁盤盤上的數(shù)數(shù)據(jù)。當(dāng)查詢一一個表時時,Oracle將含有查查詢結(jié)果果集記錄錄的全部部數(shù)據(jù)快快讀取到到服務(wù)器器的內(nèi)存存中。由一個或或多個O/S塊組成在數(shù)據(jù)庫庫創(chuàng)建時時設(shè)定塊大小,塊大小小必須等等于O/S塊塊的大小小或它的的倍數(shù)。。如果服務(wù)務(wù)器的操操作系統(tǒng)統(tǒng)塊大小小是512K,,數(shù)據(jù)塊塊大小可可以是512K、1024K和2048K等等。InsertsInsertsInsertsInserts1234PCTFREE=2080%80%40%邏輯結(jié)構(gòu)構(gòu)—數(shù)數(shù)據(jù)塊空空間PCTUSED=40MadeupofPartofTemporaryIndexCacheClusterRollbackDataSegmentTablespaceDatabaseLocationofFreeExtentUsedMadeupofInLocationofInstanceDBBlockPartofMadeupofOSBlockControllingControlledbyFileLogicalDiscPartofMadeupofPartofMadeupofMadeupofPartofMadeupofPartofPartofPartof數(shù)據(jù)庫結(jié)結(jié)構(gòu)組成成實例實例=PGA+SGA+后臺進(jìn)進(jìn)程程序全局區(qū)((PGA)程序全局區(qū)((PGA)用于保存服務(wù)器進(jìn)程的數(shù)據(jù)和控制信息。當(dāng)用戶進(jìn)程要要連接到Oracle數(shù)數(shù)據(jù)庫服務(wù)器器時,會在實實例中為其分分配相應(yīng)的服服務(wù)器進(jìn)程。。SGA組成SharedPoolDatabaseBufferCacheRedoLog
BufferSystemGlobalArea(SGA)SharedSQLAreasDataDictionary系統(tǒng)全局區(qū)((SGA)1.數(shù)據(jù)庫高高速緩存(DataBlockBufferCache)系統(tǒng)全局區(qū)((SGA)2.重做日志志緩沖區(qū)(RedoLogBuffers)系統(tǒng)全局區(qū)((SGA)3.數(shù)據(jù)字典典高速緩存((DictionaryCache)該高速緩存用用于存放最近使用和經(jīng)經(jīng)常使用的數(shù)據(jù)字典信信息。當(dāng)下次次需要這些信信息時,就可可以直接從數(shù)數(shù)據(jù)字典高速速緩存中讀取取到這些信息息,從而提高高系統(tǒng)性能.系統(tǒng)全局區(qū)((SGA)共享SQL池池用于保存SQL語句的的執(zhí)行計劃和分分析樹。當(dāng)執(zhí)行SQL語句時,系系統(tǒng)會將相應(yīng)應(yīng)的執(zhí)行計劃劃和分析樹保保存到共享SQL池中。。然后當(dāng)再次次執(zhí)行這些SQL語句時時,系統(tǒng)會自自動使用原有有執(zhí)行計劃和和分析樹,從從而提高了系系統(tǒng)性能。4.共享SQL池(SharedSQLPool)Oracle后臺線程后臺進(jìn)程1.DBWR后臺進(jìn)程2.LGWR后臺進(jìn)程3.ARCH實例與數(shù)據(jù)庫庫的關(guān)系一對一一對多創(chuàng)建實例OPENMOUNTNOMOUNTSHUTDOWNAllfilesopenedasdescribedbythecontrolfileforthisinstance.Controlfileopenedforthisinstance.Instancestarted.STARTUP啟動一個實例例STARTUP數(shù)據(jù)庫的啟動動啟動實例-----nomount打開初始化參參數(shù)文件svrmgr>connectinternalsvrmgr>startupnomount;svrmgr>select*fromv$process;svrmgr>select*fromv$controlfile;svrmgr>select*fromv$logfile;svrmgr>select*fromv$datafile;數(shù)據(jù)庫的啟動動裝配數(shù)據(jù)庫-----mount打開控制文件件方法1:svrmgr>alterdatabasemount;方法2:svrmgr>connectinternalsvrmgr>startupmount;查詢操作同前前頁。數(shù)據(jù)庫的啟動動打開數(shù)據(jù)庫------open打開數(shù)據(jù)文件件和日志文件件方法1:svrmgr>alterdatabaseopen;方法2:svrmgr>connectinternalsvrmgr>startup;svrmgr>select*fromuser_tablespaces;svrmgr>select*fromdba_data_files;OPENMOUNTNOMOUNTSHUTDOWNAllfilesopenedasdescribedbythecontrolfileforthisinstance.Controlfileopenedforthisinstance.Instancestarted.SHUTDOWN關(guān)閉一個實例例SHUTDOWN數(shù)據(jù)庫實例的的關(guān)閉關(guān)閉數(shù)據(jù)庫關(guān)閉數(shù)據(jù)文件件和日志文件件svrmgr>shutdown;卸下數(shù)據(jù)庫關(guān)閉控制文件件svrmgr>shutdown;停止實例關(guān)閉初始化參參數(shù)文件svrmgr>shutdown;Oracle8網(wǎng)絡(luò)與Net8Net8----Oracle的網(wǎng)網(wǎng)絡(luò)連接軟件件連接描述器與與tnsnames.ora監(jiān)聽進(jìn)程與listener.ora監(jiān)聽進(jìn)程的操操作命令配置服務(wù)器配置客戶機調(diào)試連接問題題Net8SQL*NET原理及所所需配置文件件listener.oratnsnames.oraProcessServer連接描述器與與tnsnames.oraTX08=(DESCREPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=15)(PORT=1521))(CONNECTDATA=(SID=TX08))……)$ORACLE_HOME/network/admin-----tnsnames.oratnsnames.ora2個要要求監(jiān)聽進(jìn)程與listener.oraListener=(ADDRESSLIST=(ADDRESS=(PROTOCOL=TCP)(HOST=15)))----------------------------------------------------------------------------(SID_LIST_LISTENER=(SIDLIST=(SID_DESC=SID_NAME=TX08ORACLE_HOME=/DATA1/ORACLE/TX08)))1.地地址址列列表表2.監(jiān)監(jiān)聽聽服服務(wù)務(wù)的的實實例例列列表表監(jiān)聽聽進(jìn)進(jìn)程程的的操操作作命命令令lsnrctllsnrctl>startlistenernamestoplistenernamestatuslistenernameversionlistenernamesetcurrent_listenerlistenername-----檢檢查查監(jiān)監(jiān)聽聽進(jìn)進(jìn)程程是是否否啟啟動動:ps-ef|greptnslsnr配置置服服務(wù)務(wù)器器識別別可可用用宿宿主主/etc/hosts------解解決決地地址址映映射射識別別可可用用服服務(wù)務(wù)/etc/services----listener1521識別別可可用用數(shù)數(shù)據(jù)據(jù)庫庫/var/opt/oracle/oratabOracle_SID:ORACLE_HOME:N/Y啟動動Net8----lsnrctl配置置客客戶戶機機識別別可可用用宿宿主主/etc/hosts(or..)------解解決決地地址址映映射射識別別可可用用服服務(wù)務(wù)/etc/services(or..)----listener1521NIC(網(wǎng)絡(luò)絡(luò)接接口口卡卡)、、OS、、TCP/IP、、NET8運行行NET8遠(yuǎn)程程訪訪問問數(shù)數(shù)據(jù)據(jù)庫庫Sqlplus用用戶戶名名/密密碼碼@服服務(wù)務(wù)名名((連連接接串串))Sqlplusscott/tiger@TX08調(diào)試試-連連接接問問題題可達(dá)達(dá)??telnet、、ping((客客戶戶端端--遠(yuǎn)遠(yuǎn)程程主主機機))監(jiān)聽聽??服服務(wù)務(wù)器器---通通過過@連連自自己己客戶戶端端---tnsping服服務(wù)務(wù)名名次次數(shù)數(shù)安全全管管理理用戶戶管管理理創(chuàng)建建用用戶戶createuser修改改用用戶戶alteruser刪除用戶戶dropuser用戶與模模式用戶分類類超級用戶戶數(shù)據(jù)庫管管理員普通用戶戶超級用戶戶internal數(shù)據(jù)庫管管理員數(shù)據(jù)庫管管理員((DBA)是指具有有DBA角色的的用戶,,它們用用于管理理發(fā)生在在數(shù)據(jù)庫庫內(nèi)的操操作。如如SYS、SYSTEM普通用戶戶普通用戶戶是指根根據(jù)特定定需求使使用命令令CREATEUSER所創(chuàng)建的的用戶。。數(shù)據(jù)庫驗驗證CREATEUSERacaIDENTIFIEDBYasiainfo;CONNECTaca/asiainfo外部驗證證CREATEUSEROPS$administratorIDENTIFIEDEXTERNALLY;企業(yè)驗證證企業(yè)驗證證是指由由OracleSecurityService(OSS)來驗驗證數(shù)據(jù)據(jù)庫用戶戶的方式式。當(dāng)使使用這種種方式驗驗證數(shù)據(jù)據(jù)庫用戶戶時,由由Oracle數(shù)據(jù)庫庫來管理理用戶帳帳戶,并并且口令令和用戶戶鑒定則則由OSS來完完成。創(chuàng)建用戶戶創(chuàng)建用戶戶ACA創(chuàng)建用戶戶CREATEUSERusernameIDENTIFIEDBYuserpassword[DEFAULTTABLESPACEtablespace1][TEMPORARYTABLESPACEtablespace2][QUOTAnKONtablespace1];MUNLIMITED空間限額額修改用戶戶修改用戶戶username所所使用的的缺省表表空間修改用戶戶的口令令A(yù)LTERUSERusernameTABLESPACEuser_data;ALTERUSERusernameIDENTIFIEDBYuserpasswd;刪除用戶戶DROPUSERusername[cascade]特權(quán)管理理特權(quán)簡介介系統(tǒng)特權(quán)權(quán)的授予予和收回回對象特權(quán)權(quán)的授予予和收回回系統(tǒng)特權(quán)權(quán)對象特權(quán)權(quán)特權(quán)管理理系統(tǒng)權(quán)限限(systemprivilege)針對整個個系統(tǒng)操操作的權(quán)權(quán)限dba_sys_privs,用戶權(quán)限限(objectprivilege)針對具體體object操作權(quán)權(quán)限dba_tab_privs;視圖圖dba_col_privs;系統(tǒng)特權(quán)權(quán)的授予予和收回回授予用戶戶系統(tǒng)特特權(quán)GRANTsystemprivsTOusername[WITHADMINOPTION]收回系統(tǒng)統(tǒng)特權(quán)REVOKEsystemprivsFROMusername;對象特權(quán)權(quán)的授予予和收回回授予用戶戶對象特特權(quán)GRANT對對象特權(quán)權(quán)TOusername[WITHGRANTOPTION];收回對象象特權(quán)REVOKE對象特權(quán)權(quán)FROMusername;授于用戶戶連接Oracle數(shù)據(jù)庫的的權(quán)限Sgrantconnecttousername[withgrantoption];rolenameprivilege......ObjectPrivilegeSELECTUPDATEINSERTALTERDELETEEXECUTEINDEXREFERENCESTypesofObjectPrivilegesTableViewSequenceProcedure1231包括存儲儲過程、、函數(shù)
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 《心臟解剖及血供》課件
- 2021年四川省雅安市公開招聘警務(wù)輔助人員輔警筆試自考題2卷含答案
- 2023年遼寧省遼陽市公開招聘警務(wù)輔助人員輔警筆試自考題1卷含答案
- 2022年遼寧省遼陽市公開招聘警務(wù)輔助人員輔警筆試自考題2卷含答案
- 2022年浙江省嘉興市公開招聘警務(wù)輔助人員輔警筆試自考題1卷含答案
- 《漢字拼音復(fù)習(xí)攻略》課件
- 2025年行政訴訟法知識競賽題庫與答案(完整版)
- 2024年P(guān)ET改性及合金材料項目投資申請報告代可行性研究報告
- 2024年石油產(chǎn)品添加劑:燃料油添加劑項目資金申請報告
- 關(guān)于銀行實習(xí)日記范文錦集八篇
- 融媒體專題報道方案
- 工作失誤匯報
- 呼吸科主任述職報告
- 旅游法規(guī)期末試卷與參考答案匯編
- 11054-國家開放大學(xué)2023年春期末統(tǒng)一考試《流通概論》答案
- 晉江物流行業(yè)分析
- 編譯原理考試題及答案匯總
- 國家開放大學(xué)2023年7月期末統(tǒng)一試《11132衛(wèi)生管理》試題及答案-開放本科
- 咽喉癌病歷書寫
- 2023年自然資源部所屬事業(yè)單位招聘(208人)筆試參考題庫(共500題)答案詳解版
- 自身免疫性肝炎診斷和治療指南(2021版)解讀
評論
0/150
提交評論