福建省電力公司oracle培訓(xùn)教材-Oracle9i-DBA-基礎(chǔ)課件_第1頁(yè)
福建省電力公司oracle培訓(xùn)教材-Oracle9i-DBA-基礎(chǔ)課件_第2頁(yè)
福建省電力公司oracle培訓(xùn)教材-Oracle9i-DBA-基礎(chǔ)課件_第3頁(yè)
福建省電力公司oracle培訓(xùn)教材-Oracle9i-DBA-基礎(chǔ)課件_第4頁(yè)
福建省電力公司oracle培訓(xùn)教材-Oracle9i-DBA-基礎(chǔ)課件_第5頁(yè)
已閱讀5頁(yè),還剩127頁(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)介

ORACLE9iDBA基礎(chǔ)系統(tǒng)軟件部

湯慶鋒福州磬基電子有限公司ORACLE9iDBA基礎(chǔ)系統(tǒng)軟件部湯慶鋒數(shù)據(jù)字典數(shù)據(jù)字典是ORACLE數(shù)據(jù)庫(kù)最重要的組成部分。數(shù)據(jù)字典是一系列存放數(shù)據(jù)庫(kù)元數(shù)據(jù)信息的表和視圖。數(shù)據(jù)字典具有如下特征:數(shù)據(jù)字典由一些基表和相關(guān)的視圖組成。數(shù)據(jù)字典在數(shù)據(jù)庫(kù)創(chuàng)建時(shí)自動(dòng)創(chuàng)建。SYS是數(shù)據(jù)字典的所有者。數(shù)據(jù)字典由OracleServer維護(hù)(更新)對(duì)于用戶和管理人員來(lái)說(shuō),數(shù)據(jù)字典是只讀的。數(shù)據(jù)字典數(shù)據(jù)字典是ORACLE數(shù)據(jù)庫(kù)最重要的組成部分。數(shù)據(jù)字典使用數(shù)據(jù)字典能夠提供如下的信息:邏輯和物理的數(shù)據(jù)庫(kù)結(jié)構(gòu)

selectname,bytesfromdba_data_files;對(duì)象的定義和空間分配

select*fromuser_segments;完整性約束

selecttable_name,constraint_namefromuser_constraints;用戶信息

selectusername,default_tablespace,temporary_tablespacefromdba_users;權(quán)限信息

selectgrantee,granted_rolefromdba_role_privs;數(shù)據(jù)字典使用數(shù)據(jù)字典能夠提供如下的信息:數(shù)據(jù)字典數(shù)據(jù)字典的分類:根據(jù)它們的前綴,數(shù)據(jù)字典可以分為如下類別:DBA_:這種視圖提供數(shù)據(jù)庫(kù)中所有對(duì)象的信息,有個(gè)owner列如,dba_tables,dba_indexesALL_:這種視圖提供數(shù)據(jù)庫(kù)中當(dāng)前用戶可以訪問(wèn)的對(duì)象的信息如,all_tables,all_indexesUSER_:這種視圖提供用戶擁有的對(duì)象信息如,user_tables,user_indexesV$:這種視圖又叫動(dòng)態(tài)性能視圖,因?yàn)樗鼈優(yōu)殡S著數(shù)據(jù)庫(kù)的打開和使用連續(xù)更新,而且它們的內(nèi)容也和運(yùn)行有關(guān)。如,v$database,v$instance數(shù)據(jù)字典數(shù)據(jù)字典的分類:常用數(shù)據(jù)字典視圖查詢對(duì)象信息

tab,obj,dba_tables,dba_objects查詢數(shù)據(jù)庫(kù)、實(shí)例的信息

v$database,v$instance查詢用戶信息

dba_users、all_users查詢用戶權(quán)限

dba_role_privs、dba_sys_privs查詢數(shù)據(jù)庫(kù)的結(jié)構(gòu)信息(表空間、數(shù)據(jù)文件、日志文件)

dba_tablespaces、dba_data_files、v$logfile常用數(shù)據(jù)字典視圖查詢對(duì)象信息控制文件每一個(gè)Oracle數(shù)據(jù)庫(kù)都有一個(gè)控制文件controlfile控制文件記錄數(shù)據(jù)庫(kù)的物理結(jié)構(gòu)其中包括:數(shù)據(jù)庫(kù)名稱相關(guān)的數(shù)據(jù)庫(kù)和聯(lián)機(jī)重做日志文件的名稱和位置數(shù)據(jù)庫(kù)創(chuàng)建的時(shí)間戳當(dāng)前日志序列號(hào)檢查點(diǎn)信息備份信息

Oracle數(shù)據(jù)庫(kù)的控制文件和數(shù)據(jù)庫(kù)同時(shí)創(chuàng)建,控制文件主要用于打開數(shù)據(jù)庫(kù)、存取數(shù)據(jù)庫(kù)和恢復(fù)數(shù)據(jù)庫(kù)。如果控制文件被破壞,則無(wú)法對(duì)數(shù)據(jù)庫(kù)進(jìn)行操作。為了防止控制文件被破壞,ORACLE允許鏡象控制文件。一般一個(gè)數(shù)據(jù)庫(kù)應(yīng)至少有兩個(gè)控制文件,它們分別分布在不同的磁盤上??刂莆募奈募òㄧR象)由初始化參數(shù)文件(initSID.ora)中的參數(shù)CONTROL_FILES指出??刂莆募恳粋€(gè)Oracle數(shù)據(jù)庫(kù)都有一個(gè)控制文件c如何鏡像控制文件創(chuàng)建附加的控制文件拷貝用戶創(chuàng)建新的控制文件的方法是將現(xiàn)有文件拷貝到新的地址將文件名添加到控制文件列表類似地用戶通過(guò)拷貝文件為新的名字或地址來(lái)重命名現(xiàn)有文件并且改變控制文件列表中的文件名。

關(guān)閉數(shù)據(jù)庫(kù)

使用操作系統(tǒng)的命令將現(xiàn)存的控制文件拷貝到不同的地方

編輯數(shù)據(jù)庫(kù)初始化文件(initSID.ora)中的CONTROL_FILES參數(shù)添加新的控制文件名和位置。重新啟動(dòng)數(shù)據(jù)庫(kù)如何鏡像控制文件創(chuàng)建附加的控制文件拷貝刪除控制文件刪除控制文件用戶可以從數(shù)據(jù)庫(kù)中刪除控制文件例如如果控制文件的位置不合適或控制文件破壞時(shí)用戶可能希望這樣做。記住在任何時(shí)候數(shù)據(jù)庫(kù)建議至少有兩個(gè)控制文件。關(guān)閉數(shù)據(jù)庫(kù)。編輯數(shù)據(jù)庫(kù)初始化參數(shù)文件中的CONTROL_FILES參數(shù)刪除舊的控制文件名。重新啟動(dòng)數(shù)據(jù)庫(kù)。警告:這個(gè)操作不能物理上從磁盤上刪除不希望的控制文件,用戶從數(shù)據(jù)庫(kù)中刪除控制文件之后使用操作系統(tǒng)的命令來(lái)刪除不需要的文件.刪除控制文件刪除控制文件查詢控制文件的信息ORACLE數(shù)據(jù)字典存放著控制文件的所有信息V$controlfileShowparametercontrol_filesV$controlfile_record_section(顯示控制文件的記錄)查詢控制文件的信息ORACLE數(shù)據(jù)字典存放著控制文件的所有信重做日志文件(undologfiles)重做日志文件是用于記錄數(shù)據(jù)庫(kù)所做的全部變更,以便在系統(tǒng)發(fā)生故障時(shí),用它對(duì)數(shù)據(jù)庫(kù)進(jìn)行恢復(fù)。當(dāng)對(duì)數(shù)據(jù)庫(kù)進(jìn)行修改時(shí)(如插入、修改、刪除等),oracle將對(duì)數(shù)據(jù)庫(kù)所做的全部變更首先記錄在SGA的日志緩沖區(qū)中。后臺(tái)進(jìn)程(LGWR)將日志緩沖區(qū)中的信息寫入日志文件中。而ARCH后臺(tái)進(jìn)程實(shí)現(xiàn)重做日志文件的歸檔(ARCHIVELOG模式)。

日志文件都有如下特征:一個(gè)數(shù)據(jù)庫(kù)必須至少有兩個(gè)日志文件組,日志文件組以循環(huán)方式使用一個(gè)日志文件組,由一個(gè)或多個(gè)日志成員組成log1log2log3外部存儲(chǔ)設(shè)備LGWR重做日志文件(undologfiles)重做日志重做日志文件為了防止日志文件出現(xiàn)故障,Oracle允許設(shè)置鏡象日志。所謂鏡象日志就是上不同的磁盤上同時(shí)維護(hù)兩個(gè)或多個(gè)聯(lián)機(jī)日志文件副本。這樣如果一個(gè)日志文件的磁盤發(fā)生故障,則可用另一個(gè)磁盤上的日志文件。重做日志文件為了防止日志文件出現(xiàn)故障,Oracle允創(chuàng)建聯(lián)機(jī)重做日志組和成員創(chuàng)建聯(lián)機(jī)重做日志組和成員方法1:用帶有ALTERDATABASEADDLOGFILE子句創(chuàng)建。方法2:用帶有ORACLEEnterpriseManager工具創(chuàng)建(推薦)。下面的語(yǔ)句給數(shù)據(jù)庫(kù)添加一個(gè)新的重做日志組ALTERDATABASEADDLOGFILEGROUP5(‘d:\orant\database\log5_1.ora')SIZE500K;下面的語(yǔ)句給數(shù)據(jù)庫(kù)添加一個(gè)新的重做日志組5,增加一個(gè)成員ALTERDATABASEADDLOGFILEMEMBER'd:\orant\database\log5_2.ora'TOGROUP5;創(chuàng)建聯(lián)機(jī)重做日志組和成員創(chuàng)建聯(lián)機(jī)重做日志組和成員歸檔重做日志文件歸檔重做日志文件(ArchiveLogFiles)也叫離線日志文件。它是在線重做日志文件的拷貝。當(dāng)數(shù)據(jù)庫(kù)處于ARCHIVELOG狀態(tài)時(shí),歸檔進(jìn)程將拷貝已寫滿的(Filled)重做日志文件到另一路徑。歸檔日志文件主要用做數(shù)據(jù)庫(kù)的恢復(fù)。數(shù)據(jù)庫(kù)缺省被創(chuàng)建為NOARCHIVELOG模式ORACLE建議數(shù)據(jù)庫(kù)模式為ARCHIVELOG模式歸檔模式的優(yōu)點(diǎn):數(shù)據(jù)庫(kù)在發(fā)生故障時(shí),可以恢復(fù)到故障點(diǎn)(而不是備份點(diǎn))允許在線備份數(shù)據(jù)庫(kù)歸檔重做日志文件歸檔重做日志文件(Archive歸檔重做日志文件設(shè)置數(shù)據(jù)庫(kù)為ARCHIVELOG模式1.關(guān)閉數(shù)據(jù)庫(kù)并編輯初始化參數(shù):Sql>shutdownimmediate編輯初始化參數(shù)使log_archive_start=true2.啟動(dòng)數(shù)據(jù)庫(kù)于MOUNT狀態(tài)Sql>startupmount;3.修改數(shù)據(jù)庫(kù)的歸檔模式Sql>alterdatabasearchivelog;4.打開數(shù)據(jù)庫(kù)Sql>alterdatabaseopen;歸檔重做日志文件設(shè)置數(shù)據(jù)庫(kù)為ARCHIVELOG模式查詢重做日志和歸檔信息可以通過(guò)archiveloglist命令來(lái)查詢數(shù)據(jù)庫(kù)工作于哪種模式Sql>archiveloglist通過(guò)查詢下面的數(shù)據(jù)字典可以獲得重做日志組和成員的信息V$logV$logfile查詢重做日志和歸檔信息可以通過(guò)archiveloglis表空間及其管理一個(gè)數(shù)據(jù)庫(kù)從邏輯上說(shuō)是由一個(gè)或多個(gè)的表空間組成,表空間是數(shù)據(jù)庫(kù)中物理編組的數(shù)據(jù)倉(cāng)庫(kù)。數(shù)據(jù)庫(kù)數(shù)據(jù)以邏輯方式存取在表空間當(dāng)中,以物理形式存儲(chǔ)于表空間相應(yīng)的數(shù)據(jù)文件當(dāng)中。數(shù)據(jù)庫(kù)System表空間user表空間rollback表空間用電表空間表表表表表空間及其管理一個(gè)數(shù)據(jù)庫(kù)從邏輯上說(shuō)是由一個(gè)或多個(gè)的表表空間及其管理表空間有如下特征:表空間可以包含一個(gè)或多個(gè)數(shù)據(jù)文件,一個(gè)數(shù)據(jù)文件只能從屬于一個(gè)表空間一個(gè)數(shù)據(jù)庫(kù)可以有一個(gè)或多個(gè)表空間表空間的大小是所有從屬于它的數(shù)據(jù)文件大小的總和數(shù)據(jù)庫(kù)的大小是所有表空間大小的總和改變表空間的大小是通過(guò)改變數(shù)據(jù)文件的大小來(lái)實(shí)現(xiàn)表空間及其管理表空間有如下特征:建議使用多重表空間使用多重表空間使用多重表空間可使用戶在執(zhí)行數(shù)據(jù)庫(kù)維護(hù)、運(yùn)算的過(guò)程中更加靈活例如用戶可以執(zhí)行下列操作:把用戶數(shù)據(jù)從數(shù)據(jù)字典的數(shù)據(jù)中分開以減少字典對(duì)象和模式對(duì)象對(duì)于相同數(shù)據(jù)文件的爭(zhēng)用把某一應(yīng)用程序的數(shù)據(jù)和其它應(yīng)用程序的數(shù)據(jù)分隔開這樣如果必須使表空間脫機(jī)時(shí)可以防止多個(gè)應(yīng)用程序受到影響在不同的磁盤中存儲(chǔ)表空間的數(shù)據(jù)文件以減少I/O爭(zhēng)用把回退數(shù)據(jù)從用戶數(shù)據(jù)中分開防止單個(gè)磁盤的故障導(dǎo)致數(shù)據(jù)的永久性丟失在其他表空間保持聯(lián)機(jī)的時(shí)候可使個(gè)別表空間脫機(jī)這樣可以提供更好的綜合工作效率為特定類型數(shù)據(jù)庫(kù)的用法保存表空間。比如頻繁的更新操作、只讀操作或臨時(shí)數(shù)據(jù)段的存儲(chǔ)這樣用戶可以優(yōu)化表空間的使用獨(dú)立備份個(gè)別表空間

中的數(shù)據(jù)建議使用多重表空間使用多重表空間表空間維護(hù)創(chuàng)建表空間創(chuàng)建一個(gè)表空間時(shí),必須指定至少一個(gè)以上的數(shù)據(jù)文件,因?yàn)橛脩舻臄?shù)據(jù)最終將存儲(chǔ)在操作系統(tǒng)文件里。示例:創(chuàng)建一用于存儲(chǔ)用電管理數(shù)據(jù)的表空間-ydgl命令方式:CREATETABLESPACEydglDATAFILE'd:\orant\database\ydgl.ora'SIZE100MAUTOEXTENDONNEXT10M;GUI方式:通過(guò)EnterpriseManager->StorageManager來(lái)創(chuàng)建表空間維護(hù)創(chuàng)建表空間刪除表空間刪除表空間如果不再需要表空間及其內(nèi)容(包含在表空間中的數(shù)據(jù)段)用戶可以從數(shù)據(jù)庫(kù)中將其刪除除SYSTEM表空間之外Oracle數(shù)據(jù)庫(kù)中的任何表空間都可以刪除,用戶必須具有DROPTABLESPACE的系統(tǒng)權(quán)限才可以刪除表空間。示例:刪除ydgl表空間命令方式:Droptablespaceydglincludingcontents;注:includingcontents選項(xiàng):用在刪除非空的表空間。GUI方式:刪除表空間刪除表空間本地管理表空間(LocallyManaged)在Oracle8I以前的版本中全部表空間都是以字典管理類型dictionary-managed創(chuàng)建的字典管理表空間,依靠SQL字典表跟蹤磁盤空間的利用,而從Oracle8i開始用戶可以創(chuàng)建本地管理(locallymanaged)表空間它使用位圖(而不是SQL字典列表)來(lái)跟蹤已使用的和自由的空間。由于向后兼容性的關(guān)系字典管理保留為缺省的表空間空間管理方式Oracle建議用戶現(xiàn)在使用本地管理表空間。本地管理表空間可以更高效地管理表空間,減少磁盤碎片如:createtablespacersgldatafile‘d:\orant\database\rsgl.dbf’size10Mextentmanagementlocal;本地管理表空間(LocallyManaged)在Ora臨時(shí)表空間臨時(shí)表空間主要是用來(lái)提高排序操作的效率,一個(gè)臨時(shí)表空間只可以被用作排序段,而不能用于存儲(chǔ)任何永久數(shù)據(jù)對(duì)象,可用以下語(yǔ)句生成臨時(shí)表空間tempCREATETEMPORARYTABLESPACEtempTEMPFILE‘d:\oracle\oradata\temp01.dbf'SIZE100MEXTENTMANAGEMENTLOCALUNIFORMSIZE10M;臨時(shí)表空間臨時(shí)表空間主要是用來(lái)提高排序操作的效率,一個(gè)臨時(shí)表Oracle存儲(chǔ)結(jié)構(gòu)和關(guān)系段1(segment)數(shù)據(jù)塊擴(kuò)展區(qū)(Extent)段2(segment)如EMP表BlockBlockOracle存儲(chǔ)結(jié)構(gòu)和關(guān)系Segment(段)、擴(kuò)展區(qū)(Extent)、數(shù)據(jù)塊(Block)段(Segment)是由一個(gè)或多個(gè)擴(kuò)展區(qū)(Extent)組成的邏輯存儲(chǔ)單元。每個(gè)數(shù)據(jù)庫(kù)對(duì)象指派一個(gè)來(lái)存儲(chǔ)數(shù)據(jù),如一個(gè)EMP(員工)表就是一個(gè)段,段中所有擴(kuò)展區(qū)的總和就是此段的大小擴(kuò)展區(qū)(Extent)是由一系列連續(xù)的數(shù)據(jù)塊組成,當(dāng)一個(gè)段生成時(shí),首先指派Extent,當(dāng)此Extent數(shù)據(jù)已滿時(shí),新的Extent將指派到此段,可用以下參數(shù)來(lái)控制。Initial:第一個(gè)擴(kuò)展區(qū)的大小Next:用來(lái)指定下一個(gè)擴(kuò)展區(qū)的大小Pctincrease:指定第三個(gè)擴(kuò)展區(qū)及隨后擴(kuò)展區(qū)的增長(zhǎng)參數(shù)數(shù)據(jù)塊(Block)是ORACLE存儲(chǔ)體系中最小的邏輯單元。數(shù)據(jù)塊的大小在數(shù)據(jù)庫(kù)生成時(shí)被指定,且不可修改。Segment(段)、擴(kuò)展區(qū)(Extent)、數(shù)據(jù)塊(Blo回滾段(undoSegment)回滾段用于存放數(shù)據(jù)修改之前的值(包括數(shù)據(jù)修改之前的位置和值)。當(dāng)數(shù)據(jù)被修改時(shí),回滾段用來(lái)記錄原來(lái)的數(shù)據(jù)?;貪L段用于提供讀一致性、事務(wù)回滾。事務(wù)回滾:當(dāng)事務(wù)修改表中的數(shù)據(jù)時(shí),該數(shù)據(jù)修改前的值(即前影象)會(huì)存放在回滾段中,當(dāng)用戶回滾事務(wù)rollback時(shí),oracle將會(huì)利用回滾段中數(shù)據(jù)前影象將修改的數(shù)據(jù)恢復(fù)到原來(lái)的值。讀一致性:當(dāng)一個(gè)會(huì)話正在修改數(shù)據(jù)時(shí),其他的會(huì)話將看不到該會(huì)話未提交的修改;當(dāng)一個(gè)長(zhǎng)時(shí)間的查詢?cè)趫?zhí)行時(shí),若其他會(huì)話改變了該查詢要查詢的某個(gè)數(shù)據(jù)塊,Oracle將利用回滾段的數(shù)據(jù)前影象來(lái)構(gòu)造一個(gè)讀一致性視圖?;貪L段(undoSegment)回滾段用于存放數(shù)據(jù)修改自動(dòng)管理回滾段回滾段自動(dòng)管理需要設(shè)置以下的初始化參數(shù)UNDO_MANAGEMENT=AUTOUNDO_TABLESPACE=UNDOTBSUNDO_MANAGEMENT:指定是否用自動(dòng)管理或手工管理模式(AUTOorMANUAL).UNDO_TABLESPACE:指定一個(gè)表空間用做回滾(UNDO)自動(dòng)管理回滾段回滾段自動(dòng)管理需要設(shè)置以下的初始化參數(shù)表及其管理表是ORACLE中最重要的數(shù)據(jù)庫(kù)對(duì)象,表存儲(chǔ)一些相似的數(shù)據(jù)集合,這些數(shù)據(jù)被描述成若干列或字段。員工代碼姓名性別職務(wù)工資001張三男會(huì)計(jì)1000003李四女出納600。。。。。。。。。。。。。。。。。。。。。100王五男經(jīng)理2000表及其管理表是ORACLE中最重要的數(shù)據(jù)庫(kù)對(duì)象,表存儲(chǔ)一些相ORACLE數(shù)據(jù)類型ORACLE數(shù)據(jù)類型ORACLE數(shù)據(jù)類型CHAR:存放固定長(zhǎng)度的字符串VARCHAR2:存放可變長(zhǎng)度的字符串NUMBER:存放0、正負(fù)數(shù)、浮點(diǎn)數(shù)DATE:存放時(shí)間數(shù)據(jù)(包括日期和時(shí)間)LONG:存放變長(zhǎng)字符串。一般用來(lái)存儲(chǔ)大文本,ORACLE8以后的版本建議用CLOB類型替換,每個(gè)表中只能有一個(gè)LONG列。LONGRAW存放多媒體數(shù)據(jù),如聲音、圖片,建議用BLOB類型替換。CLOB:用與存儲(chǔ)多達(dá)4GB的字符數(shù)據(jù)BLOB:用于存儲(chǔ)多達(dá)4GB的圖形、音頻、視頻文件ORACLE數(shù)據(jù)類型CHAR:存放固定長(zhǎng)度的字符串創(chuàng)建表創(chuàng)建表:基本格式:CREATETABLE<表名>(<列名><數(shù)據(jù)類型>[列約束],…...)[TABLESPACE<表空間>];例:創(chuàng)建一雇員表EMP,并把它存儲(chǔ)在RSGL表空間

CREATETABLEEMP(EMPNONUMBER(4),ENAMEVARCHAR2(10),JOBVARCHAR2(20),SALNUMBER(6,1),HIREDATEDATE,DEPTNONUMBER(2))tablespaceRSGL;要以自己的模式創(chuàng)建新表必須有CREATETABLE的系統(tǒng)許可權(quán)要以另一個(gè)用戶的模式創(chuàng)建表必須有CREATEANYTABLE的系統(tǒng)許可權(quán)。創(chuàng)建表創(chuàng)建表:通過(guò)查詢創(chuàng)建表可以通過(guò)查詢已有的表或視圖來(lái)創(chuàng)建表,而無(wú)須定義數(shù)據(jù)列和數(shù)據(jù)類型。例如:1.創(chuàng)建EMP表的副本emp_bak

createtableemp_bakasselect*fromemp;2.創(chuàng)建一新表YGXX,其數(shù)據(jù)類型和數(shù)據(jù)來(lái)源于EMP表Createtableygxx(ygdm,ygxm,zw,gz,jj,bmdm)AsSelectempno,ename,job,sal,comm,deptnofromemp;通過(guò)查詢創(chuàng)建表可以通過(guò)查詢已有的表或視圖來(lái)創(chuàng)建表,而無(wú)須定義創(chuàng)建臨時(shí)表臨時(shí)表中的數(shù)據(jù)只對(duì)創(chuàng)建這些數(shù)據(jù)的會(huì)話或者特定的事務(wù)可用,ORACLE在每次提交以后就刪除行或截?cái)啾?。臨時(shí)表上可以創(chuàng)建索引,視圖和觸發(fā)器臨時(shí)表的DML(數(shù)據(jù)操作語(yǔ)言)語(yǔ)句不會(huì)生成redolog例:創(chuàng)建一臨時(shí)表emp_tempCreateglobaltemporarytableemp_tempAsselect*fromemp;創(chuàng)建臨時(shí)表臨時(shí)表中的數(shù)據(jù)只對(duì)創(chuàng)建這些數(shù)據(jù)的會(huì)話或者特定的事務(wù)重組表(表遷移)在未分區(qū)的表上使用altertable命令中的MOVE子句,可以重組表(extents)或者把表從一個(gè)表空間移到另一個(gè)表空間中去。例:把雇員表EMP遷移到RSGL表空間Altertableempmovetablespacersgl;重組表(表遷移)在未分區(qū)的表上使用altertable命令表及其管理修改表示例:定義EMP表中EMPNO為主鍵

ALTERTABLEEMPADDPRIMARYKEY(EMPNO);向EMP表中新添一獎(jiǎng)金列-COMMALTERTABLEEMPADD(COMMNUMBER(6,2));3.修改EMP表中SAL的字段寬度為5位整數(shù)2位小數(shù)

ALTERTABLEEMPMODIFY(SALNUMBER(7,2));ORACLE允許向表中新添列或修改列寬度,但不允許直接從表中刪除列(8i以前)或改變列名。表管理同樣也采用GUI方式:OralceEnterpriseManager->SchemaManager表及其管理修改表表及其管理刪除表(DROPTABLE)格式:DROPTABLE<表名>;如果要?jiǎng)h除的表中包含的主關(guān)鍵字或唯一關(guān)鍵字涉及到其它表的外部關(guān)鍵字而且用戶打算刪除子表的FOREIGNKEY約束那么就要使用如下所示包含CASCADE選項(xiàng)的DROPTABLE語(yǔ)句(如刪除dept表).示例:刪除雇員表Droptableemp;注意:要?jiǎng)h除表的用戶必須具有DROPTABLE或DROPANYTABLE的系統(tǒng)特權(quán)。所有與表有關(guān)的索引和觸發(fā)器都將刪除刪除命令不能通過(guò)ROLLBACK命令撤銷表及其管理刪除表(DROPTABLE)截?cái)啾恚═RUNCATE)TRUNCATE語(yǔ)句和DROP語(yǔ)句類似,但TRUNCATE語(yǔ)句不會(huì)刪除表的結(jié)構(gòu),也不會(huì)刪除表上的任何一個(gè)索引、觸發(fā)器、權(quán)限。在默認(rèn)情況下Oracle將釋放表和索引的空間TRUNCATE命令不能進(jìn)行回退TRUNCATE命令不能選擇性的進(jìn)行刪除TRUNCATE命令數(shù)據(jù)刪除非???,不產(chǎn)生回退(undo)信息例如:刪除表EMP的數(shù)據(jù)且釋放空間Truncatetableemp;截?cái)啾恚═RUNCATE)TRUNCATE語(yǔ)句和DROP語(yǔ)句如何修改EMP表的empno的數(shù)據(jù)類型CHAR(4)?1.createtableemptmpasselect*fromemp;2.deletefromemp;3.altertableempmodify(empnochar(4));4.insertintoempselect*fromemptmp;如何刪除EMP表的COMM字段(oracle8i以前的版本)?1.createtableemptmpasselectempno,ename,job,mgr,hiredate,sal,deptno;2.renameemptoempold;3.renameemptmptoemp;把EMP表中SAL字段的名稱改為GZ?(提示利用列的別名)1.createtableemptmpasselectempno,ename,job,mgr,hiredate,salgz,commfromemp;2.renameemptoempold;3.renameemptmptoemp;課后練習(xí)如何修改EMP表的empno的數(shù)據(jù)類型CHAR(4)?課后練索引及其管理

索引被用來(lái)快速訪問(wèn)數(shù)據(jù)而非讀取全部表格,使用它可以大大減少磁盤I/O數(shù)目。因此為了提高表上數(shù)據(jù)的查詢速度,用戶可在表上建立索引。ORACLE能夠自動(dòng)維護(hù)索引:當(dāng)表進(jìn)行增、刪、改時(shí),索引將自動(dòng)更新相應(yīng)的記錄。索引類型B-樹(B-TREE)索引默認(rèn)方式,B-樹包含索引列和ROWID(行的物理地址)位圖(Bitmap)索引位圖索引不會(huì)重復(fù)存儲(chǔ)索引的列值。每個(gè)列值被看成是一個(gè)關(guān)鍵字,相應(yīng)的ROWID置位一個(gè)位(bit),位圖索引適用于僅有幾個(gè)固定值的列,如性別字段索引及其管理索引被用來(lái)快速訪問(wèn)數(shù)據(jù)而非讀取全部表格,使用索引建立索引命令格式:CREATEINDEX<索引名>ON<表名><(列名)>;例如,在EMP表的ENAME列上建立名為IDX_EMP_ENAME的索引

CREATEINDEXIDX_EMP_ENAMEONEMP(ENAME);建立索引的原則應(yīng)該為較大的表建立索引,小表最好不要建。表越大,索引越有效。索引越多,查詢速度越快,但卻減慢了插入、修改、刪除操作的執(zhí)行速度。查詢型的表應(yīng)多建索引;更新型的表應(yīng)少建索引。索引建立索引索引及其管理合并索引索引在使用一段時(shí)間以后,會(huì)產(chǎn)生碎片,COALESCE子句可以消除碎片.例:alterindexidx_emp_enamecoalesce;重建索引

命令格式:ALTERINDEX<索引名>REBUILD;刪除索引用戶可能刪除索引的原因如下:對(duì)于針對(duì)相關(guān)表使用的查詢索引不能提供預(yù)期的性能改善(例如表可能很小或者表中有許多數(shù)據(jù)行但是索引項(xiàng)極少)應(yīng)用程序沒有使用索引查詢數(shù)據(jù)索引變?yōu)闊o(wú)效的在重建之前必須被刪除索引變得過(guò)于破碎在重建之前必須被刪除命令格式:

DROPINDEX<索引名>示例:DROPINDEXidx_emp_ename;索引及其管理合并索引查詢索引信息通過(guò)查詢以下的數(shù)據(jù)字典可以獲得有關(guān)索引的信息User_indexesDba_indexesDba_ind_columns查詢索引信息通過(guò)查詢以下的數(shù)據(jù)字典可以獲得有關(guān)索引的信息數(shù)據(jù)完整性約束數(shù)據(jù)庫(kù)數(shù)據(jù)的完整性是指數(shù)據(jù)的正確和相容性。ORACLE提供一種功能來(lái)保證數(shù)據(jù)完整性,這種功能稱為完整性檢查。數(shù)據(jù)完整性是為防止數(shù)據(jù)庫(kù)中存在不符合語(yǔ)義的數(shù)據(jù),以防止錯(cuò)誤信息的輸入和輸出。如果任何DML執(zhí)行結(jié)果會(huì)破壞完整性約束,那么該語(yǔ)句被回滾并返回一個(gè)錯(cuò)誤。完整性約束是對(duì)表的列定義一組規(guī)則性的說(shuō)明方法。ORACLE提供如下完整性約束:NOTNULL:不允許列值為空UNIQUE:在指定的列或列組上,不允許兩行有相同值(允許列值為空)PRIMARYKEY:主鍵約束。與unique類似,但每個(gè)表只能有一個(gè)主鍵約束,而且列值不能為空。CHECK:在指定的列上,只允許存儲(chǔ)一定范圍的的值FOREIGN:外鍵約束也稱引用約束數(shù)據(jù)完整性約束數(shù)據(jù)庫(kù)數(shù)據(jù)的完整性是指數(shù)據(jù)的正確和相容數(shù)據(jù)完整性約束例:建立一帶完整性約束的雇員表(EMP)CREATETABLEEMP(EMPNONUMBER(4)PRIMARYKEY,ENAMEVARCHAR(10)NOTNULL,JOBVARCHAR(20),SALNUMBER(6,1)CHECK(SAL>1000),HIREDATEDATE,DEPTNONUMBER(2)REFERENCESDEPT(DEPTNO));外鍵約束的另外一個(gè)選項(xiàng)Ondeletecascade:刪除父表中的行,同時(shí)相關(guān)子表中的記錄也刪除如上例:deptnonumber(2)REFERENCESDEPT(DEPTNO)Ondeletecascade;數(shù)據(jù)完整性約束例:建立一帶完整性約束的雇員表(EMP)約束的生效和無(wú)效創(chuàng)建約束條件,約束條件自動(dòng)生效。可以使用ALTERTABLE的DISABLE子句可以使約束失效。約束失效Altertableempprimarykeydisable;約束生效Altertableempprimarykeyenable;約束的生效和無(wú)效創(chuàng)建約束條件,約束條件自動(dòng)生效??梢允褂貌樵兗s束信息查詢下列數(shù)據(jù)字典視圖可以查詢完整性約束Dba_constraintsDba_cons_columns查詢約束信息查詢下列數(shù)據(jù)字典視圖可以查詢完整性約束視圖及其管理視圖實(shí)際上是存儲(chǔ)在數(shù)據(jù)庫(kù)中的SELECT(查詢)語(yǔ)句。每次在SQL語(yǔ)句中使用視圖時(shí),表示該視圖的SELECT語(yǔ)句就會(huì)被執(zhí)行,來(lái)得到需要的數(shù)據(jù)。使用視圖的優(yōu)點(diǎn)簡(jiǎn)化數(shù)據(jù)操作集中用戶感興趣的數(shù)據(jù)安全性:通過(guò)視圖,用戶只能查詢和修改他們能看到的數(shù)據(jù)。而數(shù)據(jù)庫(kù)中的其他數(shù)據(jù)他們既看不到也取不到。增強(qiáng)邏輯數(shù)據(jù)獨(dú)立性:視圖可幫助用戶屏蔽真實(shí)表結(jié)構(gòu)變化帶來(lái)的影響創(chuàng)建視圖命令格式:CREATE[ORREPLACE]VIEW<視圖名>

AS<SELECT查詢子句>;注:用戶可將視圖看作存儲(chǔ)查詢

或一個(gè)虛擬表任何使用表的地方都可使用視圖。視圖及其管理視圖實(shí)際上是存儲(chǔ)在數(shù)據(jù)庫(kù)中的SELECT管理口令安全和資源概要文件(profile)被用來(lái)控制用戶對(duì)系統(tǒng)和數(shù)據(jù)庫(kù)資源的使用,oracle提供了預(yù)定義的資源參數(shù),概要文件可以被用來(lái)管理密碼。當(dāng)數(shù)據(jù)庫(kù)創(chuàng)建時(shí),oracle生成一個(gè)名為DEFAULT的概要文件。

ORACLE允許通過(guò)概要文件控制以下幾種類型的資源:每個(gè)用戶的當(dāng)前會(huì)話數(shù)目CPU使用時(shí)間用戶連接到數(shù)據(jù)庫(kù)的占用時(shí)間用戶連接到數(shù)據(jù)庫(kù)的空閑時(shí)間私有SQL和PL/SQL區(qū)的使用管理口令安全和資源概要文件(profile)被用來(lái)控制用打開資源限制功能只有設(shè)置了參數(shù)resource_limit為TRUE時(shí),才可以使用ORACLE的資源限制。通過(guò)設(shè)置初始化參數(shù)resource_limit為TRUE通過(guò)命令方式:altersystemsetresource_limite=true打開資源限制功能只有設(shè)置了參數(shù)resource_limi資源限制參數(shù)Sessions_pre_user:用來(lái)限制一個(gè)用戶當(dāng)前會(huì)話的數(shù)量。Cpu_per_session:用來(lái)限制一個(gè)會(huì)話可以使用的CUP時(shí)間Cpu_per_call:用來(lái)限制一個(gè)SQL語(yǔ)句可以使用的CPU時(shí)間Connect_time:用來(lái)指定一個(gè)會(huì)話可以連接到數(shù)據(jù)庫(kù)的最大時(shí)間Idle_time:會(huì)話連續(xù)空閑時(shí)間的最大數(shù),當(dāng)達(dá)到此參數(shù)時(shí),用戶被自動(dòng)從數(shù)據(jù)庫(kù)斷開,所有未處理的事務(wù)得到回滾資源限制參數(shù)Sessions_pre_user:用來(lái)限制一個(gè)管理口令概要文件還可以用來(lái)管理口令,有如下設(shè)置:賬號(hào)鎖定(Accountlocking)設(shè)置失敗的登錄嘗試次數(shù)和鎖定日期的天數(shù)口令過(guò)期(Passwordexpiration)設(shè)置多長(zhǎng)時(shí)間應(yīng)該修改一次口令口令的復(fù)雜性(Passwordcomplexity)使用定制的函數(shù)來(lái)驗(yàn)證口令的復(fù)雜性管理口令概要文件還可以用來(lái)管理口令,有如下設(shè)置:概要文件管理創(chuàng)建概要文件例:為會(huì)計(jì)用戶創(chuàng)建一個(gè)管理口令和資源的概要文件Createprofileaccounting_userlimitSessions_per_user6Idle_time120Failed_login_attempts3;修改概要文件Alterprofileaccounting_userlimitPassword_lefe_time30;刪除概要文件Dropprofileaccounting_user;概要文件管理創(chuàng)建概要文件查詢概要文件信息DBA_profiles可以查詢概要文件的信息Selectprofile,resource_name,limitfromdba_profiles;User_resource_limits:顯示當(dāng)前用戶的資源限制User_password_limits:顯示當(dāng)前用戶的口令限制查詢概要文件信息DBA_profiles可以查詢概要文件的信ORACLE的安全機(jī)制

Oracle數(shù)據(jù)庫(kù)管理系統(tǒng)是一個(gè)多用戶的系統(tǒng),它允許戶共享系統(tǒng)資源。為了保證數(shù)據(jù)庫(kù)系統(tǒng)的安全,防止非法用戶使用系統(tǒng)資源,為此Oracle配置了良好的安全機(jī)制。對(duì)系統(tǒng)中的每一個(gè)用戶ORACLE都分配給他一個(gè)操作數(shù)據(jù)庫(kù)的權(quán)限,用戶只有具有對(duì)數(shù)據(jù)庫(kù)或數(shù)據(jù)庫(kù)對(duì)象進(jìn)行某種操作的權(quán)限才可以進(jìn)行操作。Oracle采用如下三種安全機(jī)制:用戶級(jí)安全保證在訪問(wèn)Oracle數(shù)據(jù)庫(kù)的任何對(duì)象之前,必須首先使用一個(gè)合法的用戶名和口令。用戶級(jí)安全保證是通過(guò)創(chuàng)建用戶且賦予口令來(lái)實(shí)現(xiàn)。系統(tǒng)級(jí)安全保證系統(tǒng)級(jí)安全保證是通過(guò)授予用戶某種特殊操作權(quán)力(稱系統(tǒng)特權(quán))來(lái)實(shí)現(xiàn)。例如:建立表空間、建立用戶、建立表、刪除表中數(shù)據(jù)的權(quán)力等。對(duì)象級(jí)安全保證對(duì)象級(jí)安全保證是通過(guò)授予用戶對(duì)數(shù)據(jù)庫(kù)中特定的表、視圖、序列、過(guò)程進(jìn)行操作的權(quán)力來(lái)實(shí)現(xiàn)。例如:對(duì)EMP(雇員)表插入或刪除一個(gè)雇員記錄的權(quán)力就屬于對(duì)象級(jí)特權(quán)。ORACLE的安全機(jī)制Oracle數(shù)據(jù)庫(kù)管理系統(tǒng)是一用戶管理ORACLE是通過(guò)建立用戶和相關(guān)模式來(lái)管理數(shù)據(jù)庫(kù)的用戶安全。建立用戶的核心是完成安全領(lǐng)域的設(shè)置,即建立用戶名、口令、系統(tǒng)資源的限制、缺省表空間、臨時(shí)表空間和空間限額等。創(chuàng)建用戶OracleEnterpriseManager-SecurityManager高效、簡(jiǎn)便的圖形管理工具,建議使用。2.字符命令方式語(yǔ)法格式:Createuser<用戶名>IdentifiedBy<口令>DefaultTableSpace<缺省表空間名>TemporaryTableSpace<臨時(shí)表空間名>Quota<使用空間大小>on<表空間>;缺省表空間名:用于存放用戶所建立的對(duì)象。例如:表、索引臨時(shí)表空間名:為排序或統(tǒng)計(jì)的SQL語(yǔ)句提供臨時(shí)存儲(chǔ)空間。Quota:指定每一個(gè)表空間中可供用戶使用的最大空間限額用戶管理ORACLE是通過(guò)建立用戶和相關(guān)模式來(lái)管理數(shù)創(chuàng)建用戶示例:創(chuàng)建一用戶rsglCreateuserrsglIdentifiedByrsglDefaultTableSpacersglTemporaryTableSpacetemporary_dataQuota500Monrsgl;授予RSGL用戶創(chuàng)建對(duì)話的權(quán)利:Grantcreatesessiontorsgl;創(chuàng)建用戶示例:創(chuàng)建一用戶rsgl修改用戶信息命令方式修改口令:Alteruserscottidentifiedbytiger;鎖定用戶:Alteruserscottaccountlock;OEM圖形方式修改用戶信息命令方式刪除用戶命令方式通過(guò)dropuser命令來(lái)刪除用戶例:刪除無(wú)對(duì)象用戶Dropusertest;刪除有對(duì)象用戶Dropuserscottcascade;注意:此命令將刪除用戶對(duì)象,該操作不能回退(ROLLBACK)刪除用戶命令方式查詢用戶信息查詢用戶信息的數(shù)據(jù)字典視圖All_users查詢數(shù)據(jù)庫(kù)所有用戶的名稱、用戶ID和創(chuàng)建日期Select*fromall_users;Dba_users查詢所有用戶的詳細(xì)信息Select*fromdba_users;查詢用戶信息查詢用戶信息的數(shù)據(jù)字典視圖系統(tǒng)特權(quán)

ORACLE提供了100多種系統(tǒng)特權(quán),其中每一種系統(tǒng)特權(quán)允許用戶執(zhí)行一個(gè)或一類數(shù)據(jù)庫(kù)操作。系統(tǒng)特權(quán)沒有被指定在任何特定的對(duì)象上,管理員可以給用戶、角色或PUBLIC授予系統(tǒng)特權(quán)。授予系統(tǒng)特權(quán)OracleEnterpriseManager-SecurityManager命令格式:

GRANT<系統(tǒng)特權(quán)>TO<用戶>[ADMINOPTION];ADMINOPTION選項(xiàng):使被授權(quán)者能夠?qū)⑺谟璧奶貦?quán)再授予其他用戶。例:授予AJ用戶與數(shù)據(jù)庫(kù)連接和創(chuàng)建表的權(quán)力。

Grantcreatesession,createtabletoAJ;

例:授予sysman用戶建立、管理、刪除用戶并具有將這些特權(quán)傳給其他用戶的權(quán)力。

Grantcreateuser,alteruser,dropusertosysmanwithadminoption;系統(tǒng)特權(quán)ORACLE提供了100多種系統(tǒng)特權(quán),其中每系統(tǒng)特權(quán)的控制和管理回收系統(tǒng)特權(quán)OracleEnterpriseManager-SecurityManager命令格式:

REVOKE<系統(tǒng)特權(quán)>FROM<用戶>;例:回收AJ用戶創(chuàng)建表的權(quán)力。

REVOKEcreatetableFROMAJ;

例:回收sysman用戶修改、刪除用戶。

REVOKEalteruser,dropuserFROMsysman;查看存在的系統(tǒng)權(quán)限:

SELECT*FROMUSER_SYS_PRIVS;系統(tǒng)特權(quán)的控制和管理回收系統(tǒng)特權(quán)對(duì)象特權(quán)的控制和管理對(duì)象特權(quán)是指用戶在指定的對(duì)象(如表、視圖等)上執(zhí)行特殊操作的權(quán)力。對(duì)象的所有者擁有在這個(gè)對(duì)象上的所有權(quán)限。所有者可以給數(shù)據(jù)庫(kù)中的其他任何用戶授予在這個(gè)對(duì)象上的權(quán)利。Oracle提供8種對(duì)象特權(quán):

SELECT、INSERT、UPDATE、DELETE、EXECUTE、INDEX、ALTER、REFERENCES授予對(duì)象特權(quán)OracleEnterpriseManager-SecurityManager命令格式:

GRANT<對(duì)象特權(quán)>ON<對(duì)象名>TO<用戶>[WHTHGRANTOPTION];WITHGRANTOPTION選項(xiàng):使被授權(quán)者能夠?qū)⑺谟璧奶貦?quán)再授予其他用戶。注意:對(duì)象的所有者才可以對(duì)對(duì)象授權(quán)。對(duì)象特權(quán)的控制和管理對(duì)象特權(quán)是指用戶在指定的對(duì)象(如表對(duì)象特權(quán)的控制和管理授予對(duì)象特權(quán)例:授予AJ用戶的aj01、aj02的查詢特權(quán)授予ZHCX(綜合查詢用戶)。

GRANTselectONaj01,aj02TOZHCX;例:把SCOTT用戶的EMP表的所有特權(quán)授予rsgl用戶。

GRANTallONempTOrsgl;例:把SCOTT用戶的EMP表的查詢特權(quán)、插入、和更新ENAME列(姓名)的特權(quán)授予PUBLIC。GRANTselect,insert,update(ename)ONempTOPUBLIC;對(duì)象特權(quán)的控制和管理授予對(duì)象特權(quán)回收對(duì)象特權(quán)回收對(duì)象特權(quán)OracleEnterpriseManager-SecurityManager命令格式:

REVOKE<對(duì)象特權(quán)>ON<對(duì)象>FROM<用戶>;例:回收Z(yǔ)HCX用戶查詢aj01、aj02表的權(quán)力。

REVOKEselectonaj01,aj02FROMZHCX;

例:回收PUBLIC用戶對(duì)EMP表插入、更新ename列的權(quán)力。

REVOKEinsert,update(ename)onempFROMPUBLIC;查看存在的對(duì)象特權(quán)

SELECT*FROMUSER_TAB_PRIVS;SELECT*FROMUSER_COL_PRIVS;回收對(duì)象特權(quán)回收對(duì)象特權(quán)角色及其管理角色是命名的一相關(guān)特權(quán)組(包括系統(tǒng)特權(quán)和對(duì)象特權(quán))的集合。Oracle使用它來(lái)簡(jiǎn)化特權(quán)管理。一旦用戶被賦予某個(gè)角色,則自動(dòng)繼承該角色的所有特權(quán)。Oracle預(yù)定義的角色:CONNECT:連上Oracle,做最基本操作(面向最終用戶)RESOURCE:具有程序開發(fā)最基本的權(quán)限(面向開發(fā)人員)DBA:具有數(shù)據(jù)庫(kù)管理員所有權(quán)限(面向數(shù)據(jù)庫(kù)管理人員)EXP_FULL_DATABASE:具有對(duì)整個(gè)數(shù)據(jù)庫(kù)備份輸出的權(quán)限(備份人員)IMP_FULL_DATABASE:具有對(duì)整個(gè)數(shù)據(jù)庫(kù)恢復(fù)輸入的權(quán)限(備份人員)角色及其管理角色是命名的一相關(guān)特權(quán)組(包括系統(tǒng)特權(quán)和對(duì)角色及其管理創(chuàng)建角色命令格式:CREATEROLE<角色名>[IDENTIFIEDBY<口令>]例如:創(chuàng)建一名為MANAGER的角色

CREATEROLEMANAGER;為角色授權(quán)例如:授予MANAGER角色若干系統(tǒng)特權(quán)和對(duì)象特權(quán)

GRANTcreatesession,createtable,createprocedure,selectanytableTOMANAGER;GRANTselect,insertonaj01,aj02TOMANAGER;

把角色授予用戶例如:把MANAGER角色授予MAN1、MAN2、MAN2;GRANTMANAGERTOMAN1,MAN2,MAN3;角色及其管理創(chuàng)建角色練習(xí)0。創(chuàng)建一表空間(用戶名稱自定)大小為2M,允許自動(dòng)擴(kuò)充1。創(chuàng)建一用戶(用戶名稱自定),缺省表空間為你新建的表空間;授予用戶有創(chuàng)建對(duì)話、創(chuàng)建表、查看任意表的特權(quán)。2。把scott用戶的emp、dept表復(fù)制到你的用戶下。3。在你用戶下,創(chuàng)建一視圖v_test(查詢字段為emp、dept中的ename,dname),然后把v_test的查詢特權(quán)授予所有用戶。練習(xí)0。創(chuàng)建一表空間(用戶名稱自定)大小為2M,允許自動(dòng)擴(kuò)充ORACLE9iDBA基礎(chǔ)系統(tǒng)軟件部

湯慶鋒福州磬基電子有限公司ORACLE9iDBA基礎(chǔ)系統(tǒng)軟件部湯慶鋒數(shù)據(jù)字典數(shù)據(jù)字典是ORACLE數(shù)據(jù)庫(kù)最重要的組成部分。數(shù)據(jù)字典是一系列存放數(shù)據(jù)庫(kù)元數(shù)據(jù)信息的表和視圖。數(shù)據(jù)字典具有如下特征:數(shù)據(jù)字典由一些基表和相關(guān)的視圖組成。數(shù)據(jù)字典在數(shù)據(jù)庫(kù)創(chuàng)建時(shí)自動(dòng)創(chuàng)建。SYS是數(shù)據(jù)字典的所有者。數(shù)據(jù)字典由OracleServer維護(hù)(更新)對(duì)于用戶和管理人員來(lái)說(shuō),數(shù)據(jù)字典是只讀的。數(shù)據(jù)字典數(shù)據(jù)字典是ORACLE數(shù)據(jù)庫(kù)最重要的組成部分。數(shù)據(jù)字典使用數(shù)據(jù)字典能夠提供如下的信息:邏輯和物理的數(shù)據(jù)庫(kù)結(jié)構(gòu)

selectname,bytesfromdba_data_files;對(duì)象的定義和空間分配

select*fromuser_segments;完整性約束

selecttable_name,constraint_namefromuser_constraints;用戶信息

selectusername,default_tablespace,temporary_tablespacefromdba_users;權(quán)限信息

selectgrantee,granted_rolefromdba_role_privs;數(shù)據(jù)字典使用數(shù)據(jù)字典能夠提供如下的信息:數(shù)據(jù)字典數(shù)據(jù)字典的分類:根據(jù)它們的前綴,數(shù)據(jù)字典可以分為如下類別:DBA_:這種視圖提供數(shù)據(jù)庫(kù)中所有對(duì)象的信息,有個(gè)owner列如,dba_tables,dba_indexesALL_:這種視圖提供數(shù)據(jù)庫(kù)中當(dāng)前用戶可以訪問(wèn)的對(duì)象的信息如,all_tables,all_indexesUSER_:這種視圖提供用戶擁有的對(duì)象信息如,user_tables,user_indexesV$:這種視圖又叫動(dòng)態(tài)性能視圖,因?yàn)樗鼈優(yōu)殡S著數(shù)據(jù)庫(kù)的打開和使用連續(xù)更新,而且它們的內(nèi)容也和運(yùn)行有關(guān)。如,v$database,v$instance數(shù)據(jù)字典數(shù)據(jù)字典的分類:常用數(shù)據(jù)字典視圖查詢對(duì)象信息

tab,obj,dba_tables,dba_objects查詢數(shù)據(jù)庫(kù)、實(shí)例的信息

v$database,v$instance查詢用戶信息

dba_users、all_users查詢用戶權(quán)限

dba_role_privs、dba_sys_privs查詢數(shù)據(jù)庫(kù)的結(jié)構(gòu)信息(表空間、數(shù)據(jù)文件、日志文件)

dba_tablespaces、dba_data_files、v$logfile常用數(shù)據(jù)字典視圖查詢對(duì)象信息控制文件每一個(gè)Oracle數(shù)據(jù)庫(kù)都有一個(gè)控制文件controlfile控制文件記錄數(shù)據(jù)庫(kù)的物理結(jié)構(gòu)其中包括:數(shù)據(jù)庫(kù)名稱相關(guān)的數(shù)據(jù)庫(kù)和聯(lián)機(jī)重做日志文件的名稱和位置數(shù)據(jù)庫(kù)創(chuàng)建的時(shí)間戳當(dāng)前日志序列號(hào)檢查點(diǎn)信息備份信息

Oracle數(shù)據(jù)庫(kù)的控制文件和數(shù)據(jù)庫(kù)同時(shí)創(chuàng)建,控制文件主要用于打開數(shù)據(jù)庫(kù)、存取數(shù)據(jù)庫(kù)和恢復(fù)數(shù)據(jù)庫(kù)。如果控制文件被破壞,則無(wú)法對(duì)數(shù)據(jù)庫(kù)進(jìn)行操作。為了防止控制文件被破壞,ORACLE允許鏡象控制文件。一般一個(gè)數(shù)據(jù)庫(kù)應(yīng)至少有兩個(gè)控制文件,它們分別分布在不同的磁盤上??刂莆募奈募òㄧR象)由初始化參數(shù)文件(initSID.ora)中的參數(shù)CONTROL_FILES指出??刂莆募恳粋€(gè)Oracle數(shù)據(jù)庫(kù)都有一個(gè)控制文件c如何鏡像控制文件創(chuàng)建附加的控制文件拷貝用戶創(chuàng)建新的控制文件的方法是將現(xiàn)有文件拷貝到新的地址將文件名添加到控制文件列表類似地用戶通過(guò)拷貝文件為新的名字或地址來(lái)重命名現(xiàn)有文件并且改變控制文件列表中的文件名。

關(guān)閉數(shù)據(jù)庫(kù)

使用操作系統(tǒng)的命令將現(xiàn)存的控制文件拷貝到不同的地方

編輯數(shù)據(jù)庫(kù)初始化文件(initSID.ora)中的CONTROL_FILES參數(shù)添加新的控制文件名和位置。重新啟動(dòng)數(shù)據(jù)庫(kù)如何鏡像控制文件創(chuàng)建附加的控制文件拷貝刪除控制文件刪除控制文件用戶可以從數(shù)據(jù)庫(kù)中刪除控制文件例如如果控制文件的位置不合適或控制文件破壞時(shí)用戶可能希望這樣做。記住在任何時(shí)候數(shù)據(jù)庫(kù)建議至少有兩個(gè)控制文件。關(guān)閉數(shù)據(jù)庫(kù)。編輯數(shù)據(jù)庫(kù)初始化參數(shù)文件中的CONTROL_FILES參數(shù)刪除舊的控制文件名。重新啟動(dòng)數(shù)據(jù)庫(kù)。警告:這個(gè)操作不能物理上從磁盤上刪除不希望的控制文件,用戶從數(shù)據(jù)庫(kù)中刪除控制文件之后使用操作系統(tǒng)的命令來(lái)刪除不需要的文件.刪除控制文件刪除控制文件查詢控制文件的信息ORACLE數(shù)據(jù)字典存放著控制文件的所有信息V$controlfileShowparametercontrol_filesV$controlfile_record_section(顯示控制文件的記錄)查詢控制文件的信息ORACLE數(shù)據(jù)字典存放著控制文件的所有信重做日志文件(undologfiles)重做日志文件是用于記錄數(shù)據(jù)庫(kù)所做的全部變更,以便在系統(tǒng)發(fā)生故障時(shí),用它對(duì)數(shù)據(jù)庫(kù)進(jìn)行恢復(fù)。當(dāng)對(duì)數(shù)據(jù)庫(kù)進(jìn)行修改時(shí)(如插入、修改、刪除等),oracle將對(duì)數(shù)據(jù)庫(kù)所做的全部變更首先記錄在SGA的日志緩沖區(qū)中。后臺(tái)進(jìn)程(LGWR)將日志緩沖區(qū)中的信息寫入日志文件中。而ARCH后臺(tái)進(jìn)程實(shí)現(xiàn)重做日志文件的歸檔(ARCHIVELOG模式)。

日志文件都有如下特征:一個(gè)數(shù)據(jù)庫(kù)必須至少有兩個(gè)日志文件組,日志文件組以循環(huán)方式使用一個(gè)日志文件組,由一個(gè)或多個(gè)日志成員組成log1log2log3外部存儲(chǔ)設(shè)備LGWR重做日志文件(undologfiles)重做日志重做日志文件為了防止日志文件出現(xiàn)故障,Oracle允許設(shè)置鏡象日志。所謂鏡象日志就是上不同的磁盤上同時(shí)維護(hù)兩個(gè)或多個(gè)聯(lián)機(jī)日志文件副本。這樣如果一個(gè)日志文件的磁盤發(fā)生故障,則可用另一個(gè)磁盤上的日志文件。重做日志文件為了防止日志文件出現(xiàn)故障,Oracle允創(chuàng)建聯(lián)機(jī)重做日志組和成員創(chuàng)建聯(lián)機(jī)重做日志組和成員方法1:用帶有ALTERDATABASEADDLOGFILE子句創(chuàng)建。方法2:用帶有ORACLEEnterpriseManager工具創(chuàng)建(推薦)。下面的語(yǔ)句給數(shù)據(jù)庫(kù)添加一個(gè)新的重做日志組ALTERDATABASEADDLOGFILEGROUP5(‘d:\orant\database\log5_1.ora')SIZE500K;下面的語(yǔ)句給數(shù)據(jù)庫(kù)添加一個(gè)新的重做日志組5,增加一個(gè)成員ALTERDATABASEADDLOGFILEMEMBER'd:\orant\database\log5_2.ora'TOGROUP5;創(chuàng)建聯(lián)機(jī)重做日志組和成員創(chuàng)建聯(lián)機(jī)重做日志組和成員歸檔重做日志文件歸檔重做日志文件(ArchiveLogFiles)也叫離線日志文件。它是在線重做日志文件的拷貝。當(dāng)數(shù)據(jù)庫(kù)處于ARCHIVELOG狀態(tài)時(shí),歸檔進(jìn)程將拷貝已寫滿的(Filled)重做日志文件到另一路徑。歸檔日志文件主要用做數(shù)據(jù)庫(kù)的恢復(fù)。數(shù)據(jù)庫(kù)缺省被創(chuàng)建為NOARCHIVELOG模式ORACLE建議數(shù)據(jù)庫(kù)模式為ARCHIVELOG模式歸檔模式的優(yōu)點(diǎn):數(shù)據(jù)庫(kù)在發(fā)生故障時(shí),可以恢復(fù)到故障點(diǎn)(而不是備份點(diǎn))允許在線備份數(shù)據(jù)庫(kù)歸檔重做日志文件歸檔重做日志文件(Archive歸檔重做日志文件設(shè)置數(shù)據(jù)庫(kù)為ARCHIVELOG模式1.關(guān)閉數(shù)據(jù)庫(kù)并編輯初始化參數(shù):Sql>shutdownimmediate編輯初始化參數(shù)使log_archive_start=true2.啟動(dòng)數(shù)據(jù)庫(kù)于MOUNT狀態(tài)Sql>startupmount;3.修改數(shù)據(jù)庫(kù)的歸檔模式Sql>alterdatabasearchivelog;4.打開數(shù)據(jù)庫(kù)Sql>alterdatabaseopen;歸檔重做日志文件設(shè)置數(shù)據(jù)庫(kù)為ARCHIVELOG模式查詢重做日志和歸檔信息可以通過(guò)archiveloglist命令來(lái)查詢數(shù)據(jù)庫(kù)工作于哪種模式Sql>archiveloglist通過(guò)查詢下面的數(shù)據(jù)字典可以獲得重做日志組和成員的信息V$logV$logfile查詢重做日志和歸檔信息可以通過(guò)archiveloglis表空間及其管理一個(gè)數(shù)據(jù)庫(kù)從邏輯上說(shuō)是由一個(gè)或多個(gè)的表空間組成,表空間是數(shù)據(jù)庫(kù)中物理編組的數(shù)據(jù)倉(cāng)庫(kù)。數(shù)據(jù)庫(kù)數(shù)據(jù)以邏輯方式存取在表空間當(dāng)中,以物理形式存儲(chǔ)于表空間相應(yīng)的數(shù)據(jù)文件當(dāng)中。數(shù)據(jù)庫(kù)System表空間user表空間rollback表空間用電表空間表表表表表空間及其管理一個(gè)數(shù)據(jù)庫(kù)從邏輯上說(shuō)是由一個(gè)或多個(gè)的表表空間及其管理表空間有如下特征:表空間可以包含一個(gè)或多個(gè)數(shù)據(jù)文件,一個(gè)數(shù)據(jù)文件只能從屬于一個(gè)表空間一個(gè)數(shù)據(jù)庫(kù)可以有一個(gè)或多個(gè)表空間表空間的大小是所有從屬于它的數(shù)據(jù)文件大小的總和數(shù)據(jù)庫(kù)的大小是所有表空間大小的總和改變表空間的大小是通過(guò)改變數(shù)據(jù)文件的大小來(lái)實(shí)現(xiàn)表空間及其管理表空間有如下特征:建議使用多重表空間使用多重表空間使用多重表空間可使用戶在執(zhí)行數(shù)據(jù)庫(kù)維護(hù)、運(yùn)算的過(guò)程中更加靈活例如用戶可以執(zhí)行下列操作:把用戶數(shù)據(jù)從數(shù)據(jù)字典的數(shù)據(jù)中分開以減少字典對(duì)象和模式對(duì)象對(duì)于相同數(shù)據(jù)文件的爭(zhēng)用把某一應(yīng)用程序的數(shù)據(jù)和其它應(yīng)用程序的數(shù)據(jù)分隔開這樣如果必須使表空間脫機(jī)時(shí)可以防止多個(gè)應(yīng)用程序受到影響在不同的磁盤中存儲(chǔ)表空間的數(shù)據(jù)文件以減少I/O爭(zhēng)用把回退數(shù)據(jù)從用戶數(shù)據(jù)中分開防止單個(gè)磁盤的故障導(dǎo)致數(shù)據(jù)的永久性丟失在其他表空間保持聯(lián)機(jī)的時(shí)候可使個(gè)別表空間脫機(jī)這樣可以提供更好的綜合工作效率為特定類型數(shù)據(jù)庫(kù)的用法保存表空間。比如頻繁的更新操作、只讀操作或臨時(shí)數(shù)據(jù)段的存儲(chǔ)這樣用戶可以優(yōu)化表空間的使用獨(dú)立備份個(gè)別表空間

中的數(shù)據(jù)建議使用多重表空間使用多重表空間表空間維護(hù)創(chuàng)建表空間創(chuàng)建一個(gè)表空間時(shí),必須指定至少一個(gè)以上的數(shù)據(jù)文件,因?yàn)橛脩舻臄?shù)據(jù)最終將存儲(chǔ)在操作系統(tǒng)文件里。示例:創(chuàng)建一用于存儲(chǔ)用電管理數(shù)據(jù)的表空間-ydgl命令方式:CREATETABLESPACEydglDATAFILE'd:\orant\database\ydgl.ora'SIZE100MAUTOEXTENDONNEXT10M;GUI方式:通過(guò)EnterpriseManager->StorageManager來(lái)創(chuàng)建表空間維護(hù)創(chuàng)建表空間刪除表空間刪除表空間如果不再需要表空間及其內(nèi)容(包含在表空間中的數(shù)據(jù)段)用戶可以從數(shù)據(jù)庫(kù)中將其刪除除SYSTEM表空間之外Oracle數(shù)據(jù)庫(kù)中的任何表空間都可以刪除,用戶必須具有DROPTABLESPACE的系統(tǒng)權(quán)限才可以刪除表空間。示例:刪除ydgl表空間命令方式:Droptablespaceydglincludingcontents;注:includingcontents選項(xiàng):用在刪除非空的表空間。GUI方式:刪除表空間刪除表空間本地管理表空間(LocallyManaged)在Oracle8I以前的版本中全部表空間都是以字典管理類型dictionary-managed創(chuàng)建的字典管理表空間,依靠SQL字典表跟蹤磁盤空間的利用,而從Oracle8i開始用戶可以創(chuàng)建本地管理(locallymanaged)表空間它使用位圖(而不是SQL字典列表)來(lái)跟蹤已使用的和自由的空間。由于向后兼容性的關(guān)系字典管理保留為缺省的表空間空間管理方式Oracle建議用戶現(xiàn)在使用本地管理表空間。本地管理表空間可以更高效地管理表空間,減少磁盤碎片如:createtablespacersgldatafile‘d:\orant\database\rsgl.dbf’size10Mextentmanagementlocal;本地管理表空間(LocallyManaged)在Ora臨時(shí)表空間臨時(shí)表空間主要是用來(lái)提高排序操作的效率,一個(gè)臨時(shí)表空間只可以被用作排序段,而不能用于存儲(chǔ)任何永久數(shù)據(jù)對(duì)象,可用以下語(yǔ)句生成臨時(shí)表空間tempCREATETEMPORARYTABLESPACEtempTEMPFILE‘d:\oracle\oradata\temp01.dbf'SIZE100MEXTENTMANAGEMENTLOCALUNIFORMSIZE10M;臨時(shí)表空間臨時(shí)表空間主要是用來(lái)提高排序操作的效率,一個(gè)臨時(shí)表Oracle存儲(chǔ)結(jié)構(gòu)和關(guān)系段1(segment)數(shù)據(jù)塊擴(kuò)展區(qū)(Extent)段2(segment)如EMP表BlockBlockOracle存儲(chǔ)結(jié)構(gòu)和關(guān)系Segment(段)、擴(kuò)展區(qū)(Extent)、數(shù)據(jù)塊(Block)段(Segment)是由一個(gè)或多個(gè)擴(kuò)展區(qū)(Extent)組成的邏輯存儲(chǔ)單元。每個(gè)數(shù)據(jù)庫(kù)對(duì)象指派一個(gè)來(lái)存儲(chǔ)數(shù)據(jù),如一個(gè)EMP(員工)表就是一個(gè)段,段中所有擴(kuò)展區(qū)的總和就是此段的大小擴(kuò)展區(qū)(Extent)是由一系列連續(xù)的數(shù)據(jù)塊組成,當(dāng)一個(gè)段生成時(shí),首先指派Extent,當(dāng)此Extent數(shù)據(jù)已滿時(shí),新的Extent將指派到此段,可用以下參數(shù)來(lái)控制。Initial:第一個(gè)擴(kuò)展區(qū)的大小Next:用來(lái)指定下一個(gè)擴(kuò)展區(qū)的大小Pctincrease:指定第三個(gè)擴(kuò)展區(qū)及隨后擴(kuò)展區(qū)的增長(zhǎng)參數(shù)數(shù)據(jù)塊(Block)是ORACLE存儲(chǔ)體系中最小的邏輯單元。數(shù)據(jù)塊的大小在數(shù)據(jù)庫(kù)生成時(shí)被指定,且不可修改。Segment(段)、擴(kuò)展區(qū)(Extent)、數(shù)據(jù)塊(Blo回滾段(undoSegment)回滾段用于存放數(shù)據(jù)修改之前的值(包括數(shù)據(jù)修改之前的位置和值)。當(dāng)數(shù)據(jù)被修改時(shí),回滾段用來(lái)記錄原來(lái)的數(shù)據(jù)?;貪L段用于提供讀一致性、事務(wù)回滾。事務(wù)回滾:當(dāng)事務(wù)修改表中的數(shù)據(jù)時(shí),該數(shù)據(jù)修改前的值(即前影象)會(huì)存放在回滾段中,當(dāng)用戶回滾事務(wù)rollback時(shí),oracle將會(huì)利用回滾段中數(shù)據(jù)前影象將修改的數(shù)據(jù)恢復(fù)到原來(lái)的值。讀一致性:當(dāng)一個(gè)會(huì)話正在修改數(shù)據(jù)時(shí),其他的會(huì)話將看不到該會(huì)話未提交的修改;當(dāng)一個(gè)長(zhǎng)時(shí)間的查詢?cè)趫?zhí)行時(shí),若其他會(huì)話改變了該查詢要查詢的某個(gè)數(shù)據(jù)塊,Oracle將利用回滾段的數(shù)據(jù)前影象來(lái)構(gòu)造一個(gè)讀一致性視圖?;貪L段(undoSegment)回滾段用于存放數(shù)據(jù)修改自動(dòng)管理回滾段回滾段自動(dòng)管理需要設(shè)置以下的初始化參數(shù)UNDO_MANAGEMENT=AUTOUNDO_TABLESPACE=UNDOTBSUNDO_MANAGEMENT:指定是否用自動(dòng)管理或手工管理模式(AUTOorMANUAL).UNDO_TABLESPACE:指定一個(gè)表空間用做回滾(UNDO)自動(dòng)管理回滾段回滾段自動(dòng)管理需要設(shè)置以下的初始化參數(shù)表及其管理表是ORACLE中最重要的數(shù)據(jù)庫(kù)對(duì)象,表存儲(chǔ)一些相似的數(shù)據(jù)集合,這些數(shù)據(jù)被描述成若干列或字段。員工代碼姓名性別職務(wù)工資001張三男會(huì)計(jì)1000003李四女出納600。。。。。。。。。。。。。。。。。。。。。100王五男經(jīng)理2000表及其管理表是ORACLE中最重要的數(shù)據(jù)庫(kù)對(duì)象,表存儲(chǔ)一些相ORACLE數(shù)據(jù)類型ORACLE數(shù)據(jù)類型ORACLE數(shù)據(jù)類型CHAR:存放固定長(zhǎng)度的字符串VARCHAR2:存放可變長(zhǎng)度的字符串NUMBER:存放0、正負(fù)數(shù)、浮點(diǎn)數(shù)DATE:存放時(shí)間數(shù)據(jù)(包括日期和時(shí)間)LONG:存放變長(zhǎng)字符串。一般用來(lái)存儲(chǔ)大文本,ORACLE8以后的版本建議用CLOB類型替換,每個(gè)表中只能有一個(gè)LONG列。LONGRAW存放多媒體數(shù)據(jù),如聲音、圖片,建議用BLOB類型替換。CLOB:用與存儲(chǔ)多達(dá)4GB的字符數(shù)據(jù)BLOB:用于存儲(chǔ)多達(dá)4GB的圖形、音頻、視頻文件ORACLE數(shù)據(jù)類型CHAR:存放固定長(zhǎng)度的字符串創(chuàng)建表創(chuàng)建表:基本格式:CREATETABLE<表名>(<列名><數(shù)據(jù)類型>[列約束],…...)[TABLESPACE<表空間>];例:創(chuàng)建一雇員表EMP,并把它存儲(chǔ)在RSGL表空間

CREATETABLEEMP(EMPNONUMBER(4),ENAMEVARCHAR2(10),JOBVARCHAR2(20),SALNUMBER(6,1),HIREDATEDATE,DEPTNONUMBER(2))tablespaceRSGL;要以自己的模式創(chuàng)建新表必須有CREATETABLE的系統(tǒng)許可權(quán)要以另一個(gè)用戶的模式創(chuàng)建表必須有CREATEANYTABLE的系統(tǒng)許可權(quán)。創(chuàng)建表創(chuàng)建表:通過(guò)查詢創(chuàng)建表可以通過(guò)查詢已有的表或視圖來(lái)創(chuàng)建表,而無(wú)須定義數(shù)據(jù)列和數(shù)據(jù)類型。例如:1.創(chuàng)建EMP表的副本emp_bak

createtableemp_bakasselect*fromemp;2.創(chuàng)建一新表YGXX,其數(shù)據(jù)類型和數(shù)據(jù)來(lái)源于EMP表Createtableygxx(ygdm,ygxm,zw,gz,jj,bmdm)AsSelectempno,ename,job,sal,comm,deptnofromemp;通過(guò)查詢創(chuàng)建表可以通過(guò)查詢已有的表或視圖來(lái)創(chuàng)建表,而無(wú)須定義創(chuàng)建臨時(shí)表臨時(shí)表中的數(shù)據(jù)只對(duì)創(chuàng)建這些數(shù)據(jù)的會(huì)話或者特定的事務(wù)可用,ORACLE在每次提交以后就刪除行或截?cái)啾?。臨時(shí)表上可以創(chuàng)建索引,視圖和觸發(fā)器臨時(shí)表的DML(數(shù)據(jù)操作語(yǔ)言)語(yǔ)句不會(huì)生成redolog例:創(chuàng)建一臨時(shí)表emp_tempCreateglobaltemporarytableemp_tempAsselect*fromemp;創(chuàng)建臨時(shí)表臨時(shí)表中的數(shù)據(jù)只對(duì)創(chuàng)建這些數(shù)據(jù)的會(huì)話或者特定的事務(wù)重組表(表遷移)在未分區(qū)的表上使用altertable命令中的MOVE子句,可以重組表(extents)或者把表從一個(gè)表空間移到另一個(gè)表空間中去。例:把雇員表EMP遷移到RSGL表空間Altertableempmovetablespacersgl;重組表(表遷移)在未分區(qū)的表上使用altertable命令表及其管理修改表示例:定義EMP表中EMPNO為主鍵

ALTERTABLEEMPADDPRIMARYKEY(EMPNO);向EMP表中新添一獎(jiǎng)金列-COMMALTERTABLEEMPADD(COMMNUMBER(6,2));3.修改EMP表中SAL的字段寬度為5位整數(shù)2位小數(shù)

ALTERTABLEEMPMODIFY(SALNUMBER(7,2));ORACLE允許向表中新添列或修改列寬度,但不允許直接從表中刪除列(8i以前)或改變列名。表管理同樣也采用GUI方式:OralceEnterpriseManager->SchemaManager表及其管理修改表表及其管理刪除表(DROPTABLE)格式:DROPTABLE<表名>;如果要?jiǎng)h除的表中包含的主關(guān)鍵字或唯一關(guān)鍵字涉及到其它表的外部關(guān)鍵字而且用戶打算刪除子表的FOREIGNKEY約束那么就要使用如下所示包含CASCADE選項(xiàng)的DROPTABLE語(yǔ)句(如刪除dept表).示例:刪除雇員表Droptableemp;注意:要?jiǎng)h除表的用戶必須具有DROPTABLE或DROPANYTABLE的系統(tǒng)特權(quán)。所有與表有關(guān)的索引和觸發(fā)器都將刪除刪除命令不能通過(guò)ROLLBACK命令撤銷表及其管理刪除表(DROPTABLE)截?cái)啾恚═RUNCATE)TRUNCATE語(yǔ)句和DROP語(yǔ)句類似,但TRUNCATE語(yǔ)句不會(huì)刪除表的結(jié)構(gòu),也不會(huì)刪除表上的任何一個(gè)索引、觸發(fā)器、權(quán)限。在默認(rèn)情況下Oracle將釋放表和索引的空間TRUNCATE命令不能進(jìn)行回退TRUNCATE命令不能選擇性的進(jìn)行刪除TRUNCATE命令數(shù)據(jù)刪除非???,不產(chǎn)生回退(undo)信息例如:刪除表EMP

溫馨提示

  • 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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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)論