久久福利_99r_国产日韩在线视频_直接看av的网站_中文欧美日韩_久久一

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

Oracle9i 數(shù)據(jù)庫(kù)設(shè)計(jì)指引全集

瀏覽:3日期:2023-11-17 19:21:47
數(shù)據(jù)庫(kù)物理設(shè)計(jì)原則1.1 數(shù)據(jù)庫(kù)環(huán)境配置原則1.1.1 操作系統(tǒng)環(huán)境: 對(duì)于中小型數(shù)據(jù)庫(kù)系統(tǒng),采用Linux操作系統(tǒng)比較合適,對(duì)于數(shù)據(jù)庫(kù)冗余要求負(fù)載均衡能力要求較高的系統(tǒng),可以采用Oracle9i RAC的集群數(shù)據(jù)庫(kù)的方法,集群節(jié)點(diǎn)數(shù)范圍在2—64個(gè)。對(duì)于大型數(shù)據(jù)庫(kù)系統(tǒng),可以采用Sun Solaris SPARC 64位小型機(jī)系統(tǒng)或HP 9000 系列小型機(jī)系統(tǒng)。RAD5 適合只讀操作的數(shù)據(jù)庫(kù),RAD1 適合OLTP數(shù)據(jù)庫(kù)1.1.2 內(nèi)存要求對(duì)于linux操作系統(tǒng)下的數(shù)據(jù)庫(kù),由于在正常情況下Oracle對(duì)SGA的治理能力不超過(guò)1.7G。所以總的物理內(nèi)存在4G以下。SGA的大小為物理內(nèi)存的50%—75%。對(duì)于64位的小型系統(tǒng),Oracle數(shù)據(jù)庫(kù)對(duì)SGA的治理超過(guò)2G的限制,SGA設(shè)計(jì)在一個(gè)合適的范圍內(nèi):物理內(nèi)存的50%—70%,當(dāng)SGA過(guò)大的時(shí)候會(huì)導(dǎo)致內(nèi)存分頁(yè),影響系統(tǒng)性能。1.1.3 交換區(qū)設(shè)計(jì)當(dāng)物理內(nèi)存在2G以下的情況下,交換分區(qū)swap為物理內(nèi)存的3倍,當(dāng)物理內(nèi)存>2G的情況下,swap大小為物理內(nèi)存的1—2倍。1.1.4 其他環(huán)境變量參考Oracle相關(guān)的安裝文檔和隨機(jī)文檔。1.2 數(shù)據(jù)庫(kù)設(shè)計(jì)原則1.2.1 數(shù)據(jù)庫(kù)SID數(shù)據(jù)庫(kù)SID是唯一標(biāo)志數(shù)據(jù)庫(kù)的符號(hào),命名長(zhǎng)度不能超過(guò)5個(gè)字符。對(duì)于單節(jié)點(diǎn)數(shù)據(jù)庫(kù),以字符開(kāi)頭的5個(gè)長(zhǎng)度以內(nèi)字串作為SID的命名。對(duì)于集群數(shù)據(jù)庫(kù),當(dāng)命名SID后,各節(jié)點(diǎn)SID自動(dòng)命名為SIDnn,其中nn為節(jié)點(diǎn)號(hào):1,2,…,64。例如rac1、rac2、rac24。1.2.2 數(shù)據(jù)庫(kù)全局名Oracle9i 數(shù)據(jù)庫(kù)設(shè)計(jì)指引全集數(shù)據(jù)庫(kù)全局名稱(chēng):<sid>.domain1.2.3 數(shù)據(jù)庫(kù)類(lèi)型選擇 對(duì)于海量數(shù)據(jù)庫(kù)系統(tǒng),采用data warehouse的類(lèi)型。對(duì)于小型數(shù)據(jù)庫(kù)或OLTP類(lèi)型的數(shù)據(jù)庫(kù),采用Transaction Processing類(lèi)型。 1.2.4 數(shù)據(jù)庫(kù)連接類(lèi)型選擇 Oracle數(shù)據(jù)庫(kù)有專(zhuān)用服務(wù)器連接類(lèi)型和多線程服務(wù)器MTS連接類(lèi)型。對(duì)于批處理服務(wù),需要專(zhuān)用服務(wù)器連接方式,而對(duì)于OLTP服務(wù)則MTS的連接方式比較合適。由于采用MTS后,可以通過(guò)配置網(wǎng)絡(luò)服務(wù)實(shí)現(xiàn)某些特定批處理服務(wù)采用專(zhuān)用服務(wù)器連接方式,所以數(shù)據(jù)庫(kù)設(shè)計(jì)時(shí)一般采用MTS類(lèi)型。 1.2.5 數(shù)據(jù)庫(kù)SGA配置 數(shù)據(jù)庫(kù)SGA可以采用手工配置或按物理內(nèi)存比例配置,在數(shù)據(jù)庫(kù)初始設(shè)計(jì)階段采用按比例配置方式,在實(shí)際應(yīng)用中按系統(tǒng)調(diào)優(yōu)方式修改SGA。 1.2.6 數(shù)據(jù)庫(kù)字符集選擇 為了使數(shù)據(jù)庫(kù)能夠正確支持多國(guó)語(yǔ)言,必須配置合適的數(shù)據(jù)庫(kù)字符集,采用UTF8字符集。 注重:假如沒(méi)有大對(duì)象,在使用過(guò)程中進(jìn)行語(yǔ)言轉(zhuǎn)換沒(méi)有什么影響,具體過(guò)程如下(切記設(shè)定的字符集必須是ORACLE支持,不然不能start) SQL> shutdown immediate;SQL> startup mount;SQL> alter system enable restricted session;SQL> alter system set job_queue_processes=0;SQL> alter database open;SQL> alter database character set internal_use we8iso8859p1;SQL> shutdown immediate;SQL> startup1.2.7 數(shù)據(jù)庫(kù)其他參數(shù)配置 1.2.7.1 DB_FILES Db_files是數(shù)據(jù)庫(kù)能夠同時(shí)打開(kāi)的文件數(shù)量,默認(rèn)值是200個(gè)。當(dāng)數(shù)據(jù)庫(kù)規(guī)劃時(shí)文件數(shù)量FILES接近或超過(guò)200個(gè)時(shí)候,按以下估計(jì)值配置: DB_FILES = FILES * 1.5 1.2.7.2 Db_block_size 一個(gè)extent要是5個(gè)blocks的倍數(shù)為好,如:一個(gè)blocks是4096字節(jié),那一個(gè)extent就是2M、4M或8M為好。Db_block_size是數(shù)據(jù)庫(kù)最小物理單元,一旦數(shù)據(jù)庫(kù)創(chuàng)建完成,該參數(shù)無(wú)法修改,db_block_size按以下規(guī)則調(diào)整: 數(shù)據(jù)倉(cāng)庫(kù)類(lèi)型: db_block_size盡可能大,采用8192 或 16384 OLTP類(lèi)型: db_block_size 用比較小的取值范圍: 2048 或 4096 Blocks推薦是系統(tǒng)操作的塊倍數(shù)(裸設(shè)備塊大小是512字節(jié),NTFS是 4K,使用8K的方式在大部分系統(tǒng)上通用)。 1.2.8 數(shù)據(jù)庫(kù)控制文件配置 1.2.8.1 控制文件鏡象 多個(gè)控制文件存放在不同的物理位置。 1.2.8.2 控制文件配置 控制文件中參數(shù)設(shè)置,最大的數(shù)據(jù)文件數(shù)量不能小于數(shù)據(jù)庫(kù)參數(shù)db_files。 1.2.9 數(shù)據(jù)庫(kù)日志文件配置 1.2.9.1 日志文件大小 日志文件的大小由數(shù)據(jù)庫(kù)事務(wù)處理量決定,在設(shè)計(jì)過(guò)程中,確保每20分鐘切換一個(gè)日志文件。所以對(duì)于批處理系統(tǒng),日志文件大小為幾百M(fèi) 到幾G的大小。對(duì)于OLTP系統(tǒng),日志文件大小為幾百M(fèi)以內(nèi)。 1.2.9.2 日志文件組數(shù)量 對(duì)于批處理系統(tǒng),日志文件組為5—10組;對(duì)于OLTP系統(tǒng),日志文件組為 3—5組,每組日志大小保持一致;對(duì)于集群數(shù)據(jù)庫(kù)系統(tǒng),每節(jié)點(diǎn)有各自獨(dú)立的日志組。 1.2.9.3 日志成員數(shù)量 為了確保日志能夠鏡象作用,每日志組的成員為2個(gè)。 1.2.10 數(shù)據(jù)庫(kù)回滾段配置 在Oracle9i數(shù)據(jù)庫(kù)中,設(shè)計(jì)Undo表空間取代以前版本的回滾段表空間。 Undo 表空間大小的設(shè)計(jì)規(guī)范由以下公式計(jì)算: Undospace = UR * UPS *db_block_size+ 冗余量 UR: 表示在undo中保持的最長(zhǎng)時(shí)間數(shù)(秒),由數(shù)據(jù)庫(kù)參數(shù)UNDO_RETENTION值決定。 UPS:表示在undo中,每秒產(chǎn)生的數(shù)據(jù)庫(kù)塊數(shù)量。 例如:在數(shù)據(jù)庫(kù)中保留2小時(shí)的回退數(shù)據(jù),假定每小時(shí)產(chǎn)生200個(gè)數(shù)據(jù)庫(kù)塊。則Undospace = 2 * 3600 * 200 * 4K = 5.8G 1.2.11 數(shù)據(jù)庫(kù)臨時(shí)段表空間配置 數(shù)據(jù)庫(kù)臨時(shí)段表空間根據(jù)實(shí)際生產(chǎn)環(huán)境情況調(diào)整其大小,表空間屬性為自動(dòng)擴(kuò)展。 1.2.12 數(shù)據(jù)庫(kù)系統(tǒng)表空間配置 系統(tǒng)表空間大小1G左右,除了存放數(shù)據(jù)庫(kù)數(shù)據(jù)字典的數(shù)據(jù)外,其他數(shù)據(jù)不得存儲(chǔ)在系統(tǒng)表空間。 1.3 數(shù)據(jù)庫(kù)表空間設(shè)計(jì)原則 1.3.1 表空間大小定義原則 當(dāng)表空間 大小小于操作系統(tǒng)對(duì)最大文件限制時(shí),表空間由一個(gè)文件組成。假如表空間大小大于操作系統(tǒng)對(duì)最大文件限制時(shí),該表空間由多個(gè)數(shù)據(jù)文件組成,表空間的總大小為估算為: Tablespace + sum (數(shù)據(jù)段+索引段)*150%。 1.3.2 表空間擴(kuò)展性設(shè)計(jì)原則 表空間數(shù)據(jù)文件采用自動(dòng)擴(kuò)展的方式,擴(kuò)展容量快大小按2的整數(shù)倍(1M、2M、4M、8M、16M、32M、64M)進(jìn)行擴(kuò)展,創(chuàng)建表空間時(shí)盡量采用nologing選項(xiàng)。表空間的最大限制一般采用unlimited,除非確切知道表空間數(shù)據(jù)文件的最大使用范圍。(一般windows 32位系統(tǒng)的文件最大2G,64位的unix系統(tǒng)系統(tǒng)文件最大128G,但也要注重文件格式設(shè)定的文件大小),建議最大為2G。表空間采用local治理方式,例如:CREATE TABLESPACE TBS_USERINFODATAFILE '/oradata/tbs_userinfo.dbf' SIZE 8MREUSE AUTOEXTEND ON NEXT 2M MAXSIZE UNLIMITEDNOLOGGINGEXTENT MANAGEMENT LOCAL AUTOALLOCATESEGMENT SPACE MANAGEMENT AUTO;1.4 裸設(shè)備的使用 一個(gè)scsi設(shè)備可以 14個(gè)分區(qū),unix操作系統(tǒng)256個(gè)分區(qū),性能比文件系統(tǒng)方式高15%左右,空間大于要小于(實(shí)際分區(qū)大小減兩個(gè)ORACLE的數(shù)據(jù)塊),比如100M,大于為100000K,推薦在unix使用軟連接(ln)方式把裸設(shè)備形成文件,用加入表空間時(shí)加resue 選項(xiàng),當(dāng)然也可只接把設(shè)備加入表空間,移動(dòng)裸設(shè)備使用dd命令 對(duì)于windows平臺(tái),oracle提供軟連接工具,實(shí)現(xiàn)裸設(shè)備的使用,計(jì)算一條記錄的長(zhǎng)度 2 數(shù)據(jù)庫(kù)邏輯設(shè)計(jì)原則 2.1 命名規(guī)范 2.1.1 表屬性規(guī)范 2.1.1.1 表名 前綴為T(mén)bl_ 。數(shù)據(jù)表名稱(chēng)必須以有特征含義的單詞或縮寫(xiě)組成,中間可以用“_”分割,例如:tbl_pstn_detail。表名稱(chēng)不能用雙引號(hào)包含。 2.1.1.2 表分區(qū)名 前綴為p 。分區(qū)名必須有特定含義的單詞或字串。 例如 :tbl_pstn_detail 的分區(qū)p2004100101表示該分區(qū)存儲(chǔ) 2004100101時(shí)段的數(shù)據(jù)。 2.1.1.3 字段名 字段名稱(chēng)必須用字母開(kāi)頭,采用有特征含義的單詞或縮寫(xiě),不能用雙引號(hào)包含。 2.1.1.4 主鍵名 前綴為PK_。主鍵名稱(chēng)應(yīng)是 前綴+表名+構(gòu)成的字段名。假如復(fù)合主鍵的構(gòu)成字段較多,則只包含第一個(gè)字段。表名可以去掉前綴。 2.1.1.5 外鍵名 前綴為FK_。外鍵名稱(chēng)應(yīng)是 前綴+ 外鍵表名 + 主鍵表名 + 外鍵表構(gòu)成的字段名。表名可以去掉前綴。 2.1.2 索引 4.1.2.1 普通索引 前綴為IDX_。索引名稱(chēng)應(yīng)是 前綴+表名+構(gòu)成的字段名。假如復(fù)合索引的構(gòu)成字段較多,則只包含第一個(gè)字段,并添加序號(hào)。表名可以去掉前綴。 2.1.2.2 主鍵索引 前綴為IDX_PK_。索引名稱(chēng)應(yīng)是 前綴+表名+構(gòu)成的主鍵字段名,在創(chuàng)建表時(shí)候用using index指定主鍵索引屬性。 2.1.2.3 唯一所以 前綴為IDX_UK_。索引名稱(chēng)應(yīng)是 前綴+表名+構(gòu)成的字段名。 2.1.2.4 外鍵索引 前綴為IDX_FK_。索引名稱(chēng)應(yīng)是 前綴+表名+構(gòu)成的外鍵字段名。 2.1.2.5 函數(shù)索引 前綴為IDX_func_。索引名稱(chēng)應(yīng)是 前綴+表名+構(gòu)成的特征表達(dá)字符。 2.1.2.6 蔟索引 前綴為IDX_clu_。索引名稱(chēng)應(yīng)是 前綴+表名+構(gòu)成的簇字段。 2.1.3 視圖 前綴為V_。按業(yè)務(wù)操作命名視圖。 2.1.4 實(shí)體化視圖 前綴為MV_。按業(yè)務(wù)操作命名實(shí)體化視圖。 2.1.5 存儲(chǔ)過(guò)程 前綴為Proc_ 。按業(yè)務(wù)操作命名存儲(chǔ)過(guò)程 2.1.6 觸發(fā)器 前綴為T(mén)rig_ 。觸發(fā)器名應(yīng)是 前綴 + 表名 + 觸發(fā)器名。 2.1.7 函數(shù) 前綴為Func_ 。按業(yè)務(wù)操作命名函數(shù) 2.1.8 數(shù)據(jù)包 前綴為Pkg_ 。按業(yè)務(wù)操作集合命名數(shù)據(jù)包。 2.1.9 序列 前綴為Seq_ 。按業(yè)務(wù)屬性命名。 2.1.10 表空間 2.1.10.1 公用表空間 前綴為T(mén)bs_ 。 根據(jù)存儲(chǔ)的特性命名,例如: tbs_parameter 。 2.1.10.2 專(zhuān)用表空間 Tbs_<表名稱(chēng)>_nn。該表空間專(zhuān)門(mén)存儲(chǔ)指定的某一個(gè)表,或某一表的若干個(gè)分區(qū)的數(shù)據(jù) 2.1.11 數(shù)據(jù)文件 <表空間名>nn.dbf 。nn =1,2,3,4,…等。 2.1.12 普通變量 前綴為Var_ 。 存放字符、數(shù)字、日期型變量。 2.1.13 游標(biāo)變量 前綴為Cur_ 。存放游標(biāo)記錄集。 2.1.14 記錄型變量 前綴為Rec_ 。 存放記錄型數(shù)據(jù)。 2.1.15 表類(lèi)型變量 前綴為T(mén)ab_ 。 存放表類(lèi)型數(shù)據(jù)。 2.1.16 數(shù)據(jù)庫(kù)鏈 前綴為dbl_ 。 表示分布式數(shù)據(jù)庫(kù)外部鏈接關(guān)系。 2.2 命名 2.2.1 語(yǔ)言 命名應(yīng)該使用英文單詞,避免使用拼音,非凡不應(yīng)該使用拼音簡(jiǎn)寫(xiě)。命名不答應(yīng)使用中文或者非凡字符。 英文單詞使用用對(duì)象本身意義相對(duì)或相近的單詞。選擇最簡(jiǎn)單或最通用的單詞。不能使用毫不相干的單詞來(lái)命名 當(dāng)一個(gè)單詞不能表達(dá)對(duì)象含義時(shí),用詞組組合,假如組合太長(zhǎng)時(shí),采用用簡(jiǎn)或縮寫(xiě),縮寫(xiě)要基本能表達(dá)原單詞的意義。 當(dāng)出現(xiàn)對(duì)象名重名時(shí),是不同類(lèi)型對(duì)象時(shí),加類(lèi)型前綴或后綴以示區(qū)別。 2.2.2 大小寫(xiě) 名稱(chēng)一律大寫(xiě),以方便不同數(shù)據(jù)庫(kù)移植,以及避免程序調(diào)用問(wèn)題。 2.2.3 單詞分隔 命名的各單詞之間可以使用下劃線進(jìn)行分隔。 2.2.4 保留字 命名不答應(yīng)使用SQL保留字。 2.2.5 命名長(zhǎng)度 表名、字段名、視圖名長(zhǎng)度應(yīng)限制在20個(gè)字符內(nèi)(含前綴)。 2.2.6 字段名稱(chēng) 同一個(gè)字段名在一個(gè)數(shù)據(jù)庫(kù)中只能代表一個(gè)意思。比如telephone在一個(gè)表中代表“電話號(hào)碼”的意思,在另外一個(gè)表中就不能代表“手機(jī)號(hào)碼”的意思。 不同的表用于相同內(nèi)容的字段應(yīng)該采用同樣的名稱(chēng),字段類(lèi)型定義。 2.3 數(shù)據(jù)類(lèi)型 2.3.1 字符型 固定長(zhǎng)度的字串類(lèi)型采用char,長(zhǎng)度不固定的字串類(lèi)型采用varchar。避免在長(zhǎng)度不固定的情況下采用char類(lèi)型。假如在數(shù)據(jù)遷移等出現(xiàn)以上情況,則必須使用trim()函數(shù)截去字串后的空格。 2.3.2 數(shù)字型 數(shù)字型字段盡量采用number類(lèi)型。 2.3.3 日期和時(shí)間 2.3.3.1 系統(tǒng)時(shí)間 由數(shù)據(jù)庫(kù)產(chǎn)生的系統(tǒng)時(shí)間首選數(shù)據(jù)庫(kù)的日期型,如DATE類(lèi)型。 2.3.3.2 外部時(shí)間 由數(shù)據(jù)導(dǎo)入或外部應(yīng)用程序產(chǎn)生的日期時(shí)間類(lèi)型采用varchar類(lèi)型,數(shù)據(jù)格式采用:YYYYMMDDHH24MISS。 2.3.3.3 大字段 如無(wú)非凡需要,避免使用大字段(blob,clob,long,text,image等)。 2.3.3.4 唯一鍵 對(duì)于數(shù)字型唯一鍵值,盡可能用系列sequence產(chǎn)生。 2.4 設(shè)計(jì) 2.4.1 范式 如無(wú)性能上的必須原因,應(yīng)該使用關(guān)系數(shù)據(jù)庫(kù)理論,達(dá)到較高的范式,避免數(shù)據(jù)冗余,但是假如在數(shù)據(jù)量上與性能上無(wú)非凡要求,考慮到實(shí)現(xiàn)的方便性可以有適當(dāng)?shù)臄?shù)據(jù)冗余,但基本上要達(dá)到3NF.如非確實(shí)必要,避免一個(gè)字段中存儲(chǔ)多個(gè)標(biāo)志的做法。如11101表示5個(gè)標(biāo)志的一種取值。這往往是增加復(fù)雜度,降低性能的地方。 2.4.2 表設(shè)計(jì)2.4.2.1 邏輯段設(shè)計(jì)原則2.4.2.1.1 Tablespace每個(gè)表在創(chuàng)建時(shí)候,必須指定所在的表空間,不要采用默認(rèn)表空間以防止表建立在系統(tǒng)表空間上導(dǎo)致性能問(wèn)題。對(duì)于事務(wù)比較繁忙的數(shù)據(jù)表,必須存放在該表的專(zhuān)用表空間中。 2.4.2.1.2 Pctused默認(rèn)pctused導(dǎo)致數(shù)據(jù)庫(kù)物理空間利用率非常低40%左右;對(duì)于update比較少或update不導(dǎo)致行增大的表,pctused可設(shè)置在60—85之間;對(duì)于update能夠?qū)е滦性龃蟮谋恚瑄pdate設(shè)置在40—70之間2.4.2.1.3 Initrans對(duì)于需要并行查詢或者在RAC數(shù)據(jù)庫(kù)中需要并行處理的表,initrans設(shè)置為2的倍數(shù),否則,不設(shè)該值。2.4.2.1.4 Storage2.4.2.1.4.1 Initial盡量減少表數(shù)據(jù)段的extents數(shù)量,initial的大小盡量接近數(shù)據(jù)段的大小64K,128K,… ,1M,2M,4M,8M,16M ,…,等按2的倍數(shù)進(jìn)行圓整。例如表或分區(qū)數(shù)據(jù)段大小為28M,則initial取32M。2.4.2.1.4.2 Next表或分區(qū)擴(kuò)展extents的大小,按上述方法進(jìn)行圓整。當(dāng)表或分區(qū)數(shù)據(jù)段無(wú)法按Initial接近值進(jìn)行圓整的情況下,其大小可以按 Initial+Next進(jìn)行圓整。此時(shí),必須設(shè)置Minextents=2。例如:表或分區(qū)數(shù)據(jù)段大小為150M,則Initial=128M;Next=32M,Minextents=2。2.4.2.1.4.3 Minextents該參數(shù)表示表創(chuàng)建時(shí)候Extents的初始數(shù)量,一般取1—2。2.4.2.1.4.4 Pctincrease表示每個(gè)擴(kuò)展Extents的增長(zhǎng)率,設(shè)置pctincrease=0能夠獲得較好的存儲(chǔ)性能。2.4.2.2 非凡表設(shè)計(jì)原則2.4.2.2.1 分區(qū)表對(duì)于數(shù)據(jù)量比較大的表,根據(jù)表數(shù)據(jù)的屬性進(jìn)行分區(qū),以得到較好的性能。假如表按某些字段進(jìn)行增長(zhǎng),則采用按字段值范圍進(jìn)行范圍分區(qū);假如表按某個(gè)字段的幾個(gè)要害值進(jìn)行分布,則采用列表分區(qū);對(duì)于靜態(tài)表,則采用hash分區(qū)或列表分區(qū);在范圍分區(qū)中,假如數(shù)據(jù)按某要害字段均衡分布,則采用子分區(qū)的復(fù)合分區(qū)方法。2.4.2.2.2 聚蔟表假如某幾個(gè)靜態(tài)表關(guān)系比較密切,則可以采用聚蔟表的方法。2.4.2.3 完整性設(shè)計(jì)原則2.4.2.3.1 主鍵約束關(guān)聯(lián)表的父表要求有主健,主健字段或組合字段必須滿足非空屬性和唯一性要求。對(duì)于數(shù)據(jù)量比較大的父表,要求指定索引段。2.4.2.3.2 外鍵關(guān)聯(lián)對(duì)于關(guān)聯(lián)兩個(gè)表的字段,一般應(yīng)該分別建立主鍵、外鍵。實(shí)際是否建立外鍵,根據(jù)對(duì)數(shù)據(jù)完整性的要求決定。為了提高性能,對(duì)于數(shù)據(jù)量比較大的標(biāo)要求對(duì)外健建立索引。對(duì)于有要求級(jí)聯(lián)刪除屬性的外鍵,必須指定on delete cascade 。2.4.2.3.3 NULL值對(duì)于字段能否null,應(yīng)該在sql建表腳本中明確指明,不應(yīng)使用缺省。由于NULL值在參加任何運(yùn)算中,結(jié)果均為NULL。所以在應(yīng)用程序中必須利用nvl()函數(shù)把可能為NULL值得字段或變量轉(zhuǎn)換為非NULL的默認(rèn)值。例如:NVL(sale,0)。2.4.2.3.4 Check條件對(duì)于字段有檢查性約束,要求指定check規(guī)則。2.4.2.3.5 觸發(fā)器觸發(fā)器是一種非凡的存儲(chǔ)過(guò)程,通過(guò)數(shù)據(jù)表的DML操作而觸發(fā)執(zhí)行,起作用是為確保數(shù)據(jù)的完整性和一致性不被破壞而創(chuàng)建,實(shí)現(xiàn)數(shù)據(jù)的完整約束。觸發(fā)器的before或after事務(wù)屬性的選擇時(shí)候,對(duì)表操作的事務(wù)屬性必須與應(yīng)用程序事務(wù)屬性保持一致,以避免死鎖發(fā)生。在大型導(dǎo)入表中,盡量避免使用觸發(fā)器。2.4.2.4 注釋表、字段等應(yīng)該有中文名稱(chēng)注釋?zhuān)约靶枰f(shuō)明的內(nèi)容。2.4.3 索引設(shè)計(jì)對(duì)于查詢中需要作為查詢條件的字段,可以考慮建立索引。最終根據(jù)性能的需要決定是否建立索引。對(duì)于復(fù)合索引,索引字段順序比較要害,把查詢頻率比較高的字段排在索引組合的最前面。在分區(qū)表中,盡量采用local分區(qū)索引以方便分區(qū)維護(hù)。除非時(shí)分區(qū)local索引,否則在創(chuàng)建索引段時(shí)候必須指定指定索引段的tablespace、storage屬性,具體參考4.4.2.1內(nèi)容。2.4.4 視圖設(shè)計(jì)視圖是虛擬的數(shù)據(jù)庫(kù)表,在使用時(shí)要遵循以下原則:從一個(gè)或多個(gè)庫(kù)表中查詢部分?jǐn)?shù)據(jù)項(xiàng);為簡(jiǎn)化查詢,將復(fù)雜的檢索或字查詢通過(guò)視圖實(shí)現(xiàn);提高數(shù)據(jù)的安全性,只將需要查看的數(shù)據(jù)信息顯示給權(quán)限有限的人員;視圖中假如嵌套使用視圖,級(jí)數(shù)不得超過(guò)3級(jí);由于視圖中只能固定條件或沒(méi)有條件,所以對(duì)于數(shù)據(jù)量較大或隨時(shí)間的推移逐漸增多的庫(kù)表,不宜使用視圖;可以采用實(shí)體化視圖代替。除非凡需要,避免類(lèi)似Select * from [TableName] 而沒(méi)有檢索條件的視圖;視圖中盡量避免出現(xiàn)數(shù)據(jù)排序的SQL語(yǔ)句。2.4.5 包設(shè)計(jì)存儲(chǔ)過(guò)程、函數(shù)、外部游標(biāo)必須在指定的數(shù)據(jù)包對(duì)象PACKAGE中實(shí)現(xiàn)。存儲(chǔ)過(guò)程、函數(shù)的建立如同其它語(yǔ)言形式的編程過(guò)程,適合采用模塊化設(shè)計(jì)方法;當(dāng)具體算法改變時(shí),只需要修改需要存儲(chǔ)過(guò)程即可,不需要修改其它語(yǔ)言的源程序。當(dāng)和數(shù)據(jù)庫(kù)頻繁交換數(shù)據(jù)是通過(guò)存儲(chǔ)過(guò)程可以提高運(yùn)行速度,由于只有被授權(quán)的用戶才能執(zhí)行存儲(chǔ)過(guò)程,所以存儲(chǔ)過(guò)程有利于提高系統(tǒng)的安全性。存儲(chǔ)過(guò)程、函數(shù)必須檢索數(shù)據(jù)庫(kù)表記錄或數(shù)據(jù)庫(kù)其他對(duì)象,甚至修改(執(zhí)行Insert、Delete、Update、Drop、Create等操作)數(shù)據(jù)庫(kù)信息。假如某項(xiàng)功能不需要和數(shù)據(jù)庫(kù)打交道,則不得通過(guò)數(shù)據(jù)庫(kù)存儲(chǔ)過(guò)程或函數(shù)的方式實(shí)現(xiàn)。在函數(shù)中避免采用DML或DDL語(yǔ)句。在數(shù)據(jù)包采用存儲(chǔ)過(guò)程、函數(shù)重載的方法,簡(jiǎn)化數(shù)據(jù)包設(shè)計(jì),提高代碼效率。存儲(chǔ)過(guò)程、函數(shù)必須有相應(yīng)的出錯(cuò)處理功能。2.4.6 安全性設(shè)計(jì)4.4.6.1 治理默認(rèn)用戶在生產(chǎn)環(huán)境中,必須嚴(yán)格治理sys和system用戶,必須修改其默認(rèn)密碼,禁止用該用戶建立數(shù)據(jù)庫(kù)應(yīng)用對(duì)象。刪除或鎖定數(shù)據(jù)庫(kù)測(cè)試用戶scott 。2.4.6.2 數(shù)據(jù)庫(kù)級(jí)用戶權(quán)限設(shè)計(jì)必須按照應(yīng)用需求,設(shè)計(jì)不同的用戶訪問(wèn)權(quán)限。包括應(yīng)用系統(tǒng)治理用戶,普通用戶等,按照業(yè)務(wù)需求建立不同的應(yīng)用角色。用戶訪問(wèn)另外的用戶對(duì)象時(shí),應(yīng)該通過(guò)創(chuàng)建同義詞對(duì)象synonym進(jìn)行訪問(wèn)。2.4.6.3 角色與權(quán)限確定每個(gè)角色對(duì)數(shù)據(jù)庫(kù)表的操作權(quán)限,如創(chuàng)建、檢索、更新、刪除等。每個(gè)角色擁有剛好能夠完成任務(wù)的權(quán)限,不多也不少。在應(yīng)用時(shí)再為用戶分配角色,則每個(gè)用戶的權(quán)限等于他所兼角色的權(quán)限之和。2.4.6.4 應(yīng)用級(jí)用戶設(shè)計(jì)應(yīng)用級(jí)的用戶帳號(hào)密碼不能與數(shù)據(jù)庫(kù)相同,防止用戶直接操作數(shù)據(jù)庫(kù)。用戶只能用帳號(hào)登陸到應(yīng)用軟件,通過(guò)應(yīng)用軟件訪問(wèn)數(shù)據(jù)庫(kù),而沒(méi)有其它途徑操作數(shù)據(jù)庫(kù)。2.4.6.5 用戶密碼治理用戶帳號(hào)的密碼必須進(jìn)行加密處理,確保在任何地方的查詢都不會(huì)出現(xiàn)密碼的明文。2.5 SQL編寫(xiě)2.5.1 字符類(lèi)型數(shù)據(jù)SQL中的字符類(lèi)型數(shù)據(jù)應(yīng)該統(tǒng)一使用單引號(hào)。非凡對(duì)純數(shù)字的字串,必須用單引號(hào),否則會(huì)導(dǎo)致內(nèi)部轉(zhuǎn)換而引起性能問(wèn)題或索引失效問(wèn)題。利用trim(),lower()等函數(shù)格式化匹配條件。2.5.2 復(fù)雜sql對(duì)于非常復(fù)雜的sql(非凡是有多層嵌套,帶子句或相關(guān)查詢的),應(yīng)該先考慮是否設(shè)計(jì)不當(dāng)引起的。對(duì)于一些復(fù)雜SQL可以考慮使用程序?qū)崿F(xiàn)。USER_TAB_COMMENTS 數(shù)據(jù)字典Comment on 可加注解2.5.3 高效性2.5.3.1 避免In子句使用In 或 not In子句時(shí),非凡是當(dāng)子句中有多個(gè)值時(shí),且查詢數(shù)據(jù)表數(shù)據(jù)較多時(shí),速度會(huì)明顯下降。可以采用連接查詢或外連接查詢來(lái)提高性能。Char 比 varchar 查詢時(shí)高詢?cè)谶M(jìn)行查詢及建立索引時(shí),char比varchar的效率要高,當(dāng)然varchar在存儲(chǔ)上比char要好2.5.3.2 避免嵌套的Select子句這個(gè)實(shí)際上是In子句的特例。2.5.3.3 避免使用Select * 語(yǔ)句假如不是必要取出所有數(shù)據(jù),不要用*來(lái)代替,應(yīng)給出字段列表,注:不含select count(*)。2.5.3.4 避免不必要的排序不必要的數(shù)據(jù)排序大大的降低系統(tǒng)性能。2.5.4 健壯性2.5.4.1 Insert語(yǔ)句使用Insert語(yǔ)句一定要給出要插入值的字段列表,這樣即使更改了表結(jié)構(gòu)加了字段也不會(huì)影響現(xiàn)有系統(tǒng)的運(yùn)行。2.5.4.2 Count(*)、Count(*)、count(distinct id)的區(qū)別Select count(*) from testtab得到表testtab的記錄數(shù)select count(id) from testtab 得到表testtab id字段非空記錄數(shù)select count(distinct id) from testtab得到表testtab id字段值非相同記錄數(shù)2.5.4.3 Not null 為字段類(lèi)型性質(zhì)的約束本約束功能在后期無(wú)語(yǔ)法使期失效,可使用修改字段類(lèi)型方式alter table modify 字段名 類(lèi)型 not nullalter table modify 字段名 類(lèi)型 外鍵列如沒(méi)有明確說(shuō)明not null,可插入null記錄(而null是在外部表的記錄中沒(méi)有的),如無(wú)可插null記錄的想法,要對(duì)外鍵字段加not null約束。2.5.4.5 序列 sequence 跳號(hào)的問(wèn)題sequence 因回滾,系統(tǒng)崩潰(使用cache 內(nèi)的值將認(rèn)為已用),多表引用都將使其跳號(hào),所以不能用于為連續(xù)序號(hào) utl_row.cast_to_row2.5.4.6 unicn intersect minus 使用ordey by的注重事項(xiàng)以上語(yǔ)句進(jìn)行連表操作,而表同表的字段順序的類(lèi)型相同但字段標(biāo)題名可不同,使用ordey by時(shí)后面假如是字段名,要求所有的表的字段標(biāo)題名相同,否則用字段的順序號(hào)select id,name,year from user1unionselect no,name,to_number(null) year from user2order by 1,name,year 2.5.5 安全性 2.5.5.1 Where 條件 無(wú)論在使用Select,還是使用破壞力極大的Update和Delete語(yǔ)句時(shí),一定要檢查Where條件判定的完整性,不要在運(yùn)行時(shí)出現(xiàn)數(shù)據(jù)的重大丟失。假如不確定,最好先用Select語(yǔ)句帶上相同條件來(lái)果一下結(jié)果集,來(lái)檢驗(yàn)條件是否正確。 2.5.6 完整性 有依靠關(guān)系的表,例如主外鍵關(guān)系表,在刪除父表時(shí)必須級(jí)聯(lián)刪除其子表相應(yīng)數(shù)據(jù),或則按照某種業(yè)務(wù)規(guī)則轉(zhuǎn)移該數(shù)據(jù)。9I中表中字段縮小及變類(lèi)型,字段為空或表空,varchar和char長(zhǎng)度不變可任意改,字段名和表名可字段可用 ALTER TABLE table SET UNUSED (column) 設(shè)定為不可用,注重?zé)o命令再設(shè)為可用 3 備份恢復(fù)設(shè)計(jì)原則 3.1 數(shù)據(jù)庫(kù)eXP/imp備份恢復(fù) Oracle數(shù)據(jù)庫(kù)的Exp、Imp提供了數(shù)據(jù)快速的備份和恢復(fù)手段,提供了數(shù)據(jù)庫(kù)級(jí)、用戶級(jí)和表級(jí)的數(shù)據(jù)備份恢復(fù)方式。這種方法一般作為數(shù)據(jù)庫(kù)輔助備份手段。 3.1.1 數(shù)據(jù)庫(kù)級(jí)備份原則 在數(shù)據(jù)庫(kù)的數(shù)據(jù)量比較小,或數(shù)據(jù)庫(kù)初始建立的情況下采用。不適合7*24的在線生產(chǎn)環(huán)境數(shù)據(jù)庫(kù)備份。 3.1.2 用戶級(jí)備份原則 在用戶對(duì)象表數(shù)據(jù)容量比較小、或則用戶對(duì)象初始建立的情況下使用。 3.1.3 表級(jí)備份原則 主要在以下場(chǎng)合采用的備份方式: 參數(shù)表備份 靜態(tài)表備份 分區(qū)表的分區(qū)備份。 3.2 數(shù)據(jù)庫(kù)冷備份原則 數(shù)據(jù)庫(kù)冷備份必須符合以下原則: 數(shù)據(jù)庫(kù)容量比較小。 數(shù)據(jù)庫(kù)答應(yīng)關(guān)閉的情況。 3.3 Rman備份恢復(fù)原則 這種方式適用于7*24環(huán)境下的聯(lián)機(jī)熱備份情形。 3.3.1 Catalog數(shù)據(jù)庫(kù) 單獨(dú)建立備份恢復(fù)用的數(shù)據(jù)庫(kù)實(shí)例,盡可能與生產(chǎn)環(huán)境的數(shù)據(jù)庫(kù)分開(kāi),確保catalog與生產(chǎn)數(shù)據(jù)庫(kù)的網(wǎng)絡(luò)連接良好。在9I系統(tǒng)使用良好的備份策略以可,支持完全使用控制文件保存catalog信息,備份策略如下: backup spfile format '/data/backup/%d_SPFILE_%T_%s_%p.bak';sql 'alter system archive log current';backup archivelog all format '/data/backup/%d_ARC_%T_%s_%p.bak' delete all input;backup current controlfile format '/data/backup/%d_CTL_%T_%s_%p.bak';在spfile、控制文件、數(shù)據(jù)庫(kù)全丟的情況下可通過(guò)下面的方式恢復(fù)RMAN> connect targetconnected to target database (not started)RMAN> startupRMAN> restore spfile from '/data/backup/COMMDB_SPFILE_20030411_9_1.bak';SQL> startupORA-00205: error in identifying controlfile, check alert log for more infoRMAN> restore controlfile from 'd:DB92_CTL_20031113_9_1.BAK';Mout database:RMAN> recover database;RMAN> alter database open resetlogs;注重:對(duì)數(shù)據(jù)庫(kù)設(shè)定控制文件保存?zhèn)浞菪畔?65天,具體語(yǔ)句如下。 alter system set control_file_record_keep_time=365 SCOPE=BOTH;3.3.2 Archive Log 設(shè)置Archive Log 的位置,確保存儲(chǔ)介質(zhì)有足夠的空間來(lái)保留指定時(shí)間內(nèi)archive log的總量。建設(shè)定期對(duì)RMAN進(jìn)行全備份,刪除冗余歸檔日志文件。 3.3.3 全備份策略 對(duì)于小容量數(shù)據(jù)庫(kù),可以采用全備份策略。對(duì)于大容量數(shù)據(jù)庫(kù),必須制定全備份策略方案,備份時(shí)對(duì)archive log進(jìn)行轉(zhuǎn)儲(chǔ),同時(shí)冷備份catalog 數(shù)據(jù)庫(kù)。 3.3.4 增量備份策略 對(duì)于大容量數(shù)據(jù)庫(kù),必須制定增量備份、累積備份和全備份的周期,備份時(shí)對(duì)archive log進(jìn)行轉(zhuǎn)儲(chǔ),同時(shí)冷備份catalog 數(shù)據(jù)庫(kù)。 3.3.5 恢復(fù)原則 采用Rman腳本進(jìn)行數(shù)據(jù)庫(kù)恢復(fù)。數(shù)據(jù)庫(kù)恢復(fù)有以下幾種: 3.3.5.1 局部恢復(fù) 主要用于恢復(fù)表空間、數(shù)據(jù)文件,一般不影響數(shù)據(jù)庫(kù)其他操作。 3.3.5.2 完全恢復(fù) 數(shù)據(jù)庫(kù)恢復(fù)到故障點(diǎn),由catalog當(dāng)前數(shù)據(jù)庫(kù)決定。 3.3.5.3 不完全恢復(fù) 恢復(fù)到數(shù)據(jù)庫(kù)的某一時(shí)間點(diǎn)或備份點(diǎn)。 恢復(fù)catalog數(shù)據(jù)庫(kù)。 恢復(fù)數(shù)據(jù)庫(kù)control file 。 恢復(fù)到數(shù)據(jù)庫(kù)某一時(shí)間點(diǎn)。 重設(shè)日志序列。 3.4 備用數(shù)據(jù)庫(kù)原則 數(shù)據(jù)庫(kù)系統(tǒng)在以下情況下可以考慮采用備用數(shù)據(jù)庫(kù)data guard原則: 數(shù)據(jù)庫(kù)容量適中。 數(shù)據(jù)庫(kù)嚴(yán)格要求7*24不間斷,或間斷時(shí)間要求控制在最小范圍內(nèi)。 數(shù)據(jù)庫(kù)要求有異地備份冗余。 3.5 一些小經(jīng)驗(yàn) 使用oemc的oms時(shí),首選項(xiàng)要求是節(jié)點(diǎn)和數(shù)據(jù)庫(kù)分別加入系統(tǒng)用戶(如:administrator)和數(shù)據(jù)庫(kù)DBA用戶(system)。節(jié)點(diǎn)的系統(tǒng)用戶必須有批處理作業(yè)登錄的權(quán)限 agent 不能啟動(dòng),lisnter修改后都要手動(dòng)刪除oracleora9networkagent 中的*.q文件 oracleadminmy9ibdump 中是用戶的出錯(cuò)日志 改變表的空間的方式alter table hr.ssss move TABLESPACE example(要重建索引); 或用imp導(dǎo)入時(shí),設(shè)定導(dǎo)入用戶只有某一表空間的使用權(quán),無(wú)RESOURCE角色和UNLIMITED TABLESPACE權(quán)限 aleter system set log_checkpoint_to_alter=true,后可報(bào)警文件發(fā)現(xiàn)checkpoint的起動(dòng)和結(jié)束時(shí)間。 3.6 系統(tǒng)調(diào)優(yōu)知識(shí) 3.6.1.1 生成狀態(tài)報(bào)表(statspack的使用) 使用(存放位置@?rdbmsadmin)的文件生成報(bào)表用戶 @?rdbmsadminSpcreate.sql建表 將timed_statistics設(shè)定true 使用生成的perfstat用戶登錄,執(zhí)行以下語(yǔ)句手動(dòng)收集信息 Exex statspack.snap Exec statspack.snap(I_SNAP_LEVEL=>0,I_MODEFY_PRAMETER=>TRUE) 0級(jí),最少10最大 使用下面的語(yǔ)句生成狀態(tài)報(bào)表 @?rdbmsadminSpreport.sql 其他相關(guān)文件 delete stats$snapshot ;清原來(lái)記錄數(shù)據(jù) @?rdbmsadminSaputo.sql select job from user_jobs 取用戶作業(yè)號(hào) exec dbms_remove(作業(yè)號(hào)) timed_statistics=true要求 @?rdbmsadminspdrop.sql ; 3.6.1.2 sql追蹤 設(shè)定全部用戶跟蹤 alter system set sql_trace=true; 用戶級(jí)別跟蹤 alter session set sql_trace=true; 用戶的跟蹤文件生成在 admin{pid}udump{pid} _ora_{ SPID}.trc 中,spid從下面語(yǔ)句得到 SELECT b.name bkpr, s.username, p.spid,s.sid,s.serial# FROM v$bgprocess b, v$session s, v$process p WHERE p.addr = b.paddr(+) AND p.addr = s.paddr and s.username=user; DBA對(duì)特定用戶跟蹤 exec dbms_system_set_Sql_trace_in_session(sid,serial#,true) 信息從下面得到 SELECT b.name bkpr, s.username, p.spid,s.sid,s.serial#,osuser,s.program FROM v$bgprocess b, v$session s, v$process p WHERE p.addr = b.paddr(+) AND p.addr = s.paddr; /*p.spid用于sql_trace時(shí)日志編號(hào),dbms_system.set_sql_trace_in_session(sid,erial#,true)*/ 用戶的跟蹤文件生成在 admin{pid}udump 中 系統(tǒng)的跟蹤文件生成在admin{pid}bdumpalert_{pid}.log tkprof.exe將log文件生成格式化文本 在av Rd(ms) 20以上說(shuō)明表空間使用過(guò)用頻繁,考慮將表分開(kāi)其他表空間上 系統(tǒng)變量fast_start_mttr_target的值要大到不產(chǎn)生log等待,當(dāng)然也可通過(guò)加log組使其不等待 reao log大小應(yīng)為每30分鐘切換一次 建議表空間的利用率不超80% buffer hit 要達(dá)80%以上為好 3.6.1.3 內(nèi)存調(diào)整 一般的內(nèi)存分配原則 SGA 50%(其中80% DATA BUFFER,15% SHARE POOL,5其他) PGA30% OS 20% 例如:2G的WINDOWS的平臺(tái),OS 300M,SAG 1.2G,PGA 500M 內(nèi)存分配的基本單位 SGA《=128M 4M SGA》128M64位系統(tǒng)16M,32M系統(tǒng)8M 動(dòng)態(tài)分配時(shí)總值不可大于sga_max_size 通過(guò)V$SGA_DYNAMIC_FREE_MEMORY取空閑內(nèi)存空間 在縮小時(shí)假如內(nèi)存空間實(shí)際在應(yīng)用中,CPU利用率將達(dá)100%,最后將語(yǔ)句出錯(cuò)。 V$SGASTAT 可看實(shí)際的使用情況 Redo log buffer一般在5M內(nèi),可通過(guò)v$sessuon_wait看是否等,v$sysstat 可也通過(guò)報(bào)警文件看是否等切換,方法可加組。可通過(guò)nologging(數(shù)據(jù)庫(kù)也要設(shè)定支持nologging)方法減少日志文件產(chǎn)生量。 Java_pool 沒(méi)有設(shè)定時(shí),使用shared_pool_size 3.6.1.3.1 shared_pool 本緩沖區(qū)用于sql語(yǔ)句,pl sql等的對(duì)象保存 Cursor_sharing{ExactSimilarforce} 游標(biāo)共享設(shè)定 Force方式適用OLTP數(shù)據(jù)庫(kù),Exact方式適合數(shù)據(jù)倉(cāng)庫(kù),similar為智能方式 hard parses 硬SQL語(yǔ)句分析,每秒要底于100次,小要加大shared_pool soft parse 軟SQL語(yǔ)句分析,OLTP要達(dá)90%以上,小要加大shared_pool 不建議用無(wú)命名PL SQL段 假如有大PL SQL(存儲(chǔ)過(guò)程)對(duì)象可強(qiáng)制保存于內(nèi)存,也可加大SHARED_POOL_RESERVED_SIZE,大小不可過(guò)SHARED_POOL_SIZE的50%,不然實(shí)例不能起動(dòng) 3.6.1.3.2 db_cache 本緩沖區(qū)用于數(shù)據(jù)庫(kù)數(shù)據(jù)對(duì)象保存 db_cache_advice 為on,可以提出通過(guò)企業(yè)治理器看到系統(tǒng)建議 通過(guò)select * from v$system_event 進(jìn)行系統(tǒng)查看。 發(fā)現(xiàn)存在free buffer waits,說(shuō)明不能將data buffer及時(shí)寫(xiě)入data file; 可通過(guò)增加加CPU后,加db_writer_processes=CPU數(shù)改善。 也可設(shè)disk_asynch_io為true,使用異步IO(前提同要操作系統(tǒng)支持)db_writer_processes=1時(shí)(只有一個(gè)CPU的情況下),也可通加大dbwr_io_slaves來(lái)改善。db_writer_processes>1,不可用本功能 調(diào)整效果排序:異步IO>CPU>dbwr_io_slaves Buffer Busy Waits大說(shuō)明出現(xiàn)IO沖突 Buffer Busy Waits 大 和 dbbock大說(shuō)明全表掃描多,說(shuō)明數(shù)據(jù)不能讀入,可加大 db_cache_size來(lái)改善. Undo block大要加大回滾段(手動(dòng)治理方式,9I默認(rèn)是自動(dòng)治理) undo header 大要加大回滾段(手動(dòng)治理方式,9I默認(rèn)是自動(dòng)治理) db_cache命中率99%,不是唯一因素,關(guān)系是不要出現(xiàn)等待。建議達(dá)90%以上。 內(nèi)存使用建議: 系統(tǒng)可以設(shè)三個(gè)緩沖區(qū),建表時(shí)可設(shè)定用那個(gè)緩沖區(qū)(默認(rèn)在db_cache_size) db_cache_size (默認(rèn)區(qū)) db_keep_cache_size (常訪問(wèn),小于db_keep_cache_size的10%的表可放于本區(qū)) db_recycle_cache_size (一個(gè)事物完成后常時(shí)間不再使用,或兩倍大小于緩沖區(qū)) 3.6.2 排序的優(yōu)化 9I為專(zhuān)用服務(wù)器時(shí)系統(tǒng)變量workarea_size_policy 設(shè)定為auto, statistics_level設(shè)定為 TYPICAL 可獲取v$pga_target_advice中的優(yōu)化建議。參數(shù)pga_aggregate_target值為所有連接用戶可用排序內(nèi)存。 9I為共享服務(wù)器時(shí)workarea_size_policy設(shè)定為menaul, sort_area_size值為每用戶排序內(nèi)存。 假如內(nèi)存不足將使用TEMP表空間進(jìn)行排序,排序使用比率disk/meme應(yīng)小于5% 盡量少用排序,假如使用排序功能,盡量在字段上加索引進(jìn)行優(yōu)化。 SQL分析模式:RBO(基于規(guī)則)方案小表(驅(qū)動(dòng)表)放在最后,優(yōu)先使用索引,對(duì)SQL語(yǔ)句要求嚴(yán)格(8I以前的模式);CBO (基于開(kāi)銷(xiāo))根據(jù)統(tǒng)計(jì)值進(jìn)行選擇開(kāi)銷(xiāo)最少,性能最優(yōu)的最佳方式進(jìn)行,但本方式DBA(使用analyze table語(yǔ)句)要定期進(jìn)行分析統(tǒng)計(jì).系統(tǒng)設(shè)定通過(guò)optimizer_mode 系統(tǒng)參數(shù) 說(shuō)明: 指定優(yōu)化程序的行為。假如設(shè)置為 RULE, 就會(huì)使用基于規(guī)則的優(yōu)化程序, 除非查詢含有提示。假如設(shè)置為 CHOOSE, 就會(huì)使用基于成本的優(yōu)化程序, 除非語(yǔ)句中的表不包含統(tǒng)計(jì)信息。ALL_ROWS 或 FIRST_ROWS 始終使用基于成本的優(yōu)化程序。 值范圍: RULE CHOOSE FIRST_ROWS ALL_ROWS 默認(rèn)值: CHOOSE {rule(RBO)choose(自動(dòng)選擇)fist_rows fist_rows_nall_row} 3.6.3 統(tǒng)計(jì)信息 進(jìn)行某表的統(tǒng)計(jì)分析 EXECUTE dbms_stats.gather_table_stats ('HR','EMPLOYEES'); 查看結(jié)果 SELECT num_rows, blocks, empty_blocks as empty,avg_space, chain_cnt, avg_row_lenFROM dba_tablesWHERE owner = 'HR'AND table_name = 'EMPLOYEES'; 4 設(shè)計(jì)工具 統(tǒng)一使用sybase power designer設(shè)計(jì)工具,在該工具上完成物理模型的設(shè)計(jì)。所有的數(shù)據(jù)庫(kù)對(duì)象盡可能在物理模型上進(jìn)行設(shè)計(jì),而且每個(gè)物理模型都要有相應(yīng)的文字描述。 所有的數(shù)據(jù)庫(kù)對(duì)象變更以數(shù)據(jù)庫(kù)物理模型為基準(zhǔn)。為了避免字符敏感問(wèn)題,產(chǎn)生的腳本以大寫(xiě)字母為標(biāo)準(zhǔn)。
主站蜘蛛池模板: 狠狠干影院| 国产乱码一区二区三区 | yy6080久久伦理一区二区 | 正在播放国产精品 | 特级毛片在线大全免费播放 | 成人在线观看免费视频 | 国产成人精品免高潮在线观看 | 一级毛片观看 | 亚州中文字幕 | 在线免费黄色小视频 | 亚洲精彩视频 | 一区二区不卡 | 成人久久18| 亚洲免费观看视频 | 成人精品国产一区二区4080 | 欧美精品v国产精品v日韩精品 | 亚洲午夜电影在线 | 欧美福利一区二区三区 | 开操网| 日韩免费一区 | 四虎成人永久 | 欧美精品一区在线发布 | 国产一级片 | 欧美日韩成人在线 | 看黄色.com | 伊人色综合久久久天天蜜桃 | 9999亚洲| 免费在线一区二区 | 日本涩涩网站 | 午夜私人影院 | 欧洲精品| av在线一区二区 | 久久亚洲一区 | 欧美成人黄色小说 | 久久久久国产一区二区三区四区 | 色婷婷av久久久久久久 | 欧美日韩欧美日韩 | 亚洲一区二区三区四区在线观看 | 精品欧美一区二区精品久久久 | 美女久久久 | 69黄在线看片免费视频 | 91久久| v片网站 | 久久国产精品影视 | 欧美精品网站 | 中文字幕天堂在线 | 中文字幕精品一区 | 成人在线免费网站 | 精品久久影院 | 国产高清精品一区二区三区 | 国产农村妇女精品久久 | 精品国产色 | 黄视频在线播放 | 成人免费视频一区二区 | 国产成人在线一区 | 免费一区二区 | 国产美女网站视频 | 久久精品国产99国产 | 欧美日韩精品一区二区在线播放 | 四虎永久免费影院 | www.99re | 在线日韩视频 | 欧美 日韩 亚洲 一区 | 午夜男人视频 | 精品久久久久久久久久久久久久 | 欧美激情精品久久久久久变态 | 91久久久精品视频 | 国产高清在线精品一区二区三区 | 国产精品一区二区三区在线播放 | 国产精品一区二区无线 | 999久久久国产999久久久 | 草久久av | 狠狠骚| 99在线看 | 不卡一区 | 日韩中文字幕电影 | 日韩一区二区三区av | 国产在线视频网站 | 欧美日韩一区二区三区在线观看 | 国产精品一区二区三区av | 久久精品无码一区二区日韩av | 日韩精品在线观看视频 | 国产精品久久国产精品 | 婷婷久久综合 | 久草日韩 | 亚洲电影一区二区 | www.色.com| 中文字幕亚洲欧美日韩在线不卡 | 美女精品视频在线 | 久久91 | 一区二区三区在线 | 亚洲精品一区久久久久久 | 日韩在线观看一区 | 国产精品入口麻豆www | 成人精品一区二区三区电影黑人 | 91久久久久久久久 | 九九免费视频 | 91精品国产91久久久久游泳池 | www.xxx在线观看 | 亚洲在线视频 | 国产不卡免费视频 | 亚洲免费在线观看 | 三级视频在线 | 亚洲在线播放 | 色综合天天综合网国产成人网 | 日韩精品一区二区三区免费观看视频 | 亚洲精品在线免费播放 | 久久精品免费电影 | av网战| 色婷婷久久一区二区三区麻豆 | 爱啪导航一精品导航站 | 精品久久久久久国产 | 人人干人人干 | 中文字幕在线观看www | 黄视频入口| 日韩中文字幕av在线 | 青娱乐一区 | 成人免费视频 | 国产精品成人在线观看 | 香蕉av777xxx色综合一区 | 日韩99 | 欧美理论视频 | 久久这| 91久久夜色精品国产网站 | 亚洲国产精品一区二区第一页 | 一区日韩| 日本二区在线观看 | 欧美日韩一区二区三区免费视频 | 欧美日韩亚洲国产综合 | a黄视频| 精品av| 免费特级黄毛片 | 91精品国产乱码久久久久久久久 | 亚洲一区二区三区免费 | 国产超碰人人模人人爽人人添 | 在线观看毛片网站 | 欧美久久久久 | 在线一级视频 | 久久久久久久久久久成人 | 国产精品久久久久久亚洲调教 | 中文字幕乱码亚洲精品一区 | 国产一区二区欧美 | 精品美女久久久 | 四虎影院观看 | 欧美一区二区视频 | 国产精品久久久久国产a级 99精品欧美一区二区三区综合在线 | 亚洲成人日本 | 91九色视频 | 日韩精品小视频 | 欧美黑人做爰xxxⅹ 国产精品一区二区视频 | 免费观看在线午夜影视 | 99精品国产一区二区三区 | 欧美日韩一区二区视频在线观看 | 国产精品久久综合 | 国产成人精品电影 | 欧美日韩一区二区三区在线观看 | 日本精品免费 | 成人久久久精品国产乱码一区二区 | 亚洲免费观看视频 | av女人的天堂 | 一区二区三区不卡视频 | 日韩欧美一区二区三区 | 免费在线看a | 奇米av在线 | av下一页 | 91一区二区在线 | 九九热re| 国产aⅴ一区二区 | 国户精品久久久久久久久久久不卡 | 一区二区在线 | 亚洲美女在线视频 | 国产精品久久久久久久久久妇女 | 久久亚洲欧美日韩精品专区 | 久久精美视频 | 免费观看一级视频 | 欧美一级黄色大片 | 日本不卡一区二区三区在线观看 | 国产视频久久久久久久 | 亚洲精品久久久久久久久久久久久 | 可以在线观看的av网站 | 日韩精品中文字幕一区二区三区 | 国产精品日日夜夜 | 久草国产视频 | 日韩中文字幕 | 日本在线观看视频一区 | 五月婷婷综合激情 | 中文字幕_第2页_高清免费在线 | 国产精品视频久久久 | 99爱在线观看 | 欧洲精品一区二区 | 国产精品97在线 | 欧美在线综合 | 91精品国产乱码久久久久久久久 | 成人在线高清视频 | 亚洲日韩欧美一区二区在线 | 91看片官网 | 91精品国产综合久久精品 | 九九精品视频在线 | 久久人人爽人人爽 | 中文字幕在线播放不卡 | 99精品欧美一区二区三区综合在线 | 日韩精品免费在线观看 | 色999视频 | 午夜免费av | 日韩久久一区二区 | av免费网站在线观看 | 午夜私人视频 | 亚洲xx视频 | 国产精品成人在线观看 | 久久久久久国产精品 | 日产精品久久久一区二区 | 中文字幕免费视频观看 | 成人小视频在线观看 | 国产乱码精品一区二区三区av | 亚洲精品久久久 | 久久密 | 精品视频一区二区三区在线观看 | 日韩欧美在线观看一区 | 日韩一区二区黄色片 | 在线视频一区二区 | 91在线视频福利 | 国产高清在线精品 | www九九热| 国产精品99久久免费观看 | 黄色毛片免费看 | 一区二区三区在线视频播放 | 久久精品国产视频 | www天天干| 国产在线不卡一区 | 国产精品久久久久久久久免费 | 国产精品二区一区二区aⅴ污介绍 | 国内精品久久久久国产 | 国产精品国产精品国产 | 经典法国性xxxx精品 | 亚洲成人免费在线观看 | 日韩国产欧美亚洲 | 免费观看国产视频在线 | 亚洲欧美aa | 日日日日日 | 一级黄色片网站 | 国产精品久久久久久久久久久久久久久久 | 一区二区三区小视频 | 一区二区精品视频 | 久久久久久久国产精品 | 黄色片在线 | 九九在线视频 | 国产精品一任线免费观看 | 欧美日韩一区二区三区视频 | 亚洲欧美日韩国产综合精品二区 | 国产欧美日韩综合精品一区二区 | 国产成人99久久亚洲综合精品 | 国产精品一区久久久久 | 国产精品无码永久免费888 | 国产在线视频网站 | 欧美最猛性xxxxx亚洲精品 | 成人二区| 天天插天天射天天干 | 国产一区二区精品 | 操操操av| 日韩一区在线视频 | 9久久精品 | 久久久久久国产精品mv | 中文字幕亚洲在线 | 亚洲午夜精品片久久www慈禧 | 成人综合网站 | www.蜜桃av | 91一区 | 夜夜操天天干 | 黄色小视频网 | 视频在线一区二区三区 | 男女国产网站 | 黄色av网站免费看 | 成人h视频 | 伊人影视 | 亚洲成人高清在线 | 久久精品网 | 国产精品自产av一区二区三区 | 精品久久久久久久 | 亚洲精品乱码久久久久久蜜桃91 | 亚洲视频中文字幕 | 午夜婷婷丁香 | 国产区第一页 | 免费一二区 | 99精品视频在线 | 国产成人免费 | 中文字幕一区在线观看视频 | 欧美电影一区 | 久久亚洲国产视频 | 国产精品久久国产精麻豆99网站 | 亚洲国产一区二区三区四区 | 国产精品久久久久无码av | 午夜午夜精品一区二区三区文 | 欧美黄色一级 | 国产精品久久久久久久久久久小说 | 一区二区在线 | 日韩中文字幕免费在线播放 | 久久亚洲综合 | 九九爱爱视频 | 亚洲精品久久久久久久久 | 国产精品99久久久久久动医院 | 国产精品影视 | www.91在线 | 日韩免费在线观看视频 | 成人欧美一区二区三区在线播放 | 国产精品一区二区三区久久 | 日韩欧美国产一区二区 | 四虎小视频 | 国产综合视频 | 久久精品亚洲精品国产欧美 | 一二三四在线视频观看社区 | 一区二区三区在线免费看 | 日本免费一区二区三区 | 精品亚洲成a人片在线观看 国产高清在线 | 91精品久久久久久久 | 久久精品一区二区三区四区 | 一本大道久久a久久精二百 国产精品片aa在线观看 | 狠狠搞狠狠干 | 成人超碰在线 | 天堂网色| 国产99久久久久久免费看农村 | 久久九| 亚洲美女视频在线观看 | 国产亚洲欧美在线 | 欧美一区二区三区精品免费 | 精品国产一区二区三区四 | 欧美精品区 | 中文字幕大全 | 久久人妖 | 中字一区 | 国产精品美女久久久久aⅴ国产馆 | 91佛爷在线观看 | 国产成人精品一区二区三区视频 | 国产富婆一级全黄大片 | 国产传媒毛片精品视频第一次 | 日韩av网页| 做a视频在线观看 | 久久久久久久久99精品 | 欧美日韩精品一区二区在线播放 | 一区二区三区日韩在线 | 中文字幕在线观 | 久久久久国产精品免费免费搜索 | 亚洲激情一区 | 国产性色| 97精品超碰一区二区三区 | 国产亚洲精品久久久久动 | 亚洲经典视频在线观看 | 久久久91 | 国产精品美女久久久久久久久久久 | 成人免费在线观看视频 | 亚洲一区中文字幕在线观看 | 中文字幕成人 | 国产区免费观看 | 黄色欧美一级片 | 91久久国产精品 | 亚洲精品福利在线观看 | 精品99在线| 青青久久久 | 欧美国产视频一区 | 91综合视频在线观看 | 欧美一区二区精品 | 日韩视频网 | 国产日本欧美在线 | 亚洲第一区在线 | 日韩在线免费观看视频 | 亚洲成av人片在线观看无码 | 激情.com| 亚洲成av人片在线观看无码 | 91精品久久久久久久99 | 久久爱成人| 亚洲色图综合 | 亚洲中午字幕在线观看 | 国产特级毛片aaaaaa毛片 | 亚洲人成人一区二区在线观看 | 久久精品 | 91久久夜色精品国产网站 | 久久影院一区 | 人人插人 | 欧美日韩免费看 | 91精品国产综合久久婷婷香蕉 | 在线视频 亚洲 | av毛片| 国产精品久久久久久久一区探花 | 中文字幕亚洲欧美日韩在线不卡 | 天堂在线中文 | 国产精品毛片无码 | 国产精品美女久久久久久久久久久 | 亚洲毛片网站 | 成人免费视频网站在线观看 | 国产女人和拘做受在线视频 | 一区二区三区免费在线观看 | 在线视频国产一区 | 一区二区免费视频 | 人人做人人爽 | 樱桃小丸子在线观看 | 69免费视频| 日韩不卡一区二区三区 | 亚洲国产天堂久久综合 | 亚洲精品视频在线观看免费视频 | 精品久久久久久国产 | 欧美一级网站 | 日韩在线中文字幕 | 亚洲第一福利视频 | 欧美一区二区三 | 国产精品一区av | 在线视频一区二区三区 | 伊人网站在线 | 羞羞视频网站在线看 | 色免费在线观看 | 日本涩涩网站 | 中文字幕日韩一区二区三区 | 国产精品综合 | 久久狠狠 | 午夜精品久久久久久99热软件 | 亚洲一区二区在线视频 | 亚洲区在线 | 久久亚洲一区二区 | 国内自拍偷拍视频 | 午夜精品久久久久久久久久久久 | 国产亚洲视频在线观看 | 国产成人久久 | wwwsihu| 日韩精品www | 国产一区a| 欧美性猛交一区二区三区精品 | 剑来高清在线观看 | 国产成人精品综合 | 日韩在线视频第一页 | 91麻豆精品国产91久久久更新时间 | 国产v日产∨综合v精品视频 | 亚洲国产二区 | 久久男人 | 91精品国产一区二区三区四区在线 | 精品视频久久 | 三级黄色片在线 | 亚洲三级网站 | av黄色在线 | 欧美全黄 | 成人在线| 日韩欧美在线视频播放 | 精品福利av导航 | 国产欧美日韩精品一区 | 在线观看中文字幕亚洲 | 国产日韩欧美91 | 欧美成人久久 | 亚洲欧美日韩在线一区二区三区 | 91一区二区在线观看 | 国产精品毛片无码 | 欧美 日本 国产 | 久热免费在线 | 国产日产精品一区二区三区四区 | 久久久91 | 三级成人在线 | 亚洲视频在线免费观看 | 成人免费一区二区三区视频网站 | 久久国产精品久久久久久 | 综合久久久久久久 | 国产精品成人久久久久 | 精品成人佐山爱一区二区 | 成人激情视频在线观看 | 欧美不卡视频一区发布 | 国产老女人精品毛片久久 | 一级毛片观看 | 欧美性一区二区三区 | 91麻豆精品久久久久蜜臀 | 99动漫| 少妇av片| 97国产在线| 国产中文字幕在线 | 久久成人国产精品 | 91极品国产 | 日韩成人影院 | 精品久久一级片 | 亚洲精品乱码久久久久久蜜桃不卡 | 久久久日本 | 欧美二三区 | 亚洲久久在线 | 成人在线网址 | 波多野结衣一二三四区 | 综合久久综合久久 | 国产精品一区二区三区四区 | 精品久久国产 | 91性高湖久久久久久久久_久久99 | 久久精品视频网站 | 黄色片网站在线免费观看 | 久久六月 | 亚洲一区中文字幕在线观看 | 欧美日韩亚洲国产综合 | 欧美淫视频| 欧美日韩国产一区二区三区不卡 | 成人免费一区二区三区 | 国产精品久久久久久久久久久不卡 | 国产a免费 | 自拍偷拍第一页 | 亚洲91| 欧美在线观看免费观看视频 | 国产在线精品一区二区三区 | 超碰c| 伊人伊人 | 日韩一区二| 狠狠操操操 | 日韩精品99久久久久中文字幕 | 91av视频在线 | 在线免费视频一区 | 国产精品久久久久久久久久 | 国产日韩欧美精品一区二区三区 | 最新日韩一区 | 综合中文字幕 | 亚洲第一福利视频 | 91中文字幕在线 | 伊人在线| 青草精品 | 国产欧美精品一区二区三区 | 久久久成 | 日韩午夜| 在线国产一区二区 | 交视频在线观看国产 | 久久亚洲欧美日韩精品专区 | 成人h在线 | 蜜桃视频麻豆女神沈芯语免费观看 | 国产视频久久久久 | 91免费版在线观看 | 播放一区 | 精品国产乱码久久久久久闺蜜 | 在线播放亚洲 | 亚洲一区二区三区视频 | 日本欧美国产 | 日本不卡高字幕在线2019 | 精品香蕉一区二区三区 | 国产欧美日韩一区二区三区 | 欧美精品成人一区二区在线 | 亚洲欧美一区二区三区在线 | 欧美一区二区三区黄色 | 日韩素人在线 | 欧美a级成人淫片免费看 | 九九爱爱视频 | 青青草在线免费视频 | 伊人网在线 | 国产污视频在线 | 国产一区国产二区在线观看 | 久久精品网 | 91亚洲狠狠婷婷综合久久久 | 影音先锋亚洲资源 | 日韩欧美国产一区二区 | 中文字幕在线免费 | 亚洲国产免费 | 一区二区免费看 | 精品国产精品国产偷麻豆 | 亚洲久久久久久 | 久久久久久久av | 国产一区在线观看视频 | 日韩一区精品视频 | 亚洲三区视频 | 国产九九九 | 99视频| 可以在线观看的av网站 | 久久国产久 | 日本久久精品视频 | 超碰激情 | 日韩精品第一页 | 中文久久| 日韩成人一区二区 | 一区二区亚洲 | 亚洲午夜精品a | 国产免费自拍av | 亚洲自拍在线观看 | 国产综合精品一区二区三区 | 亚洲欧美另类久久久精品2019 | 亚洲天堂一区 | 国产精品美女久久久 | 国产精品第一国产精品 | 99精品视频在线免费观看 | 国产一区www| 欧美日韩精品免费观看视频 | 国产在线观看91一区二区三区 | 国产在线91 | 国产成人精品高清久久 | 国产999免费视频 | 日韩欧美在线看 | 一级a性色生活片久久毛片 夜夜视频 | 久久精品欧美一区二区三区不卡 | 亚洲香蕉精品 | 国产成人亚洲综合 | 天天夜夜操| 国产综合久久久久久鬼色 | 久久久久久国产精品 | 成人深夜免费视频 | 最新国产在线视频 | 在线成人免费 | 欧美激情一区二区三区四区 | 精品亚洲一区二区三区四区五区 | 成人久久久久 | 91中文字幕一区 | 91国内视频在线观看 | 久久精品性 | 日本黄色的视频 | 亚洲第一av| 中文字幕综合在线 | 国产欧美综合一区二区三区 | 亚洲三级在线观看 | 亚洲啊v在线 | 草草网站 | 国产在线观看一区二区三区 | 日本一级在线观看 | 成人免费一区二区三区视频网站 | 亚洲精品一区在线观看 | 国产精品美女久久久久久久久久久 | 男女羞羞羞视频午夜视频 | 在线观看欧美日韩 | 亚洲一区二区高清视频 | 91高清在线| 精品成人佐山爱一区二区 | 久久国产久 | 一级黄色片看看 | 91一区| 二区三区在线观看 |