oracle數(shù)據(jù)庫(kù)實(shí)用教程_第1頁(yè)
oracle數(shù)據(jù)庫(kù)實(shí)用教程_第2頁(yè)
oracle數(shù)據(jù)庫(kù)實(shí)用教程_第3頁(yè)
oracle數(shù)據(jù)庫(kù)實(shí)用教程_第4頁(yè)
oracle數(shù)據(jù)庫(kù)實(shí)用教程_第5頁(yè)
已閱讀5頁(yè),還剩152頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

歡迎參加學(xué)習(xí)ORACLE數(shù)據(jù)庫(kù)實(shí)用教程

亞信科技(中國(guó))有限公司培訓(xùn)中心什么是數(shù)據(jù)庫(kù)?數(shù)據(jù)庫(kù)是管理數(shù)據(jù)的一種方法,如何組織和存儲(chǔ)數(shù)據(jù),如何高效地獲取和處理數(shù)據(jù)。數(shù)據(jù)管理的發(fā)展的3個(gè)階段人工管理階段無(wú)數(shù)據(jù)管理的專用軟件,數(shù)據(jù)和程序在一起文件系統(tǒng)階段軟件進(jìn)行數(shù)據(jù)管理,程序和數(shù)據(jù)分離數(shù)據(jù)冗余度大,數(shù)據(jù)和程序缺乏獨(dú)立性文件之間不能建立聯(lián)系數(shù)據(jù)庫(kù)系統(tǒng)階段數(shù)據(jù)具有更高的獨(dú)立性數(shù)據(jù)庫(kù)管理系統(tǒng)-DBMS:數(shù)據(jù)庫(kù)的定義、操作和管理關(guān)系型數(shù)據(jù)庫(kù)關(guān)系型數(shù)據(jù)庫(kù)

支持關(guān)系模型,以關(guān)系(表)形式組織數(shù)據(jù)。著名的關(guān)系型數(shù)據(jù)庫(kù)DB2,ORACLE,INFORMIX,SYBASE等。關(guān)系型數(shù)據(jù)庫(kù)=Datafile+RDBMSRDBMSOSDBdatafile1datafile2實(shí)驗(yàn)環(huán)境%telnet15用戶名/口令:oracle8/oracle8%sqlplusscott/tigersql>connectscott/tigersql>showusersql>quit表表---關(guān)系型DB數(shù)據(jù)組織的形式報(bào)道表空表--表的結(jié)構(gòu)白紙--設(shè)計(jì)一張表--多少項(xiàng)內(nèi)容(列)--畫表時(shí),每項(xiàng)多寬列---字段;列類型(寬、類型)---數(shù)據(jù)類型(長(zhǎng)度、類型)行---記錄表=列+行-------字段+記錄姓名編號(hào)單位性別表看scott用戶有哪些表然后查看其中一個(gè)表的結(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ù)庫(kù)序號(hào).行序號(hào).數(shù)據(jù)文件號(hào))NULL字符串用單引號(hào)括起來(lái)可以存儲(chǔ)聲音、圖片日期型數(shù)據(jù)的格式說(shuō)明Daysdd number 12dy abbreviated friday spelledout Fridayddspth spelledout,ordinal twelfthMonthmm number 03mon abbreviated marmonth spelledout marchYearyy year 87yyyy yearandcentury 1987日期型型數(shù)據(jù)據(jù)的格格式說(shuō)說(shuō)明缺省日日期型型:dd-mon-yyselectsysdatefromdual;系系統(tǒng)統(tǒng):date,time改變?nèi)杖掌谛涡问?1.本本次會(huì)會(huì)話SQL>ALTERSESSIONSETNLS_DATE_FORMAT='YY-MM-DD';2.下下次啟啟動(dòng)后后永久久生效效----改文文件設(shè)置INITSID.ORA中的的NLS_DATE_FORMAT參數(shù)可可改變變?nèi)笔∪掌谄诘母窀袷?。。表結(jié)構(gòu)構(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)構(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保留點(diǎn):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ù)據(jù)(注意意條件))提交、回回滾練習(xí)表名txl-n結(jié)構(gòu):學(xué)號(hào)數(shù)字型3唯唯一姓名可變長(zhǎng)字字符串10非非空出生日期型電話數(shù)字型10查看結(jié)構(gòu)構(gòu)、查看看內(nèi)容練習(xí)1.增加加字段單位可變長(zhǎng)字字符串122.修改改字段出生可變長(zhǎng)字字符串5(原原日期))練習(xí)插入數(shù)據(jù)據(jù)至少少5條修改數(shù)據(jù)據(jù)(根根據(jù)條件件)刪除數(shù)據(jù)據(jù)(根據(jù)據(jù)條件))SQL語(yǔ)語(yǔ)句中的的函數(shù)字符函數(shù)數(shù)substr、、length、lower、、rtrim、、ltrim數(shù)值函數(shù)數(shù)abs、、mod、、round、、trunc、nvl日期函數(shù)數(shù)months_between、、add_months、、next_day轉(zhuǎn)換函數(shù)數(shù)to_char、to_date數(shù)據(jù)查詢?cè)冋Z(yǔ)言((DML)命令令SELECT語(yǔ)語(yǔ)句SELECT<查查詢內(nèi)容容>FROM<表名名>WHERE<條件>GROUP<分組內(nèi)內(nèi)容>HAVING<組內(nèi)內(nèi)條件>ORDERBY<排序序內(nèi)容>簡(jiǎn)單查詢?cè)儫o(wú)條件查查詢條件查詢?cè)兣判蚪y(tǒng)計(jì)分組統(tǒng)計(jì)計(jì)分組函數(shù)數(shù)(統(tǒng)計(jì)函函數(shù))完成對(duì)一組記錄錄的統(tǒng)計(jì)處處理count({*|[distinct|all]x}):行數(shù)sum(x)::數(shù)據(jù)列求求和avg([distinct|all]x)::數(shù)據(jù)列平平均值max(x)::列的最大大值min(x)::列的最小小值除count(*)外外,當(dāng)使使用分組組函數(shù)時(shí)時(shí),均忽忽略空值值分組函數(shù)數(shù)(統(tǒng)計(jì)函函數(shù))練習(xí)1工資資的平均均值2獎(jiǎng)金金的最大大值3工資資的總和和4最低低工資5表中中數(shù)據(jù)行行的總數(shù)數(shù)6有多多少個(gè)不不同的部部門分組查詢?cè)兣c排序序數(shù)據(jù)分組組:對(duì)有有重復(fù)值值的列進(jìn)進(jìn)行分組組。查詢:SELECTcol1,col2,分組函函數(shù)FROMtable1WHEREconditionsGROUPBYcol1,col2HAVINGconditionORDERBYcol1,col2SELECT選選擇的列列,必須須出現(xiàn)在在GROUPBY子子句中中;GROUPBY子子句中的的列只能能是SELECT選擇擇的列或或分組函函數(shù)中的的列。順序無(wú)關(guān)關(guān)。分組查詢?cè)兙毩?xí):1)編寫寫SQL語(yǔ)句,,從EMP表中返返回---部部門編號(hào)號(hào)、部門門平均均工資。。2)編寫寫SQL語(yǔ)句,,從EMP表中返返回----部門編編號(hào)、部部門工資資總和條件是::部門工工資總和和大于8000。3)編寫寫SQL語(yǔ)句,,從EMP表中返返回----部門編編號(hào)、部部門平均均工資條件是::除了部部門10,部門門工資平平均值大大于1500的的部門的的情況。。多表查詢?cè)?--連接等值連接接非等值連連接--------------------自連接外連接selectename,dnamefromempe,deptdwheree.deptno=d.deptno等值連接接(EQUIJOIN))基于列的的相等性性來(lái)連接接兩張或或多張表表。題目:查查找找雇員姓姓名及所所在部門門的名稱稱.非等值連連接(NON-EQUIJOIN)基于列的的不等性性來(lái)連接接兩張或或多張表表。題目:請(qǐng)請(qǐng)查找雇雇員SMITH的工資資和工資資等級(jí)情情況,希望顯示示的信息息---員工名名、工資資、工資資等級(jí).非等值連連接(NON-EQUIJOIN)請(qǐng)分析下下列語(yǔ)句句:SELECTENAME,SAL,,GRADEFROMEMP,,SALGRADWHEREENAME=‘‘SMITH’’;SELECT*FROMSALGRAD;SELECTENAME,SAL,,GRADEFROMEMP,,SALGRADWHEREENAME=‘‘SMITH’’ANDSALBETWEENLOSALANDHISAL等值連接接和非等等值連接接題目:查查找工資資級(jí)別為為2的雇雇員的信信息。。要求顯示示的信息息:雇員員的姓名名,部門門的名稱稱,工資、工工資級(jí)別別SELECTENAME,DNAME,SAL,,GRADEFROMEMP,,DEPT,SALGRADEWHEREGRADE=2ANDSALBETWEENLOSALANDHISALANDEMP.DEPTNO=DEPT.DEPTNO;自我連接接(SELFJOIN)將表連接接到自身身在SQL語(yǔ)句中中一個(gè)表表暫時(shí)重重新命名名為兩個(gè)個(gè)表。題目:EMP中中查找員員工和其其經(jīng)理的的對(duì)應(yīng)關(guān)關(guān)系:要求-員員工名稱稱和其經(jīng)經(jīng)理的名名稱同一基表表的不同同行做聯(lián)聯(lián)接,如如同兩個(gè)個(gè)獨(dú)立的的基表,在FROM子句句中至少少要為一一個(gè)基表表起別名名,以區(qū)區(qū)別聯(lián)接接條件中中的列名名自連接(SELFJOIN)SELECTWORKER.ENAME,MANAGER.ENAMEMANAGERFROMEMPWORKER,EMPMANAGERWHEREWORKER.MGR=MANAGER.EMPNO;外連接(OUTERJOIN)用于返回回存在在在一張表表上的所有數(shù)數(shù)據(jù)行,,甚至相相對(duì)應(yīng)的行在在連接接的表中中不存在。(+)號(hào)號(hào)用于在在查詢中中的OUTERJOIN。。帶(+))的表是是那些沒(méi)沒(méi)有相應(yīng)行的的表。外連接(OUTERJOIN)題目1::EMP中查找找員工和和其經(jīng)理理的對(duì)應(yīng)應(yīng)關(guān)系:要求-員員工名稱稱和其經(jīng)經(jīng)理的名名稱,請(qǐng)請(qǐng)注意使使用外連連接及((+)放放置位置置。SELECTWORKER.ENAME,MANAGER.ENAMEMANAGERFROMEMPWORKER,EMPMANAGERWHEREWORKER.MGR=MANAGER.EMPNO(+);外連接(OUTERJOIN)題目2::查找哪哪些部門門有叫SMITH的人人顯示:雇雇員名稱稱、部門門名稱(所有部部門都要要列出來(lái)來(lái))ENAMEDNAME------------------------ACCOUNTINGSMITHRESEARCHSALESOPERATIONSSELECTENAME,DNAMEFROMEMPE,DEPTDWHEREE.DEPTNO(+)=D.DEPTNOANDE.ENAME(+)=’SMITH’;外連接(OUTERJOIN)題目3::查找哪哪些部門門沒(méi)有叫叫SMITH的的人要求顯示示信息::雇員名名稱、部部門名稱稱ENAMEDNAME------------------------ACCOUNTINGSMITHRESEARCHSALESOPERATIONSselectename,dnamefromempe,deptdwheree.deptno(+)=d.deptnoande.ename(+)='SMITH'ande.enameisnull子查詢單行值子子查詢多行值子查查詢多列子查詢?cè)兿嚓P(guān)子查詢?cè)儐涡兄底硬椴樵児べY高于7698號(hào)號(hào)雇員,并并且工種與與他相同的的雇員情況況SQL>SELECTENAME,SAL,JOBFROMEMPWHERESAL>(SELECTSALFROMEMPWHEREEMPNO=7698)ANDJOB=(SELECTJOBFROMEMPWHEREEMPNO=7698);多行值子查查詢謂詞IN,NOTIN哪些部門沒(méi)沒(méi)有叫SMITH的的雇員。SQL>selectdept.deptno,dname,locfromdept2wheredept.deptnonotin3(selectdeptnofromemp4whereename='SMITH');多行值子查查詢ANY:子子查查詢返回結(jié)結(jié)果中的任任一值滿足足條件即可可。ANY前可可以使用!=、>、、<、>=、<=。。查詢工種不不為銷售員員,并且工工資小于其其中任一銷銷售員的雇雇員信息。。SQL>SELECTEMPNO,ENAME,SAL2FROMEMP3WHERESAL<ANY(SELECTSALFROMEMP4WHEREJOB='SALESMAN')5ANDJOB!='SALESMAN';多行值子查查詢ALL:子子查詢?cè)兎祷亟Y(jié)果果中的所有有值滿足條條件才行。。查找工資高高于20號(hào)號(hào)部門所有有雇員的人人員信息。。SQL>SELECTEMPNO,ENAME,SALFROMEMP2WHERESAL>ALL(SELECTSALFROMEMPWHEREDEPTNO=20);也可表達(dá)為為:SQL>SELECTEMPNO,ENAME,SALFROMEMP2WHERESAL>(SELECTMAX(SAL)FROMEMPWHEREDEPTNO=20);多行值子查查詢EXISTS:子子查詢至至少返回一一行時(shí)條件件成立。NOTEXISTS:子查查詢不返回回任何行時(shí)時(shí)條件成立立。用途確確定一個(gè)表表中的哪些些信息在另另一個(gè)表中中沒(méi)有匹配配。用NOTEXISTS代替替NOTIN多列子查詢?cè)兝翰槌龉すべY、獎(jiǎng)金金與20號(hào)號(hào)雇員匹配配的人員。。SQL>selectenamefromempwhere(nvl(comm,0),sal)in(selectnvl(comm,0),salfromempwheredeptno=20);相關(guān)子查詢?cè)兝翰槌龉すべY、獎(jiǎng)金金與20號(hào)號(hào)雇員匹配配的人員。。SQL>selectenamefromempwhere(nvl(comm,0),sal)in(selectnvl(comm,0),salfromempwheredeptno=20);其它查詢集合UNIONINTERSECTMINUS樹查詢UNIONUNION:將表和和視圖中的的記錄合并并在一起。所有部門中中有哪些雇雇員的工資資超過(guò)2OOO?SQL>select*fromempwheresal>2000SQL>selectename,salfromdept10wheresal>2000unionselectename,salfromdept20wheresal>2000unionselectename,salfromdept30wheresal>2000;視圖SQL>createviewdept10as2selectename,job,salfromemp3wheredeptno=10;dept20、dept30的創(chuàng)建過(guò)過(guò)程同dept10INTERSECT返回查詢結(jié)結(jié)果中相同同的部分。。哪些部門有有相同的工工種?SQL>selectdistincta.jobfromempa,empbwherea.deptno<>b.deptnoanda.job=b.jobSQL>selectjobfromdept30intersectselectjobfromdept20intersectselectjobfromdept10;MINUS返回第一個(gè)個(gè)查詢結(jié)果果中與第二二個(gè)查詢結(jié)結(jié)果不相同同的那部分分行記錄有哪些工種種是在財(cái)會(huì)會(huì)部有,而而在銷售部部中沒(méi)有??SQL>selectjobfromempwheredeptno=10andjobnotin(selectjobfromempwheredeptno=30);SQL>selectjobfromdept10minusselectjobfromdept30;子查詢注意意子查詢必須須用括號(hào)括括?。蛔硬樵儽仨氻氈挥幸涣辛?,或者子子查詢的多多列與主查查詢中用括括號(hào)括起來(lái)來(lái)的多個(gè)列列連接;單行值子查查詢可以使使用單值或或多值運(yùn)算算符,多行行子查詢必必須使用多多值運(yùn)算符符;BETWEENAND不能能用于子查查詢;子查詢中不不能使用ORDERBY子子句;測(cè)試操作運(yùn)運(yùn)算符單值:=、>、>=、<、、<=、!=、^=、<>LIKE、、ISNULL、、ISNOTNULL。。多值:IN、NOTIN;(BETWEENAND、、NOTBETWEENAND)ANY、NOTANY;ALL、NOTALL;EXISTS、NOTEXISTS。ORACLE數(shù)據(jù)庫(kù)庫(kù)體系結(jié)構(gòu)構(gòu)ORACLE數(shù)據(jù)庫(kù)庫(kù)的存儲(chǔ)結(jié)結(jié)構(gòu)ORACLE數(shù)據(jù)庫(kù)庫(kù)的軟件體體系結(jié)構(gòu)1.邏輯輯存儲(chǔ)結(jié)構(gòu)構(gòu)2.物理理存儲(chǔ)結(jié)構(gòu)構(gòu)1.實(shí)例例2.Oracle8網(wǎng)絡(luò)*鎖機(jī)機(jī)制和SCN數(shù)據(jù)庫(kù)存儲(chǔ)儲(chǔ)結(jié)構(gòu)物理結(jié)構(gòu)是實(shí)際數(shù)據(jù)的存儲(chǔ)單元,例如數(shù)據(jù)據(jù)庫(kù)文件邏輯結(jié)構(gòu)是數(shù)據(jù)概念上的組織,例如表空空間因?yàn)槲锢砗秃瓦壿嫿Y(jié)構(gòu)構(gòu)是分開的的,數(shù)據(jù)物物理存儲(chǔ)的的管理并不不影響邏輯輯結(jié)構(gòu),能能靈活的獨(dú)獨(dú)立管理。。表空間和數(shù)數(shù)據(jù)文件由組成數(shù)據(jù)據(jù)庫(kù)的操作作系統(tǒng)文件件決定數(shù)據(jù)庫(kù)的文文件提供了了數(shù)據(jù)庫(kù)信信息的實(shí)際際物理存儲(chǔ)儲(chǔ)三種類型的的文件控制文件::記錄數(shù)據(jù)據(jù)庫(kù)的物理理結(jié)構(gòu)數(shù)據(jù)文件::包括全部部數(shù)據(jù)庫(kù)數(shù)數(shù)據(jù)日志文件::記錄對(duì)數(shù)數(shù)據(jù)庫(kù)所做做的修改物理結(jié)構(gòu)--數(shù)據(jù)庫(kù)庫(kù)文件Oracle數(shù)據(jù)庫(kù)庫(kù)結(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)機(jī)重做日日志文件歸檔日志文文件以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邏輯組成多個(gè)表空間間(tablespace)組成一個(gè)表空間間是一個(gè)邏邏輯存儲(chǔ)區(qū)區(qū)數(shù)據(jù)庫(kù)模式式(schema)對(duì)象模式是對(duì)象象的集合。。模式對(duì)象象直接涉及及數(shù)據(jù)庫(kù)數(shù)數(shù)據(jù)的邏輯輯結(jié)構(gòu),,包括表、、視圖、序序列、存儲(chǔ)儲(chǔ)過(guò)程、同同義詞、索索引等邏輯存儲(chǔ)結(jié)結(jié)構(gòu)包括表表空間、段段(segment)、區(qū)(extent)、、塊(block),指明如如何使用數(shù)數(shù)據(jù)庫(kù)物理理空間。表空間的幾幾個(gè)概念表空間分類類:System表空間間、其它表表空間只讀表空間間、可讀寫寫表空間表空間的狀狀態(tài):脫脫機(jī)、、聯(lián)機(jī)--控制數(shù)據(jù)的的可用性表空間大小小的管理::建立、增增加、修改改表空間的幾幾個(gè)概念表空間的狀狀態(tài):脫脫機(jī)、、聯(lián)機(jī)--控制數(shù)據(jù)的的可用性SQL>altertablespacenameofflinenormal;SQL>select*fromuser_tablespaces;SQL>altertablespacetestonline;SQL>selecttable_name,tablespace_namefromtabs;單一表空間間-system表空間多個(gè)表空間間-system表空間間和其它表表空間表空間中數(shù)數(shù)據(jù)文件的的自動(dòng)增長(zhǎng)長(zhǎng)表空間的物理存儲(chǔ)儲(chǔ)區(qū)-數(shù)據(jù)文件數(shù)據(jù)庫(kù)對(duì)象象的物理存儲(chǔ)儲(chǔ)區(qū)-段例子:表空空間與表空空間中對(duì)象象CREATETABLESPACEuser_dataDATAFILE'\data\user1Tx08.dbf'SIZE5MONLINEDEFAULTSTORAGE(INITIAL10KNEXT10KMINEXTENTS2MAXEXTENTS50PCTINCREASE0);邏輯結(jié)構(gòu)——段、區(qū)和和數(shù)據(jù)塊數(shù)據(jù)庫(kù)空間間的分配單單元是段、、區(qū)和數(shù)據(jù)據(jù)塊。段:決定數(shù)據(jù)據(jù)庫(kù)對(duì)象使使用的全部部區(qū)的集合合。區(qū):由連續(xù)的的數(shù)據(jù)塊的的集合。塊:Oracle數(shù)據(jù)據(jù)庫(kù)磁盤存存取的最小小的單元。。保存表和簇簇的所有數(shù)數(shù)據(jù)的區(qū)的的聚集保存特殊索索引的所有有數(shù)據(jù)的區(qū)區(qū)的聚集1.數(shù)據(jù)段段2.索引段段邏輯結(jié)構(gòu)——段類型4.臨時(shí)段段回滾段記錄一個(gè)事事務(wù)的回滾滾數(shù)據(jù)。事務(wù)可以使使用提交或或回滾結(jié)束束?;貪L即即撤消事務(wù)務(wù)的全部作作用,就象象事務(wù)從未未發(fā)生過(guò)。。要實(shí)現(xiàn)回回滾,必須須跟蹤事務(wù)務(wù)所更改的的數(shù)據(jù),直直到提交或或回滾。保存屬于臨臨時(shí)對(duì)象的的數(shù)據(jù)的區(qū)區(qū)的聚集SQL語(yǔ)句句經(jīng)常要求求臨時(shí)工作作區(qū)。例如,當(dāng)為為一個(gè)大表表創(chuàng)建索引引時(shí),必須須分配臨時(shí)時(shí)空間,排排序全部的的索引項(xiàng);;當(dāng)處理一一條需要臨臨時(shí)工作空空間的SQL,就從從數(shù)據(jù)庫(kù)的的表空間中中分配小的的臨時(shí)段。。語(yǔ)句完成成后,將段段釋放回表表空間。3.回滾段段邏輯結(jié)構(gòu)——段類型查詢有哪些些類型的段段:SQL>selectdistinctsegment_typefromdba_segments;(以SYS和SYSTEM用用戶身份登登錄)邏輯結(jié)構(gòu)——段類型查詢某一用用戶在某一一表空間中中段的占有有情況:SQL>columnsegment_nameformata10SQL>select*fromuser_segments;SQL>select*fromuser_segmentswheretablespace_name='TEST';數(shù)據(jù)段每張非聚簇簇表有一個(gè)個(gè)單獨(dú)的數(shù)數(shù)據(jù)段來(lái)存存放所有的的數(shù)據(jù)。SQL>selectsegment_namefromdba_segmentswheresegment_type='TABLE';邏輯結(jié)構(gòu)——段類型索引段每個(gè)索引有有單獨(dú)的索索引段來(lái)存存放數(shù)據(jù)。。SQL>selectsegment_namefromdba_segmentswheresegment_type='INDEX';ROLLBACKTEMPORARY邏輯結(jié)構(gòu)——區(qū)當(dāng)創(chuàng)建新的的數(shù)據(jù)對(duì)象象(表、索索引等)時(shí)時(shí),Oracle為對(duì)象的段段分配一個(gè)個(gè)或多個(gè)區(qū)區(qū)。區(qū)是存儲(chǔ)對(duì)對(duì)象段的表表空間數(shù)據(jù)據(jù)文件中的的一系列連連續(xù)的數(shù)據(jù)據(jù)塊。邏輯結(jié)構(gòu)——區(qū)區(qū)的設(shè)置(決定區(qū)的參參數(shù))創(chuàng)建段時(shí),,可以決定定分配區(qū)的的數(shù)目。maxextents最最大分配的的區(qū)數(shù),minextents最最小分配的的區(qū)數(shù)可以控制區(qū)區(qū)的大小。。能夠設(shè)置置段的初始始區(qū)間和后后續(xù)區(qū)間的的大小initial最最初初分配的空空間數(shù)(缺缺省為10k,5個(gè)個(gè)數(shù)據(jù)塊)next下下一一步分配的的空間數(shù)pctincrease增增長(zhǎng)率,指指數(shù)級(jí)增長(zhǎng)長(zhǎng)邏輯結(jié)構(gòu)——區(qū)SQL>select*fromuser_extents;SQL>select*fromdba_extents;(SYS用戶戶和SYSTEM用用戶)邏輯結(jié)構(gòu)——數(shù)據(jù)塊最小的磁盤存取取單元,當(dāng)操作一個(gè)個(gè)數(shù)據(jù)庫(kù)時(shí)時(shí),Oracle使使用數(shù)據(jù)塊塊存儲(chǔ)和提提取磁盤上上的數(shù)據(jù)。。當(dāng)查詢一個(gè)個(gè)表時(shí),Oracle將含有查詢?cè)兘Y(jié)果集記記錄的全部部數(shù)據(jù)快讀讀取到服務(wù)務(wù)器的內(nèi)存存中。由一個(gè)或多多個(gè)O/S塊組成在數(shù)據(jù)庫(kù)創(chuàng)創(chuàng)建時(shí)設(shè)定定塊大小,塊大小必必須等于O/S塊塊的大小或或它的倍數(shù)數(shù)。如果服務(wù)器器的操作系系統(tǒng)塊大小小是512K,數(shù)據(jù)據(jù)塊大小可可以是512K、1024K和2048K等。InsertsInsertsInsertsInserts1234PCTFREE=2080%80%40%邏輯結(jié)構(gòu)——數(shù)據(jù)塊塊空間PCTUSED=40MadeupofPartofTemporaryIndexCacheClusterRollbackDataSegmentTablespaceDatabaseLocationofFreeExtentUsedMadeupofInLocationofInstanceDBBlockPartofMadeupofOSBlockControllingControlledbyFileLogicalDiscPartofMadeupofPartofMadeupofMadeupofPartofMadeupofPartofPartofPartof數(shù)據(jù)庫(kù)結(jié)構(gòu)構(gòu)組成實(shí)例實(shí)例=PGA+SGA+后后臺(tái)進(jìn)程程序全局區(qū)區(qū)(PGA)程序全局區(qū)區(qū)(PGA)用于保存服務(wù)器進(jìn)程程的數(shù)據(jù)和控制信息。當(dāng)用戶進(jìn)程程要連接到到Oracle數(shù)據(jù)據(jù)庫(kù)服務(wù)器器時(shí),會(huì)在在實(shí)例中為為其分配相相應(yīng)的服務(wù)務(wù)器進(jìn)程。。SGA組成成SharedPoolDatabaseBufferCacheRedoLog

BufferSystemGlobalArea(SGA)SharedSQLAreasDataDictionary系統(tǒng)全局區(qū)((SGA)1.數(shù)據(jù)庫(kù)高高速緩存(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ù)數(shù)據(jù)字典高速速緩存中讀取取到這些信息息,從而提高高系統(tǒng)性能.系統(tǒng)全局區(qū)((SGA)共享SQL池池用于保存SQL語(yǔ)句的的執(zhí)行計(jì)劃和分分析樹。當(dāng)執(zhí)行SQL語(yǔ)句時(shí),系系統(tǒng)會(huì)將相應(yīng)應(yīng)的執(zhí)行計(jì)劃劃和分析樹保保存到共享SQL池中。。然后當(dāng)再次次執(zhí)行這些SQL語(yǔ)句時(shí)時(shí),系統(tǒng)會(huì)自自動(dòng)使用原有有執(zhí)行計(jì)劃和和分析樹,從從而提高了系系統(tǒng)性能。4.共享SQL池(SharedSQLPool)Oracle后臺(tái)線程后臺(tái)進(jìn)程1.DBWR后臺(tái)進(jìn)程2.LGWR后臺(tái)進(jìn)程3.ARCH實(shí)例與數(shù)據(jù)庫(kù)庫(kù)的關(guān)系一對(duì)一一對(duì)多創(chuàng)建實(shí)例OPENMOUNTNOMOUNTSHUTDOWNAllfilesopenedasdescribedbythecontrolfileforthisinstance.Controlfileopenedforthisinstance.Instancestarted.STARTUP啟動(dòng)一個(gè)實(shí)例例STARTUP數(shù)據(jù)庫(kù)的啟動(dòng)動(dòng)啟動(dòng)實(shí)例-----nomount打開初始化參參數(shù)文件svrmgr>connectinternalsvrmgr>startupnomount;svrmgr>select*fromv$process;svrmgr>select*fromv$controlfile;svrmgr>select*fromv$logfile;svrmgr>select*fromv$datafile;數(shù)據(jù)庫(kù)的啟動(dòng)動(dòng)裝配數(shù)據(jù)庫(kù)-----mount打開控制文件件方法1:svrmgr>alterdatabasemount;方法2:svrmgr>connectinternalsvrmgr>startupmount;查詢操作同前前頁(yè)。數(shù)據(jù)庫(kù)的啟動(dòng)動(dòng)打開數(shù)據(jù)庫(kù)------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)閉一個(gè)實(shí)例例SHUTDOWN數(shù)據(jù)庫(kù)實(shí)例的的關(guān)閉關(guān)閉數(shù)據(jù)庫(kù)關(guān)閉數(shù)據(jù)文件件和日志文件件svrmgr>shutdown;卸下數(shù)據(jù)庫(kù)關(guān)閉控制文件件svrmgr>shutdown;停止實(shí)例關(guān)閉初始化參參數(shù)文件svrmgr>shutdown;Oracle8網(wǎng)絡(luò)與Net8Net8----Oracle的網(wǎng)網(wǎng)絡(luò)連接軟件件連接描述器與與tnsnames.ora監(jiān)聽(tīng)進(jìn)程與listener.ora監(jiān)聽(tīng)進(jìn)程的操操作命令配置服務(wù)器配置客戶機(jī)調(diào)試連接問(wèn)題題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個(gè)要要求監(jiān)聽(tīng)進(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)聽(tīng)服務(wù)務(wù)的實(shí)例列表表監(jiān)聽(tīng)進(jìn)程的操操作命令lsnrctllsnrctl>startlistenernamestoplistenernamestatuslistenernameversionlistenernamesetcurrent_listenerlistenername-----檢檢查監(jiān)聽(tīng)進(jìn)程程是否啟動(dòng):ps-ef|greptnslsnr配置服務(wù)器識(shí)別可用宿主主/etc/hosts------解解決地址映射射識(shí)別可用服務(wù)務(wù)/etc/services----listener1521識(shí)別可用數(shù)據(jù)據(jù)庫(kù)/var/opt/oracle/oratabOracle_SID:ORACLE_HOME:N/Y啟動(dòng)Net8----lsnrctl配置客戶機(jī)識(shí)別可用宿主主/etc/hosts(or..)------解決地址址映射識(shí)別可可用服服務(wù)/etc/services(or..)----listener1521NIC(網(wǎng)絡(luò)接接口卡卡)、、OS、TCP/IP、、NET8運(yùn)行NET8遠(yuǎn)程訪訪問(wèn)數(shù)數(shù)據(jù)庫(kù)庫(kù)Sqlplus用用戶戶名/密碼碼@服服務(wù)務(wù)名((連接接串))Sqlplusscott/tiger@TX08調(diào)試-連接接問(wèn)題題可達(dá)??telnet、ping((客客戶端端--遠(yuǎn)程程主機(jī)機(jī))監(jiān)聽(tīng)??服服務(wù)務(wù)器---通過(guò)過(guò)@連連自己己客戶端端---tnsping服服務(wù)名名次次數(shù)數(shù)安全管管理用戶管管理創(chuàng)建用用戶createuser修改用用戶alteruser刪除用用戶dropuser用戶與與模式式用戶分分類超級(jí)用用戶數(shù)據(jù)庫(kù)庫(kù)管理理員普通用用戶超級(jí)用用戶internal數(shù)據(jù)庫(kù)庫(kù)管理理員數(shù)據(jù)庫(kù)庫(kù)管理理員((DBA))是指具具有DBA角色色的用用戶,,它們們用于于管理理發(fā)生生在數(shù)數(shù)據(jù)庫(kù)庫(kù)內(nèi)的的操作作。如如SYS、、SYSTEM普通用用戶普通用用戶是是指根根據(jù)特特定需需求使使用命命令CREATEUSER所創(chuàng)建建的用用戶。。數(shù)據(jù)庫(kù)庫(kù)驗(yàn)證證CREATEUSERacaIDENTIFIEDBYasiainfo;CONNECTaca/asiainfo外部驗(yàn)驗(yàn)證CREATEUSEROPS$administratorIDENTIFIEDEXTERNALLY;企業(yè)驗(yàn)驗(yàn)證企業(yè)驗(yàn)驗(yàn)證是是指由由OracleSecurityService(OSS)來(lái)驗(yàn)驗(yàn)證數(shù)數(shù)據(jù)庫(kù)庫(kù)用戶戶的方方式。。當(dāng)使使用這這種方方式驗(yàn)驗(yàn)證數(shù)數(shù)據(jù)庫(kù)庫(kù)用戶戶時(shí),,由Oracle數(shù)數(shù)據(jù)庫(kù)庫(kù)來(lái)管管理用用戶帳帳戶,,并且且口令令和用用戶鑒鑒定則則由OSS來(lái)完完成。。創(chuàng)建用用戶創(chuàng)建用用戶ACA創(chuàng)建用用戶CREATEUSERusernameIDENTIFIEDBYuserpassword[DEFAULTTABLESPACEtablespace1][TEMPORARYTABLESPACEtablespace2][QUOTAnKONtablespace1];MUNLIMITED空間限限額修改用用戶修改用用戶username所所使用用的缺缺省表表空間間修改用用戶的的口令令A(yù)LTERUSERusernameTABLESPACEuser_data;ALTERUSERusernameIDENTIFIEDBYuserpasswd;刪除用用戶DROPUSERusername[cascade]特權(quán)管管理特權(quán)簡(jiǎn)簡(jiǎn)介系統(tǒng)特特權(quán)的的授予予和收收回對(duì)象特特權(quán)的的授予予和收收回系統(tǒng)特特權(quán)對(duì)象特特權(quán)特權(quán)管管理系統(tǒng)權(quán)權(quán)限(systemprivilege)針對(duì)整整個(gè)系系統(tǒng)操操作的的權(quán)限限dba_sys_privs,用戶權(quán)權(quán)限(objectprivilege)針對(duì)具具體object操操作權(quán)權(quán)限dba_tab_privs;視視圖dba_col_privs;系統(tǒng)特特權(quán)的的授予予和收收回授予用用戶系系統(tǒng)特特權(quán)GRANTsystemprivsTOusername[WITHADMINOPTION]收回系系統(tǒng)特特權(quán)REVOKEsystemprivsFROMusername;對(duì)象特特權(quán)的的授予予和收收回授予用用戶對(duì)對(duì)象特特權(quán)GRANT對(duì)對(duì)象象特特權(quán)權(quán)TOusername[WITHGRANTOPTION];收回回對(duì)對(duì)象象特特權(quán)權(quán)REVOKE對(duì)象象特特權(quán)權(quán)FROMusername;授于于用用戶戶連連接接Oracle數(shù)據(jù)據(jù)庫(kù)庫(kù)的的權(quán)權(quán)限限Sgrantconnecttousername[withgrantoption];rolenameprivilege......ObjectPrivilegeSELECTUPDATEINSERTALTERDELETEEXECUTEINDEXREFERENCESTypesofObjectPrivilegesTableViewSequenceProcedure1231包括括存存儲(chǔ)儲(chǔ)過(guò)過(guò)程程、、函函數(shù)數(shù)和和包包2該權(quán)權(quán)限限不不能能授授予予角角色色3授予予快快照照對(duì)象象權(quán)權(quán)限限種種類類表表角色色管管理理角色色簡(jiǎn)簡(jiǎn)介介創(chuàng)建建、、修修改改、、刪刪除除角角色色授予予和和收收回回角角色色特特權(quán)權(quán)授予

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論