版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、歡迎參加學(xué)習(xí) ORACLE數(shù)據(jù)庫實用教程 trainingasiainfo 亞信科技(中國)有限公司 培訓(xùn)中心歡迎參加學(xué)習(xí) ORACLE數(shù)據(jù)庫實用教程什么是數(shù)據(jù)庫?數(shù)據(jù)庫是管理數(shù)據(jù)的一種方法,如何組織和存儲數(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ù)庫的定義、操作和管理數(shù)據(jù)管理的發(fā)展的3個階段人工管理階段關(guān)系型數(shù)據(jù)庫關(guān)系型數(shù)據(jù)庫 支
2、持關(guān)系模型,以關(guān)系(表)形式組織數(shù)據(jù)。 著名的關(guān)系型數(shù)據(jù)庫 DB2,ORACLE,INFORMIX,SYBASE等。關(guān)系型數(shù)據(jù)庫=Datafile+RDBMSRDBMSOSDBdatafile1datafile2關(guān)系型數(shù)據(jù)庫關(guān)系型數(shù)據(jù)庫RDBMSOSDBdatafile1實驗環(huán)境%telnet 15 用戶名/口令:oracle8/oracle8%sqlplus scott/tigersqlconnect scott/tigersqlshow usersqlquit實驗環(huán)境%telnet 15 表表-關(guān)系型DB數(shù)據(jù)組織的形式報道表空表-表的結(jié)構(gòu)白紙-設(shè)計一張表
3、-多少項內(nèi)容(列)-畫表時,每項多寬列-字段;列類型( 寬、 類型)-數(shù)據(jù)類型(長度、類型)行-記錄表=列+行-字段+記錄姓名編號單位性別表表-關(guān)系型DB數(shù)據(jù)組織的形式姓名編號單位性別表看scott用戶有哪些表然后查看其中一個表的結(jié)構(gòu)和內(nèi)容#sqlplus scott/tigersqlselect table_name from tabs; (user_tables)sqldesc emp;sqlselect * from emp;表看scott用戶有哪些表表表結(jié)構(gòu)(DDL)create tablealter tabledrop tabletruncate table表內(nèi)容(DML)inser
4、tupdatedeletedesc table_name select field_name from table_name 表表結(jié)構(gòu)(DDL)表內(nèi)容(DML)desc table_na基本數(shù)據(jù)類型CHAR(n)n=255VARCHAR2(n)n=2000LONG(n)n=2G NUMBER(m,n)m精度(1-38) n小數(shù)后位數(shù)RAW(n)二進(jìn)制數(shù)據(jù) n=2000LONG RAW(n)n=2G DATE 缺省形式DD-MON-YYROWID內(nèi)部數(shù)據(jù)類型 (數(shù)據(jù)庫序號.行序號.數(shù)據(jù)文件號)NULL字符串用單引號括起來可以存儲聲音、圖片基本數(shù)據(jù)類型CHAR(n)n ALTER SESSION
5、SET NLS_DATE_FORMAT=YY-MM-DD;2.下次啟動后永久生效-改文件設(shè)置INITSID.ORA中的NLS_DATE_FORMAT參數(shù)可改變?nèi)笔∪掌诘母袷?。日期型?shù)據(jù)的格式說明缺省日期型:dd-mon-yy表結(jié)構(gòu)1建立sqlcreate table table_name (column_name1 datatype not null|unique, column_name2 datatype not null|unique, column_name2 datatype not null|unique);表結(jié)構(gòu)1建立表內(nèi)容1.插入記錄sqlinsert into table_n
6、ame column_name-a, ,column_name-x values (column_value-a,column_value-x);表內(nèi)容1.插入記錄表結(jié)構(gòu)2.變更1修改 sqlalter table table_name modify(column_name datatype );2增加 sqlalter table table_name add(column_name datatype );表結(jié)構(gòu)2.變更表內(nèi)容2.修改記錄sqlupdate table_name set column_name1= values1,column_name2=values2 where sear
7、ch_conditions;表內(nèi)容2.修改記錄表內(nèi)容3.刪除記錄sqldelete from table_name where search_conditions;sqltruncate table table_name;表內(nèi)容3.刪除記錄表結(jié)構(gòu)3.刪除1刪結(jié)構(gòu)及內(nèi)容sqldrop table table_name;表結(jié)構(gòu)3.刪除事物處理事物處理命令提交:commit回滾:rollback保留點:savepointSQL SAVEPOINT CLARK_SAL;SQL ROLLBACK TO SAVEPOINT BLAKE_SAL;事物處理事物處理命令2. 命令修改a 當(dāng)前行末追加c/old/
8、new 更改cl buff 清緩存del 刪除(n, last, m n)i 加入(i, i text)save filename 保存edit、vi filename 編輯start filenamefilename3.保存命令4.執(zhí)行命令1.顯示命令l 顯示(l,l n ,l m n,l last)SQL*PLUS2. 命令修改a 當(dāng)前行末追加save filena練習(xí)建表注意利用SQL命令緩沖區(qū)插入、修改、刪除數(shù)據(jù)(注意條件)提交、回滾練習(xí)建表練習(xí)表名txl-n結(jié)構(gòu):學(xué)號 數(shù)字型 3 唯一 姓名 可變長字符串 10 非空 出生 日期型 電話 數(shù)字型 10查看結(jié)構(gòu)、查看內(nèi)容練習(xí)表名txl-
9、n練習(xí)1增加字段 單位 可變長字符串 122修改字段 出生 可變長字符串 5(原日期)練習(xí)1增加字段 單位 可變長字符串 12練習(xí)插入數(shù)據(jù) 至少5條修改數(shù)據(jù) (根據(jù)條件)刪除數(shù)據(jù)(根據(jù)條件)練習(xí)插入數(shù)據(jù) 至少5條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_dateSQL語句中的函數(shù)字符函數(shù)數(shù)據(jù)查詢語言(DML)命令SELECT語句SELECT FROM WHERE GROU
10、P HAVING ORDER BY 數(shù)據(jù)查詢語言(DML)命令SELECT語句簡單查詢無條件查詢條件查詢排序統(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ù))完成對一組記錄的統(tǒng)計處理分組函數(shù)(統(tǒng)計函數(shù))練習(xí)1 工資的平均值2 獎金的最大值3 工資的總和4 最低工資5 表中數(shù)據(jù)行的總數(shù)6 有多少個不同的部門分組函數(shù)(統(tǒng)計函
11、數(shù))練習(xí)1 工資的平均值分組查詢與排序數(shù)據(jù)分組:對有重復(fù)值的列進(jìn)行分組。查詢: SELECT col1,col2,分組函數(shù) FROM table1 WHERE conditions GROUP BY col1,col2 HAVING condition ORDER BY col1,col2 SELECT選擇的列,必須出現(xiàn)在GROUP BY 子句中;GROUP BY 子句中的列只能是SELECT選擇的列或分組函數(shù)中的列。順序無關(guān)。分組查詢與排序數(shù)據(jù)分組:對有重復(fù)值的列進(jìn)行分組。分組查詢練習(xí):1)編寫SQL語句,從EMP表中返回-部門編號、部門平 均工資。2)編寫SQL語句,從EMP表中返回-部門
12、編號、部門工資總和條件是:部門工資總和大于8000。3)編寫SQL語句,從EMP表中返回-部門編號、部門平均工資條件是:除了部門10,部門工資平均值大于1500的部門的情況。分組查詢練習(xí):多表查詢-連接等值連接非等值連接-自連接外連接多表查詢-連接等值連接select ename,dnamefrom emp e,dept dwhere e.deptno=d.deptno 等值連接(EQUIJOIN)基于列的相等性來連接兩張或多張表。 題目: 查找雇員姓名及所在部門的名稱.select ename,dname 等值連接(EQUIJO非等值連接(NON-EQUIJOIN)基于列的不等性來連接兩張或
13、多張表。題目:請查找雇員SMITH的工資和工資等級情況, 希望顯示的信息-員工名、工資、工資等級.非等值連接(NON-EQUIJOIN)基于列的不等性來連接兩非等值連接(NON-EQUIJOIN)請分析下列語句:SELECT ENAME,SAL,GRADE FROM EMP,SALGRADWHERE ENAME=SMITH;SELECT * FROM SALGRAD;SELECT ENAME,SAL,GRADE FROM EMP,SALGRADWHERE ENAME=SMITHAND SAL BETWEEN LOSAL AND HISAL非等值連接(NON-EQUIJOIN)請分析下列語句:S
14、EL等值連接和非等值連接題目:查找工資級別為2的雇員的信息 。 要求顯示的信息:雇員的姓名,部門的名稱, 工資、工資級別SELECT ENAME,DNAME,SAL,GRADEFROM EMP,DEPT,SALGRADEWHERE GRADE=2 AND SAL BETWEEN LOSAL AND HISAL AND EMP.DEPTNO=DEPT.DEPTNO;等值連接和非等值連接題目:查找工資級別為2的雇員的信息 。自我連接(SELF JOIN)將表連接到自身在SQL語句中一個表暫時重新命名為兩個表。題目:EMP中查找員工和其經(jīng)理的對應(yīng)關(guān)系:要求-員工名稱和其經(jīng)理的名稱同一基表的不同行做聯(lián)
15、接,如同兩個獨立的基表,在FROM子句中至少要為一個基表起別名,以區(qū)別聯(lián)接條件中的列名自我連接(SELF JOIN)將表連接到自身同一基表的不同行自連接(SELF JOIN)SELECT WORKER.ENAME, MANAGER.ENAME MANAGERFROM EMP WORKER, EMP MANAGERWHERE WORKER.MGR=MANAGER.EMPNO;自連接(SELF JOIN)SELECT WORKER.E外連接(OUTER JOIN)用于返回存在在一張表上 的所有數(shù)據(jù)行,甚至相對 應(yīng)的行 在連接的表中不存 在。(+)號用于在查詢中的 OUTERJOIN。 帶(+)的表
16、是那些沒有 相應(yīng)行的表。外連接(OUTER JOIN)用于返回存在在一張表上外連接(OUTER JOIN)題目1:EMP中查找員工和其經(jīng)理的對應(yīng)關(guān)系: 要求-員工名稱和其經(jīng)理的名稱,請注意使用外連接及(+)放置位置。SELECT WORKER.ENAME, MANAGER.ENAME MANAGERFROM EMP WORKER,EMP MANAGERWHERE WORKER.MGR=MANAGER.EMPNO(+);外連接(OUTER JOIN)題目1:EMP中查找員工和其經(jīng)外連接(OUTER JOIN)題目2:查找哪些部門有叫SMITH的人 顯示:雇員名稱、部門名稱(所有部門都要列出來)E
17、NAME DNAME- - ACCOUNTINGSMITH RESEARCH SALES OPERATIONS SELECT ENAME,DNAMEFROM EMP E,DEPT DWHERE E.DEPTNO(+)=D.DEPTNO AND E.ENAME(+)=SMITH;外連接(OUTER JOIN)題目2:查找哪些部門有叫SMI外連接(OUTER JOIN)題目3:查找哪些部門沒有叫SMITH的人 要求顯示信息:雇員名稱、部門名稱ENAME DNAME- - ACCOUNTINGSMITH RESEARCH SALES OPERATIONS select ename,dnamefrom
18、 emp e,dept dwhere e.deptno(+)=d.deptnoand e.ename(+)=SMITHand e.ename is null 外連接(OUTER JOIN)題目3:查找哪些部門沒有叫SM子查詢單行值子查詢多行值子查詢多列子查詢相關(guān)子查詢子查詢單行值子查詢單行值子查詢工資高于7698號雇員,并且工種與他相同的雇員情況SQLSELECT ENAME,SAL,JOB FROM EMP WHERE SAL(SELECT SAL FROM EMP WHERE EMPNO=7698) AND JOB=(SELECT JOB FROM EMP WHERE EMPNO=7698
19、);單行值子查詢工資高于7698號雇員,并且工種與他相同的雇員情多行值子查詢謂詞IN, NOT IN哪些部門沒有叫SMITH的雇員。SQL select dept.deptno,dname,loc from dept 2 where dept.deptno not in 3 ( select deptno from emp 4 where ename=SMITH);多行值子查詢謂詞IN, NOT IN多行值子查詢ANY: 子查詢返回結(jié)果中的任一值滿足條件即可。ANY前可以使用!=、=、 SELECT EMPNO,ENAME,SAL 2 FROM EMP 3 WHERE SAL SELECT E
20、MPNO,ENAME,SAL FROM EMP 2 WHERE SALALL( SELECT SAL FROM EMP WHERE DEPTNO=20);也可表達(dá)為:SQL SELECT EMPNO,ENAME,SAL FROM EMP 2 WHERE SAL( SELECT MAX(SAL) FROM EMP WHERE DEPTNO=20);多行值子查詢ALL: 子查詢返回結(jié)果中的所有值滿足多行值子查詢EXISTS: 子查詢至少返回一行時條件成立。NOT EXISTS:子查詢不返回任何行時條件成立。用途確定一個表中的哪些信息在另一個表中沒有匹配。用NOT EXISTS代替NOT IN多行值
21、子查詢EXISTS: 子查詢至少返回一行時條多列子查詢例:查出工資、獎金與20號雇員匹配的人員。SQL select ename from emp where (nvl(comm,0),sal) in (select nvl(comm,0),sal from emp where deptno=20);多列子查詢例:查出工資、獎金與20號雇員匹配的人員。相關(guān)子查詢例:查出工資、獎金與20號雇員匹配的人員。SQL select ename from emp where (nvl(comm,0),sal) in (select nvl(comm,0),sal from emp where deptn
22、o=20);相關(guān)子查詢例:查出工資、獎金與20號雇員匹配的人員。其它查詢集合UNION INTERSECTMINUS樹查詢其它查詢集合UNIONUNION:將表和視圖中的記錄合并在一起。所有部門中有哪些雇員的工資超過2OOO?SQL select * from emp where sal2000SQLselect ename,sal from dept10 where sal2000 union select ename,sal from dept20 where sal2000 union select ename,sal from dept30 where sal2000;UNIONUNI
23、ON:將表和視圖中的記錄合并在一起。視圖SQL create view dept10 as 2 select ename,job,sal from emp 3 where deptno=10;dept20、dept30的創(chuàng)建過程同dept10視圖SQL create view dept10 asINTERSECT返回查詢結(jié)果中相同的部分。哪些部門有相同的工種?SQLselect distinct a.job from emp a,emp b where a.deptnob.deptno and a.job=b.jobSQL select job from dept30 intersect se
24、lect job from dept20 intersect select job from dept10;INTERSECT返回查詢結(jié)果中相同的部分。MINUS返回第一個查詢結(jié)果中與第二個查詢結(jié)果不相同的那部分行記錄 有哪些工種是在財會部有,而在銷售部中沒有?SQLselect job from emp where deptno=10 and job not in (select job from emp where deptno=30);SQL select job from dept10 minus select job from dept30;MINUS返回第一個查詢結(jié)果中與第二個查詢
25、結(jié)果不相同的那部分子查詢注意子查詢必須用括號括住;子查詢必須只有一列,或者子查詢的多列與主查詢中用括號括起來的多個列連接;單行值子查詢可以使用單值或多值運(yùn)算符,多行子查詢必須使用多值運(yùn)算符;BETWEEN AND不能用于子查詢;子查詢中不能使用ORDER BY子句;子查詢注意測試操作運(yùn)算符單值: =、=、=、!= 、=、 LIKE、IS NULL、IS NOT NULL。多值: IN、NOT IN; (BETWEEN AND、NOT BETWEEN AND) ANY、NOT ANY; ALL、NOT ALL; EXISTS、NOT EXISTS。測試操作運(yùn)算符單值: =、=、 select *
26、 from V$controlfile;物理結(jié)構(gòu)-控制文件1. $ORACLE_HOME/dbs目錄物理結(jié)構(gòu)-日志文件聯(lián)機(jī)重做日志文件歸檔日志文件物理結(jié)構(gòu)-日志文件聯(lián)機(jī)重做日志文件歸檔日志文件以O(shè)RACLE FOR SOLARIS為例:數(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/o
27、ra_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以O(shè)RACLE FOR SOLA
28、RIS為例:邏輯組成多個表空間(tablespace)組成一個表空間是一個邏輯存儲區(qū)數(shù)據(jù)庫模式(schema)對象模式是對象的集合。模式對象直接涉及數(shù)據(jù)庫數(shù)據(jù)的邏輯結(jié)構(gòu) ,包括表、視圖、序列、存儲過程、同義詞、索引等 邏輯存儲結(jié)構(gòu)包括表空間、段(segment)、區(qū)(extent)、塊(block),指明如何使用數(shù)據(jù)庫物理空間。邏輯組成多個表空間(tablespace)組成邏輯存儲結(jié)構(gòu)包表空間的幾個概念表空間分類: System表空間、其它表空間只讀表空間、可讀寫表空間 表空間的狀態(tài): 脫機(jī)、聯(lián)機(jī)-控制數(shù)據(jù)的可用性表空間大小的管理:建立、增加、修改表空間的幾個概念表空間分類: 表空間的幾個概念
29、表空間的狀態(tài): 脫機(jī)、聯(lián)機(jī)-控制數(shù)據(jù)的可用性SQL alter tablespace name offline normal;SQL select * from user_tablespaces;SQL alter tablespace test online;SQL select table_name , tablespace_name from tabs; 表空間的幾個概念表空間的狀態(tài): 脫機(jī)、聯(lián)機(jī)-控制數(shù)據(jù)的單一表空間-system表空間單一表空間-system表空間多個表空間-system表空間和其它表空間多個表空間-system表空間和其它表空間表空間中數(shù)據(jù)文件的自動增長表空間中數(shù)據(jù)
30、文件的自動增長表空間的物理存儲區(qū)-數(shù)據(jù)文件表空間的物理存儲區(qū)-數(shù)據(jù)文件數(shù)據(jù)庫對象的物理存儲區(qū)-段數(shù)據(jù)庫對象的物理存儲區(qū)-段例子:表空間與表空間中對象CREATE TABLESPACE user_dataDATAFILE datauser1Tx08.dbf SIZE 5MONLINEDEFAULT STORAGE (INITIAL 10KNEXT 10KMINEXTENTS 2MAXEXTENTS 50PCTINCREASE 0 );例子:表空間與表空間中對象CREATE TABLESPACE邏輯結(jié)構(gòu)段、區(qū)和數(shù)據(jù)塊數(shù)據(jù)庫空間的分配單元是段、區(qū)和數(shù)據(jù)塊。段:決定數(shù)據(jù)庫對象使用的全部區(qū)的集合。區(qū):由
31、連續(xù)的數(shù)據(jù)塊的集合。塊:Oracle數(shù)據(jù)庫磁盤存取的最小的單元。邏輯結(jié)構(gòu)段、區(qū)和數(shù)據(jù)塊數(shù)據(jù)庫空間的分配單元是段、區(qū)和數(shù)據(jù)塊保存表和簇的所有數(shù)據(jù)的區(qū)的聚集保存特殊索引的所有數(shù)據(jù)的區(qū)的聚集1.數(shù)據(jù)段2.索引段邏輯結(jié)構(gòu)段類型保存表和簇的所有數(shù)據(jù)的區(qū)的聚集1.數(shù)據(jù)段2.索引段邏輯結(jié)構(gòu)4.臨時段回滾段記錄一個事務(wù)的回滾數(shù)據(jù)。事務(wù)可以使用提交或回滾結(jié)束?;貪L即撤消事務(wù)的全部作用,就象事務(wù)從未發(fā)生過。要實現(xiàn)回滾,必須跟蹤事務(wù)所更改的數(shù)據(jù),直到提交或回滾。保存屬于臨時對象的數(shù)據(jù)的區(qū)的聚集SQL語句經(jīng)常要求臨時工作區(qū)。例如,當(dāng)為一個大表創(chuàng)建索引時,必須分配臨時空間,排序全部的索引項;當(dāng)處理一條需要臨時工作空間的
32、SQL,就從數(shù)據(jù)庫的表空間中分配小的臨時段。語句完成后,將段釋放回表空間。3.回滾段邏輯結(jié)構(gòu)段類型4.臨時段回滾段記錄一個事務(wù)的回滾數(shù)據(jù)。3.回滾段邏輯結(jié)構(gòu)查詢有哪些類型的段:SQL select distinct segment_type from dba_segments;(以SYS和SYSTEM用戶身份登錄)邏輯結(jié)構(gòu)段類型查詢某一用戶在某一表空間中段的占有情況:SQL column segment_name format a10SQL select * from user_segments;SQL select * from user_segments where tablespace_
33、name=TEST;查詢有哪些類型的段:邏輯結(jié)構(gòu)段類型查詢某一用戶在某一表空間數(shù)據(jù)段每張非聚簇表有一個單獨的數(shù)據(jù)段來存放所有的數(shù)據(jù)。SQL select segment_name from dba_segments where segment_type=TABLE;邏輯結(jié)構(gòu)段類型索引段每個索引有單獨的索引段來存放數(shù)據(jù)。SQL select segment_name from dba_segments where segment_type=INDEX;ROLLBACKTEMPORARY數(shù)據(jù)段邏輯結(jié)構(gòu)段類型索引段邏輯結(jié)構(gòu)區(qū)當(dāng)創(chuàng)建新的數(shù)據(jù)對象(表、索引等)時,Oracle為對象的段分配一個或多個區(qū)。
34、區(qū)是存儲對象段的表空間數(shù)據(jù)文件中的一系列連續(xù)的數(shù)據(jù)塊。邏輯結(jié)構(gòu)區(qū)當(dāng)創(chuàng)建新的數(shù)據(jù)對象(表、索引等)時,Oracle邏輯結(jié)構(gòu)區(qū)區(qū)的設(shè)置(決定區(qū)的參數(shù))創(chuàng)建段時,可以決定分配區(qū)的數(shù)目。maxextents 最大分配的區(qū)數(shù),minextents 最小分配的區(qū)數(shù)可以控制區(qū)的大小。能夠設(shè)置段的初始區(qū)間和后續(xù)區(qū)間的大小initial 最初分配的空間數(shù)(缺省為10k,5個數(shù)據(jù)塊)next 下一步分配的空間數(shù)pctincrease 增長率,指數(shù)級增長邏輯結(jié)構(gòu)區(qū)區(qū)的設(shè)置(決定區(qū)的參數(shù))邏輯結(jié)構(gòu)區(qū)SQL select * from user_extents;SQL select * from dba_extents
35、;(SYS用戶和SYSTEM用戶)邏輯結(jié)構(gòu)區(qū)SQL select * from user_邏輯結(jié)構(gòu)數(shù)據(jù)塊最小的磁盤存取單元,當(dāng)操作一個數(shù)據(jù)庫時,Oracle使用數(shù)據(jù)塊存儲和提取磁盤上的數(shù)據(jù)。 當(dāng)查詢一個表時,Oracle將含有查詢結(jié)果集記錄的全部數(shù)據(jù)快讀取到服務(wù)器的內(nèi)存中。由一個或多個O/S 塊組成在數(shù)據(jù)庫創(chuàng)建時設(shè)定塊大小,塊大小必須等于O/S 塊的大小或它的倍數(shù)。 如果服務(wù)器的操作系統(tǒng)塊大小是512K,數(shù)據(jù)塊大小可以是512K、1024K和2048K等。邏輯結(jié)構(gòu)數(shù)據(jù)塊最小的磁盤存取單元,當(dāng)操作一個數(shù)據(jù)庫時,OrInsertsInsertsInsertsInserts1234PCTFREE=2
36、080%80%40%邏輯結(jié)構(gòu) 數(shù)據(jù)塊空間PCTUSED=40InsertsInsertsInsertsInserts12Made up ofPart ofTemporaryIndexCacheClusterRollbackDataSegmentTablespaceDatabaseLocation ofFreeExtentUsedMade up ofI nLocation ofInstanceDB BlockPart ofMade up ofOS BlockControllingControlled byFileLogical DiscPart ofMade up ofPart ofMade u
37、p ofMade up ofPart ofMade up ofPart ofPart ofPart of數(shù)據(jù)庫結(jié)構(gòu)組成Made up ofPart ofTemporaryInde實例實例實例=PGA+SGA+后臺進(jìn)程實例=PGA+SGA+后臺進(jìn)程程序全局區(qū)(PGA)程序全局區(qū)(PGA)用于保存服務(wù)器進(jìn)程的數(shù)據(jù)和控制信息。當(dāng)用戶進(jìn)程要連接到Oracle數(shù)據(jù)庫服務(wù)器時,會在實例中為其分配相應(yīng)的服務(wù)器進(jìn)程。程序全局區(qū)(PGA)程序全局區(qū)(PGA)SGA組成Shared PoolDatabase Buffer CacheRedo LogBufferSystem Global Area(SGA)Shar
38、ed SQL AreasData DictionarySGA組成Shared PoolDatabase Buffe系統(tǒng)全局區(qū)(SGA)1.數(shù)據(jù)庫高速緩存(Data Block Buffer Cache)系統(tǒng)全局區(qū)(SGA)1.數(shù)據(jù)庫高速緩存(Data Block系統(tǒng)全局區(qū)(SGA)2.重做日志緩沖區(qū)(Redo Log Buffers)系統(tǒng)全局區(qū)(SGA)2.重做日志緩沖區(qū)(Redo Log B系統(tǒng)全局區(qū)(SGA)3.數(shù)據(jù)字典高速緩存(Dictionary Cache)該高速緩存用于存放最近使用和經(jīng)常使用的數(shù)據(jù)字典信息。當(dāng)下次需要這些信息時,就可以直接從數(shù)據(jù)字典高速緩存中讀取到這些信息,從而提高
39、系統(tǒng)性能.系統(tǒng)全局區(qū)(SGA)3.數(shù)據(jù)字典高速緩存(Dictionar系統(tǒng)全局區(qū)(SGA)共享SQL池用于保存SQL語句的執(zhí)行計劃和分析樹。當(dāng)執(zhí)行SQL語句時,系統(tǒng)會將相應(yīng)的執(zhí)行計劃和分析樹保存到共享SQL池中。然后當(dāng)再次執(zhí)行這些SQL語句時,系統(tǒng)會自動使用原有執(zhí)行計劃和分析樹,從而提高了系統(tǒng)性能。4. 共享SQL池(Shared SQL Pool)系統(tǒng)全局區(qū)(SGA)4. 共享SQL池(Shared SQLOracle后臺線程Oracle后臺線程后臺進(jìn)程1. DBWR后臺進(jìn)程1. DBWR后臺進(jìn)程 2. LGWR后臺進(jìn)程 2. LGWR后臺進(jìn)程3. ARCH后臺進(jìn)程3. ARCH實例與數(shù)據(jù)庫
40、的關(guān)系一對一一對多實例與數(shù)據(jù)庫的關(guān)系一對一一對多創(chuàng)建實例創(chuàng)建實例 OPENMOUNTNOMOUNTSHUTDOWNAll files opened as described by the control file for thisinstance.Control file opened for this instance.Instance started.START UP 啟動一個實例START UP OPENMOUNTNOMOUNTSHUTDOWNAll 數(shù)據(jù)庫的啟動啟動實例-nomount打開初始化參數(shù)文件 svrmgrconnect internal svrmgrstartup nomo
41、unt; svrmgrselect * from v$process; svrmgrselect * from v$controlfile; svrmgrselect * from v$logfile; svrmgrselect * from v$datafile;數(shù)據(jù)庫的啟動啟動實例-nomount數(shù)據(jù)庫的啟動裝配數(shù)據(jù)庫-mount 打開控制文件 方法1: svrmgralter database mount; 方法2: svrmgrconnect internal svrmgrstartup mount; 查詢操作同前頁。數(shù)據(jù)庫的啟動裝配數(shù)據(jù)庫-mount數(shù)據(jù)庫的啟動打開數(shù)據(jù)庫-open
42、打開數(shù)據(jù)文件和日志文件 方法1: svrmgr alter database open; 方法2: svrmgrconnect internal svrmgrstartup; svrmgrselect * from user_tablespaces; svrmgrselect * from dba_data_files;數(shù)據(jù)庫的啟動打開數(shù)據(jù)庫-open OPENMOUNTNOMOUNTSHUTDOWNAll files opened as described by the control file for thisinstance.Control file opened for this in
43、stance.Instance started.SHUTDOWN 關(guān)閉一個實例SHUTDOWN OPENMOUNTNOMOUNTSHUTDOWNAll 數(shù)據(jù)庫實例的關(guān)閉關(guān)閉數(shù)據(jù)庫 關(guān)閉數(shù)據(jù)文件和日志文件 svrmgrshutdown;卸下數(shù)據(jù)庫 關(guān)閉控制文件 svrmgrshutdown;停止實例 關(guān)閉初始化參數(shù)文件 svrmgrshutdown;數(shù)據(jù)庫實例的關(guān)閉關(guān)閉數(shù)據(jù)庫Oracle8網(wǎng)絡(luò)與Net8Net8-Oracle的網(wǎng)絡(luò)連接軟件連接描述器與tnsnames.ora監(jiān)聽進(jìn)程與listener.ora監(jiān)聽進(jìn)程的操作命令配置服務(wù)器配置客戶機(jī)調(diào)試連接問題Oracle8網(wǎng)絡(luò)與Net8Net8-O
44、racle的網(wǎng)Net8Net8SQL*NET原理及所需配置文件listener.oratnsnames.oraProcessServerSQL*NET原理及所需配置文件listener.oratn連接描述器與tnsnames.oraTX08=( DESCREPTION= (ADDRESS= (PROTOCOL=TCP) (HOST=15) (PORT=1521) ) (CONNECT DATA= (SID=TX08) ) )$ORACLE_HOME/network/admin-tnsnames.oratnsnames.ora 2個要求連接描述器與tnsnames.oraTX0
45、8=( DESCR監(jiān)聽進(jìn)程與listener.oraListener=(ADDRESS LIST= (ADDRESS= (PROTOCOL=TCP) (HOST=15) ) ) - (SID_LIST_LISTENER= (SID LIST= ( SID_DESC= SID_NAME=TX08 ORACLE_HOME=/DATA1/ORACLE/TX08 ) ) )1.地址列表2.監(jiān)聽服務(wù)的實例列表監(jiān)聽進(jìn)程與listener.oraListener=(ADD監(jiān)聽進(jìn)程的操作命令lsnrctllsnrctl start listenername stop listenername
46、 status listenername version listenername set current_listener listenername-檢查監(jiān)聽進(jìn)程是否啟動: ps -ef|grep tnslsnr監(jiān)聽進(jìn)程的操作命令lsnrctl配置服務(wù)器識別可用宿主 /etc/hosts -解決地址映射識別可用服務(wù) /etc/services -listener 1521識別可用數(shù)據(jù)庫 /var/opt/oracle/oratab Oracle_SID:ORACLE_HOME:N/Y啟動Net 8 -lsnrctl配置服務(wù)器識別可用宿主 /etc/hosts -配置客戶機(jī)識別可用宿主 /et
47、c/hosts (or .)-解決地址映射識別可用服務(wù) /etc/services (or. )-listener 1521NIC(網(wǎng)絡(luò)接口卡)、OS、TCP/IP、NET8運(yùn)行NET8配置客戶機(jī)識別可用宿主 /etc/hosts (遠(yuǎn)程訪問數(shù)據(jù)庫Sqlplus 用戶名/密碼 服務(wù)名(連接串)Sqlplus scott/tigerTX08遠(yuǎn)程訪問數(shù)據(jù)庫Sqlplus 用戶名/密碼 服務(wù)名(連接串調(diào)試-連接問題可達(dá)?telnet、ping (客戶端-遠(yuǎn)程主機(jī))監(jiān)聽? 服務(wù)器-通過連自己 客戶端-tnsping 服務(wù)名 次數(shù)調(diào)試-連接問題可達(dá)?telnet、ping 安全管理用戶管理創(chuàng)建用戶cre
48、ate user修改用戶alter user刪除用戶drop user安全管理用戶管理用戶與模式用戶與模式用戶分類超級用戶數(shù)據(jù)庫管理員普通用戶用戶分類超級用戶超級用戶internal超級用戶internal數(shù)據(jù)庫管理員數(shù)據(jù)庫管理員(DBA) 是指具有DBA角色的用戶,它們用于管理發(fā)生在數(shù)據(jù)庫內(nèi)的操作。如SYS、SYSTEM數(shù)據(jù)庫管理員數(shù)據(jù)庫管理員(DBA)普通用戶普通用戶是指根據(jù)特定需求使用命令CREATE USER所創(chuàng)建的用戶。普通用戶普通用戶是指根據(jù)特定需求使用命令數(shù)據(jù)庫驗證CREATE USER aca IDENTIFIED BY asiainfo;CONNECT aca/asiainf
49、o數(shù)據(jù)庫驗證CREATE USER aca IDENTIFIE外部驗證CREATE USER OPS$administrator IDENTIFIED EXTERNALLY;外部驗證CREATE USER OPS$administra企業(yè)驗證企業(yè)驗證是指由Oracle Security Service (OSS)來驗證數(shù)據(jù)庫用戶的方式。當(dāng)使用這種方式驗證數(shù)據(jù)庫用戶時,由Oracle數(shù)據(jù)庫來管理用戶帳戶,并且口令和用戶鑒定則由OSS來完成。企業(yè)驗證企業(yè)驗證是指由Oracle Security Ser創(chuàng)建用戶創(chuàng)建用戶ACA創(chuàng)建用戶創(chuàng)建用戶ACA創(chuàng)建用戶CREATE USER username ID
50、ENTIFIED BY userpassword DEFAULT TABLESPACE tablespace1 TEMPORARY TABLESPACE tablespace2QUOTA n K ON tablespace1; M UNLIMITED空間限額創(chuàng)建用戶CREATE USER username IDEN修改用戶修改用戶username所使用的缺省表空間修改用戶的口令A(yù)LTER USER username TABLESPACE user_data;ALTER USER username IDENTIFIED BY userpasswd;修改用戶修改用戶username所使用的缺省表空
51、間ALTER刪除用戶DROP USER username cascade刪除用戶DROP USER username cascad特權(quán)管理特權(quán)簡介系統(tǒng)特權(quán)的授予和收回對象特權(quán)的授予和收回特權(quán)管理特權(quán)簡介系統(tǒng)特權(quán)系統(tǒng)特權(quán)對象特權(quán)對象特權(quán)特權(quán)管理系統(tǒng)權(quán)限(system privilege )針對整個系統(tǒng)操作的權(quán)限dba_sys_privs,用戶權(quán)限(object privilege)針對具體object操作權(quán)限dba_tab_privs;視圖dba_col_privs;特權(quán)管理系統(tǒng)權(quán)限(system privilege )系統(tǒng)特權(quán)的授予和收回授予用戶系統(tǒng)特權(quán)GRANT systemprivs TO
52、 username WITH ADMIN OPTION 收回系統(tǒng)特權(quán)REVOKE systemprivs FROM username ;系統(tǒng)特權(quán)的授予和收回授予用戶系統(tǒng)特權(quán)對象特權(quán)的授予和收回授予用戶對象特權(quán)GRANT 對象特權(quán) TO username WITH GRANT OPTION;收回對象特權(quán)REVOKE 對象特權(quán) FROM username ;對象特權(quán)的授予和收回授予用戶對象特權(quán)授于用戶連接Oracle數(shù)據(jù)庫的權(quán)限Sgrant connect tousername with grant option;rolenameprivilege.授于用戶連接Oracle數(shù)據(jù)庫的權(quán)限Sgrant
53、 cObject PrivilegeSELECT UPDATE INSERT ALTER DELETE EXECUTE INDEX REFERENCESTypes of Object PrivilegesTableView Sequence Procedure1231包括存儲過程、函數(shù)和包2該權(quán)限不能授予角色3授予快照對象權(quán)限種類表Object PrivilegeTypes of Objec角色管理角色簡介創(chuàng)建、修改、刪除角色授予和收回角色特權(quán)授予和收回用戶角色禁止和激活角色角色管理角色簡介角色簡介角色簡介角色簡介角色分類角色特權(quán)授予和收回用戶角色角色口令禁止和激活角色角色簡介角色分類角色連接角色connect連上Oracle,做最基本操作資源角色resource 具有程序開發(fā)最基本的權(quán)限數(shù)據(jù)庫管理員角色dba數(shù)據(jù)庫管理員所有權(quán)限角色連接角色角色卸出數(shù)據(jù)庫角色exp-full-
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 福建師范大學(xué)《數(shù)學(xué)和統(tǒng)計學(xué)前沿專題》2022-2023學(xué)年第一學(xué)期期末試卷
- 福建師范大學(xué)《國際私法》2021-2022學(xué)年第一學(xué)期期末試卷
- 福建師范大學(xué)《福建地理》2022-2023學(xué)年第一學(xué)期期末試卷
- 2024年四川省安全員A證考試題庫(含答案)
- 公司安全生產(chǎn)大培訓(xùn)登記表
- 2024屆錫林郭勒市重點中學(xué)高三下學(xué)期4月調(diào)研數(shù)學(xué)試題
- 攻堅克難創(chuàng)效益多措并舉保履約
- 四年級上冊語文課件教學(xué)
- 2024年煙臺考客運(yùn)資格證
- 2024年茂名客運(yùn)從業(yè)資格考試題庫
- 旋挖成孔灌注樁工程技術(shù)規(guī)程
- 法治教育教學(xué)教案及反思(3篇模板)
- JBT 7363-2023 滾動軸承 零件碳氮共滲 熱處理技術(shù)規(guī)范 (正式版)
- 飼料加工員試題及答案
- 2024年湖南省長沙市湖南師大附中教育集團(tuán)中考全真模擬考試(一模)語文試題
- 寓德育教育于化學(xué)教學(xué)
- CRRT治療原理、模式選擇
- GB 21257-2024燒堿、聚氯乙烯樹脂和甲烷氯化物單位產(chǎn)品能源消耗限額
- 人教版九年級化學(xué)暑假銜接課程05分子和原子 講義
- 生產(chǎn)部門年度培訓(xùn)計劃
- 在線網(wǎng)課學(xué)習(xí)知道《學(xué)習(xí)科學(xué)與技術(shù)(山東師大)》單元測試考核答案
評論
0/150
提交評論