亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

annuaire recherche
oracle知識(shí) ORACLE的數(shù)據(jù)類型 Oracle技術(shù)網(wǎng)—DBMS_Job包的用法 Oracle技術(shù)網(wǎng)—Oracle for NT系統(tǒng)實(shí)用工具介紹 Oracle技術(shù)網(wǎng)—Oracle常見錯(cuò)誤代碼 Oracle技術(shù)網(wǎng)—Oracle常用Script Oracle技術(shù)網(wǎng)—Oracle常用數(shù)據(jù)字典 Oracle技術(shù)網(wǎng)—ORACLE數(shù)據(jù)庫簡(jiǎn)介 Oracle技術(shù)網(wǎng)—Oracle特殊包 Oracle技術(shù)網(wǎng)—Oracle相關(guān)站點(diǎn) Oracle技術(shù)網(wǎng)—哪些初始化參數(shù)最影響Oracle系統(tǒng)性能 PL/SQL DBA Oracle7 7.3.2.2 Oracle技術(shù)網(wǎng)—listener.log的內(nèi)容增長很快,是否可以刪除重建 Oracle技術(shù)網(wǎng)—ORACLE表空間恢復(fù)方案 Oracle技術(shù)網(wǎng)—Oracle常用系統(tǒng)文件有哪些 Oracle技術(shù)網(wǎng)—ORACLE回滾段管理(上) Oracle技術(shù)網(wǎng)—ORACLE回滾段管理(下) Oracle技術(shù)網(wǎng)—Oracle如何決定使用哪個(gè)回退段 Oracle技術(shù)網(wǎng)—Oracle數(shù)據(jù)庫的空間管理技巧 Oracle技術(shù)網(wǎng)—Oracle數(shù)據(jù)庫碎片整理 Oracle技術(shù)網(wǎng)—Oracle數(shù)據(jù)庫有哪幾種關(guān)閉方式 Oracle技術(shù)網(wǎng)—Oracle數(shù)據(jù)庫有哪幾種啟動(dòng)方式 Oracle技術(shù)網(wǎng)—Oracle預(yù)定義角色有哪些 Oracle技術(shù)網(wǎng)—ROLLBACK不能回滾的命令 Oracle技術(shù)網(wǎng)—查看哪些session正在使用哪些回滾段 Oracle技術(shù)網(wǎng)—存儲(chǔ)參數(shù)(storage子句)含義及設(shè)置技巧 Oracle技術(shù)網(wǎng)—和權(quán)限有關(guān)的表有哪些 Oracle技術(shù)網(wǎng)—漫談數(shù)據(jù)庫的啟動(dòng)和關(guān)閉 Oracle技術(shù)網(wǎng)—哪些初始化參數(shù)最影響Oracle系統(tǒng)性能 Oracle技術(shù)網(wǎng)—如何備份控制文件 Oracle技術(shù)網(wǎng)—如何查出前臺(tái)正在發(fā)出的sql語句 Oracle技術(shù)網(wǎng)—如何查看Oracle版本及安裝了哪些選項(xiàng) Oracle技術(shù)網(wǎng)—如何查看Oracle數(shù)據(jù)表的建表語句 Oracle技術(shù)網(wǎng)—如何查看SGA區(qū)剩余可用內(nèi)存 Oracle技術(shù)網(wǎng)—如何查看各個(gè)表空間占用磁盤情況 Oracle技術(shù)網(wǎng)—如何查看后臺(tái)進(jìn)程 Oracle技術(shù)網(wǎng)—如何查看什么時(shí)間有哪些數(shù)據(jù)庫對(duì)象結(jié)構(gòu)被修改過 Oracle技術(shù)網(wǎng)—如何查看數(shù)據(jù)庫的各種數(shù)據(jù)文件 Oracle技術(shù)網(wǎng)—如何查看數(shù)據(jù)庫的字符集 Oracle技術(shù)網(wǎng)—如何查看數(shù)據(jù)文件是否自動(dòng)擴(kuò)展 Oracle技術(shù)網(wǎng)—如何查看數(shù)據(jù)文件所在的路徑 Oracle技術(shù)網(wǎng)—如何查看用戶表上的約束內(nèi)容 Oracle技術(shù)網(wǎng)—如何查看用戶表所占空間的大小 Oracle技術(shù)網(wǎng)—如何查詢出primary key和forgen key的關(guān)系表 Oracle技術(shù)網(wǎng)—如何改變當(dāng)前聯(lián)機(jī)日志文件的大小 Oracle技術(shù)網(wǎng)—如何利用DBMS_SQL包和游標(biāo)計(jì)算當(dāng)前用戶下所有表的行數(shù) Oracle技術(shù)網(wǎng)—如何啟動(dòng)ARCHIVELOG模式 Oracle技術(shù)網(wǎng)—如何取出某一用戶的密碼,再原封不動(dòng)的改回去 Oracle技術(shù)網(wǎng)—如何設(shè)置BLOCK_SIZE大于2K,如:4K、16K Oracle技術(shù)網(wǎng)—如何手工指定使用哪個(gè)回退段 Oracle技術(shù)網(wǎng)—如何修改internal的口令 Oracle技術(shù)網(wǎng)—如何移動(dòng)控制文件到新的目錄中 Oracle技術(shù)網(wǎng)—如何移數(shù)據(jù)庫文件 Oracle技術(shù)網(wǎng)—如何增加表空間的大小 Oracle技術(shù)網(wǎng)—怎樣查看init.ora文件 Oracle技術(shù)網(wǎng)—怎樣查看SGA值 Oracle技術(shù)網(wǎng)—怎樣查看哪些用戶擁有SYSDBA、SYSOPER權(quán)限? Oracle技術(shù)網(wǎng)—怎樣快速查出Oracle 數(shù)據(jù)庫中的鎖等待 Oracle技術(shù)網(wǎng)—怎樣識(shí)別IO競(jìng)爭(zhēng)和負(fù)載平衡 Exp vs Imp Oracle技術(shù)網(wǎng)—EXP、IMP 命令詳解 Oracle技術(shù)網(wǎng)—Exp/Imp大量數(shù)據(jù) Oracle技術(shù)網(wǎng)—Export/Import 使用技巧與常見錯(cuò)誤 Oracle技術(shù)網(wǎng)—Oracle數(shù)據(jù)庫的備份與恢復(fù) Oracle技術(shù)網(wǎng)—如何把數(shù)據(jù)exp到Sql loader里 Oracle技術(shù)網(wǎng)—如何單獨(dú)備份一個(gè)或多個(gè)表 Oracle技術(shù)網(wǎng)—如何單獨(dú)備份一個(gè)或多個(gè)用戶 Oracle技術(shù)網(wǎng)—如何導(dǎo)入指定表 Oracle技術(shù)網(wǎng)—如何建立一個(gè)與現(xiàn)存數(shù)據(jù)庫相同,但不包含數(shù)據(jù)的空庫 Oracle技術(shù)網(wǎng)—如何在oracle7和oracle8之間exp/imp數(shù)據(jù) Oracle技術(shù)網(wǎng)—提高ORACLE數(shù)據(jù)庫系統(tǒng)import性能 Oracle技術(shù)網(wǎng)—為何我的導(dǎo)出文件只有500K Oracle技術(shù)網(wǎng)—自動(dòng)備份Oracle數(shù)據(jù)庫 Oracle技術(shù)網(wǎng)—作Export或Import時(shí),如何記錄LOG信息? SQL技巧 Oracle技術(shù)網(wǎng)—LONG數(shù)據(jù)類型使用上的一些說明 Oracle技術(shù)網(wǎng)—Oracle8 PL/SQL編程風(fēng)格與系統(tǒng)性能的提高 Oracle技術(shù)網(wǎng)—Oracle8中用戶名、表名、列名、索引名...可以用中文命名嗎 Oracle技術(shù)網(wǎng)—Oracle中如何實(shí)現(xiàn)某一字段自動(dòng)增加1 Oracle技術(shù)網(wǎng)—SQL(Structured Query Language)語句分哪幾類 Oracle技術(shù)網(wǎng)—SQL*PLUS常用命令列表 Oracle技術(shù)網(wǎng)—SQL*Plus系統(tǒng)環(huán)境變量有哪些?如何修改? Oracle技術(shù)網(wǎng)—SQL*Plus中緩沖區(qū)命令列表 Oracle技術(shù)網(wǎng)—SQL*Plus中能運(yùn)行哪幾種命令 Oracle技術(shù)網(wǎng)—SQLPlus中的復(fù)制和粘貼技巧 Oracle技術(shù)網(wǎng)—查看本用戶下的各種對(duì)象的SQL腳本 Oracle技術(shù)網(wǎng)—查找a表中有,而在b表中沒有的記錄 Oracle技術(shù)網(wǎng)—利用PL/SQL打印ASCII表 Oracle技術(shù)網(wǎng)—如何查找、刪除表中重復(fù)的記錄 Oracle技術(shù)網(wǎng)—如何對(duì)CLOB行字段執(zhí)行全文檢索 Oracle技術(shù)網(wǎng)—如何對(duì)CLOB字段進(jìn)行全文檢索? Oracle技術(shù)網(wǎng)—如何改變表中列的名字 Oracle技術(shù)網(wǎng)—如何改變一個(gè)字段初始定義的Check范圍 Oracle技術(shù)網(wǎng)—如何給表、列加注釋 Oracle技術(shù)網(wǎng)—如何將 primary key 建在其它的表空間上 Oracle技術(shù)網(wǎng)—如何刪除表中的列 Oracle技術(shù)網(wǎng)—如何使‘CREATE TABLE AS SELECT’能支持ORDER BY ? Oracle技術(shù)網(wǎng)—如何通過 SQL*PLUS 將符號(hào) & 、'號(hào)(單引號(hào)) 插入Oracle數(shù)據(jù)庫的表中 Oracle技術(shù)網(wǎng)—如何用SQL生成SQL批處理文件 Oracle技術(shù)網(wǎng)—如何在PL_SQL中讀寫文件 Oracle技術(shù)網(wǎng)—如何自動(dòng)生成一個(gè)含有20000101至20500101共50年日期的表 Oracle技術(shù)網(wǎng)—如何自動(dòng)生成一個(gè)含有2000年01月至2050年01月共50年月份的表 Oracle技術(shù)網(wǎng)—?jiǎng)h除a表中和b表相同的數(shù)據(jù) Oracle技術(shù)網(wǎng)—在Oracle快速進(jìn)行數(shù)據(jù)行存在性檢查 Oracle技術(shù)網(wǎng)—怎樣查看表的結(jié)構(gòu) Oracle技術(shù)網(wǎng)—怎樣改變SQL*Plus啟動(dòng)時(shí)默認(rèn)路徑 Oracle技術(shù)網(wǎng)—怎樣計(jì)算表中的記錄數(shù) Oracle技術(shù)網(wǎng)—怎樣在SQL*Plus中使用 '&' 來實(shí)現(xiàn)自定義參數(shù)變量? Oracle技術(shù)網(wǎng)—怎樣在查詢記錄時(shí)給記錄加鎖 Oracle錯(cuò)誤 Oracle7 7.3.2.2 Oracle技術(shù)網(wǎng)—Oracle 816中如何啟動(dòng)Enterprise Manager Oracle技術(shù)網(wǎng)—Oracle Enterprise Manager(OEM)工具中如何以SYSOPER、SYSDBA方式登錄 Oracle技術(shù)網(wǎng)—ORACLE數(shù)據(jù)庫應(yīng)用開發(fā)常見問題及排除 Oracle技術(shù)網(wǎng)—監(jiān)聽器錯(cuò)誤 Oracle技術(shù)網(wǎng)—聯(lián)機(jī)熱備份失敗后,如何打開數(shù)據(jù)庫 Oracle技術(shù)網(wǎng)—沒有備份、只有歸檔日志,如何恢復(fù)數(shù)據(jù)文件 Oracle技術(shù)網(wǎng)—某個(gè)數(shù)據(jù)文件損壞,如何打開數(shù)據(jù)庫 Oracle技術(shù)網(wǎng)—如何使用歸檔日志進(jìn)行完全恢復(fù) Oracle技術(shù)網(wǎng)—如何正確建立TYPE、partition(分區(qū)) Oracle技術(shù)網(wǎng)—一個(gè)控制文件被損壞,如何啟動(dòng) Oracle技術(shù)網(wǎng)—在SQL*Plus中insert進(jìn)的都是中文的,為什么一存入服務(wù)器后,再select出的就是???了 Oracle技術(shù)網(wǎng)—重裝Oracle服務(wù)器后,以前的數(shù)據(jù)可以恢復(fù)嗎 Oracle初學(xué)者入門 Oracle技術(shù)網(wǎng)—Oracle 8.1.6 for Win2000 系統(tǒng)文件解釋 Oracle技術(shù)網(wǎng)—Oracle 基本知識(shí) Oracle技術(shù)網(wǎng)—Oracle8 數(shù)據(jù)類型 Oracle技術(shù)網(wǎng)—what is sql? Oracle技術(shù)網(wǎng)—安裝、配置后,SQL*Plus操作初步 Oracle技術(shù)網(wǎng)—安裝Oracle后,經(jīng)常使用的修改表空間的SQL代碼 Oracle安裝、刪除 Oracle技術(shù)網(wǎng)—Oradim工具的用法 Oracle技術(shù)網(wǎng)—WINDOWS NT上,如何刪除ORACLE SERVICE Oracle技術(shù)網(wǎng)—如何連接兩臺(tái)Oracle服務(wù)器 Oracle技術(shù)網(wǎng)—如何在Windows 2000下將Oracle完全卸載 Oracle技術(shù)網(wǎng)—如何在WINDOWS NT上刪除所有的Oracle安裝? Oracle技術(shù)網(wǎng)—手工安裝數(shù)據(jù)庫時(shí)需要安裝那些系統(tǒng)包 Oracle技術(shù)網(wǎng)—手工創(chuàng)建數(shù)據(jù)庫的全部腳本及說明 Oracle安全性問題 Oracle技術(shù)網(wǎng)—Linux ORACLE 8.1.5漏洞 Oracle技術(shù)網(wǎng)—Oracle 8.1.6的oidldapd中的漏洞 Oracle技術(shù)網(wǎng)—Oracle8的不安全因素及幾點(diǎn)說明 Oracle技術(shù)網(wǎng)—Oracle數(shù)據(jù)庫的安全策略 Oracle技術(shù)網(wǎng)—Oracle數(shù)據(jù)庫密碼文件的使用和維護(hù) Oracle技術(shù)網(wǎng)—提高Oracle數(shù)據(jù)庫應(yīng)用系統(tǒng)安全的舉例與分析 數(shù)據(jù)庫安全性策略 Oracle系統(tǒng)設(shè)置、優(yōu)化、連接 《Oracle8 優(yōu)化技術(shù)》摘錄 (第一章 安裝) 《Oracle8 優(yōu)化技術(shù)》摘錄 (第二章 內(nèi)存/CPU) 《Oracle8 優(yōu)化技術(shù)》摘錄 (第三章 輸入/輸出) Oracle技術(shù)網(wǎng)—ASP 中通過OLEDB訪問 Oracle 的代碼 Oracle技術(shù)網(wǎng)—Delphi5 企業(yè)版使用BDE訪問 Oracle方法 Oracle技術(shù)網(wǎng)—oracle database access object Oracle技術(shù)網(wǎng)—Oracle基于Client/Server的性能調(diào)整 Oracle技術(shù)網(wǎng)—PB7 連接 Oracle 的配置方法 Oracle技術(shù)網(wǎng)—PB內(nèi)置Oracle數(shù)據(jù)庫接口的使用方法 Oracle技術(shù)網(wǎng)—PHP+Oracle(OCI) 初步 Oracle技術(shù)網(wǎng)—PHP4連接Oracle 8i的方法(轉(zhuǎn)譯) Oracle技術(shù)網(wǎng)—多個(gè)數(shù)據(jù)庫時(shí),如何設(shè)置默認(rèn)數(shù)據(jù)庫 Oracle技術(shù)網(wǎng)—如何備份Oracle設(shè)置 Oracle技術(shù)網(wǎng)—如何讓你的SQL運(yùn)行得更快 Oracle技術(shù)網(wǎng)—如何修改 SQL*Plus 的啟動(dòng)參數(shù) Oracle技術(shù)網(wǎng)—如何在Windosws 2000中安裝JSP并訪問Oracle Oracle技術(shù)網(wǎng)—如何在Windosws 2000中安裝perl并訪問Oracle Oracle技術(shù)網(wǎng)—如何在Windosws 2000中安裝PHP4并訪問Oracle Oracle技術(shù)網(wǎng)—如何在Windosws NT中使用批處理命令自動(dòng)啟動(dòng)或關(guān)閉Oracle Services Oracle技術(shù)網(wǎng)—如何在客戶端省略輸入數(shù)據(jù)庫串,而只輸入用戶名、密碼即可 Oracle技術(shù)網(wǎng)—使用Database Configuration Assistant安裝第二個(gè)數(shù)據(jù)庫 Oracle技術(shù)網(wǎng)—修改Oracle7數(shù)據(jù)庫maxdatafiles參數(shù)的方法 索引、序列、快照、數(shù)據(jù)庫鏈路、觸發(fā)器 Oracle技術(shù)網(wǎng)—觸發(fā)器的幾種應(yīng)用 Oracle技術(shù)網(wǎng)—建立觸發(fā)器時(shí)最容易忽略的兩個(gè)地方 Oracle技術(shù)網(wǎng)—快照和觸發(fā)子結(jié)合使用的例子 Oracle技術(shù)網(wǎng)—能否通過視圖更新表中的數(shù)據(jù) Oracle技術(shù)網(wǎng)—如何創(chuàng)建一個(gè)簡(jiǎn)單的JAVA存儲(chǔ)過程? Oracle技術(shù)網(wǎng)—如何創(chuàng)建隱藏IP地址的最后一項(xiàng)的函數(shù)? Oracle技術(shù)網(wǎng)—如何加密Oracle中的存儲(chǔ)過程 Oracle技術(shù)網(wǎng)—為什么有時(shí)ORACLE數(shù)據(jù)庫不用索引來查找數(shù)據(jù) Oracle技術(shù)網(wǎng)—我的數(shù)據(jù)庫鏈路為什么不工作 Oracle技術(shù)網(wǎng)—一個(gè)建立快照的簡(jiǎn)單例子 Oracle技術(shù)網(wǎng)—怎樣創(chuàng)建一個(gè)簡(jiǎn)單的自定義過程并引用 Oracle技術(shù)網(wǎng)—怎樣手工刷新快照 oracle與其他數(shù)據(jù)庫的比較 MySQL 測(cè)試 Oracle技術(shù)網(wǎng)—Oracle 和 mysql 的一些簡(jiǎn)單命令對(duì)比參照 Oracle技術(shù)網(wǎng)—Oracle8i和Microsoft SQL Server7.0比較 Oracle技術(shù)網(wǎng)—比較SQL Server與Oracle、DB2 Oracle技術(shù)網(wǎng)—各種數(shù)據(jù)類型的比較 Oracle技術(shù)網(wǎng)—戲說SQL—幾種SQL 服務(wù)器的比較 關(guān)鍵任務(wù)      在Internet上運(yùn)作公司是一項(xiàng)艱苦的任務(wù) 其它知識(shí) OEM常見問題及其解決辦法 Oracle 8 資料庫函式庫 Oracle 資料庫函式庫 Oracle技術(shù)網(wǎng)—Decode()函數(shù)使用技巧(NT+IIS+ASP+ORACLE) Oracle技術(shù)網(wǎng)—Dual偽列 Oracle技術(shù)網(wǎng)—NULL 使用詳解 Oracle技術(shù)網(wǎng)—OLAP及其多維數(shù)據(jù)分析 Oracle技術(shù)網(wǎng)—Oracle for NT系統(tǒng)實(shí)用工具介紹 Oracle技術(shù)網(wǎng)—ORACLE 用戶的規(guī)范化管理 Oracle技術(shù)網(wǎng)—user、uid偽列 Oracle技術(shù)網(wǎng)—大型數(shù)據(jù)庫設(shè)計(jì)原則 Oracle技術(shù)網(wǎng)—留言簿(帶Oracle數(shù)據(jù)庫分頁的顯示功能) Oracle技術(shù)網(wǎng)—漫談oracle中的空值 Oracle技術(shù)網(wǎng)—如何正確利用Rownum來限制查詢所返回的行數(shù) Oracle技術(shù)網(wǎng)—什么是ROWID,為什么需要它 Oracle技術(shù)網(wǎng)—數(shù)據(jù)庫技術(shù)考試大綱(中級(jí)) Oracle技術(shù)網(wǎng)—數(shù)據(jù)庫行業(yè)的現(xiàn)狀和展望 Oracle技術(shù)網(wǎng)—在客戶端處理Oracle的數(shù)據(jù)行加鎖問題 如何對(duì)CLOB行字段執(zhí)行全文檢索 Developer 2000 Oracle技術(shù)網(wǎng)—Developer/2000中各鍵盤觸發(fā)子所對(duì)應(yīng)的“按鍵” Oracle技術(shù)網(wǎng)—FORM調(diào)用REPORT時(shí),如何去掉report server Oracle技術(shù)網(wǎng)—FORM中,Exception(例外)都有哪些,如何書寫 Oracle技術(shù)網(wǎng)—FORM中,F(xiàn)ORM中,如何引入圖像 Oracle技術(shù)網(wǎng)—FORM中,WINDOW標(biāo)題的設(shè)置 Oracle技術(shù)網(wǎng)—FORM中,常用快捷鍵有哪些 Oracle技術(shù)網(wǎng)—FORM中,觸發(fā)子exit_form的兩種功能是什么 Oracle技術(shù)網(wǎng)—FORM中,當(dāng)光標(biāo)走到塊的最后一項(xiàng)時(shí),如何讓按“enter回車”鍵時(shí),光標(biāo)自動(dòng)走到下一條記錄的第一項(xiàng)? Oracle技術(shù)網(wǎng)—FORM中,當(dāng)用鼠標(biāo)點(diǎn)擊標(biāo)簽畫布的某一“標(biāo)簽頁”時(shí),如何判斷點(diǎn)擊的是哪一頁 Oracle技術(shù)網(wǎng)—FORM中,如何屏蔽默認(rèn)的功能鍵 Oracle技術(shù)網(wǎng)—FORM中,如何實(shí)現(xiàn)屏幕同步刷新? Oracle技術(shù)網(wǎng)—FORM中,如何使用警告 Oracle技術(shù)網(wǎng)—FORM中,如何通過 ODBC 訪問 Acress 數(shù)據(jù)? Oracle技術(shù)網(wǎng)—FORM中 Oracle技術(shù)網(wǎng)—FORM中,設(shè)置應(yīng)用特性(光標(biāo)類型) Oracle技術(shù)網(wǎng)—FORM中,怎樣創(chuàng)建動(dòng)態(tài)下拉列表List Oracle技術(shù)網(wǎng)—FORM中如何存取聲音 Oracle技術(shù)網(wǎng)—FORM中如何存取圖象?如何把圖象從一個(gè)表中導(dǎo)到另一個(gè)表中? Oracle技術(shù)網(wǎng)—MIS中的圖像應(yīng)用技術(shù) Oracle技術(shù)網(wǎng)—MIS中的圖像應(yīng)用技術(shù) Oracle技術(shù)網(wǎng)—從FORM中調(diào)用REPORT時(shí),如何使打印結(jié)果直接輸出到打印機(jī)上 Oracle技術(shù)網(wǎng)—如何從FORM中調(diào)用REPORT程序 Oracle技術(shù)網(wǎng)—如何改變FORM(FMX模塊)運(yùn)行時(shí)的title? Oracle技術(shù)網(wǎng)—如何在FORM運(yùn)行中,使定制菜單中的“窗口(W)”菜單項(xiàng)不顯示 Oracle技術(shù)網(wǎng)—如何在啟動(dòng)FORM程序時(shí)直接登錄到Oracle數(shù)據(jù)庫上? Oracle技術(shù)網(wǎng)—運(yùn)行FORM時(shí),如何使按鈕變灰(即無效) Oracle技術(shù)網(wǎng)—運(yùn)行FORM時(shí),如何使窗口(runtime窗口、畫布窗口)自動(dòng)變成最大化、最小化? Oracle技術(shù)網(wǎng)—在Developer/2000中如何讀寫文本型操作系統(tǒng)文件 Oracle技術(shù)網(wǎng)—在Oracle中實(shí)現(xiàn)報(bào)表的定長輸出 linux vs Unix How To Install Oracle 8.0.5 onto RedHat Linux 6 HOWTO: OAS for Linux on FreeBSD HOWTO: Oracle for Linux on FreeBSD Oracle 7.3.4 Enterprise Edition for SCO UNIX 安裝步驟 Oracle技術(shù)網(wǎng)—Oracle .com 套件在TurboLinux上的安裝 Oracle技術(shù)網(wǎng)—ORACLE 7.3 Enterprise在SCO OPEN SERVER 5.02 及 5.04 的安裝過程 Oracle技術(shù)網(wǎng)—ORACLE 7.3.4.2 for SCO Unix 安裝說明 Oracle技術(shù)網(wǎng)—Oracle 8 for solaris 2.6 安裝步驟 Oracle技術(shù)網(wǎng)—Oracle 8(8.0.5)標(biāo)準(zhǔn)版安裝指南 Oracle技術(shù)網(wǎng)—Oracle 8i(8.1.5)企業(yè)版安裝指南 Oracle技術(shù)網(wǎng)—ORACLE FOR SUN SOLARIS 安裝手冊(cè) Oracle技術(shù)網(wǎng)—ORACLE FOR SUN SOLARIS 維護(hù)手冊(cè) Oracle技術(shù)網(wǎng)—ORACLE V.7.3.4.3 FOR AIX 安裝說明 Oracle技術(shù)網(wǎng)—ORACLE8I FOR SUN SOLARIS2.7 安裝說明 Oracle技術(shù)網(wǎng)—RedHat 6.1 Step-by-step Install notes for Oracle 8i Oracle技術(shù)網(wǎng)—RedHat Linux 6.0 上 Oracle 8(8.0.5)標(biāo)準(zhǔn)版 安裝實(shí)例 Oracle技術(shù)網(wǎng)—RedHat Linux 6.0 上 Oracle 8i R2 (8.1.6) 企業(yè)版安裝實(shí)例 Oracle技術(shù)網(wǎng)—如何集成Linux/Apache/PHP4/FastCGI/Oracle/MySQL環(huán)境 Oracle技術(shù)網(wǎng)—如何在你的Linux機(jī)器上安裝運(yùn)行Oracle Oracle技術(shù)網(wǎng)—為Linux配備Oracle 8 Oracle技術(shù)網(wǎng)—在RedHat 6.0上安裝Oracle 8i(全攻略)
personnages

????
Oracle8 PL/SQL編程風(fēng)格與系統(tǒng)性能的提高
來源:http://www.info365.com.cn/
作者:楊延廣 曹素麗

  摘 要:介紹了Oracle 8 PL/SQL程序設(shè)計(jì)中,提高系統(tǒng)性能的編程風(fēng)格的幾種方法,和存儲(chǔ)過程及觸發(fā)器的使用、錯(cuò)誤處理等。
  關(guān)鍵詞:Oracle;SQL;存儲(chǔ)過程;觸發(fā)器;錯(cuò)誤處理
  中圖分類號(hào):TP311.11  文獻(xiàn)標(biāo)識(shí)碼:B
文章編號(hào):1001-9081(2000)02-0073-02

  Oracle是C/S(Client/Server)結(jié)構(gòu)的大型數(shù)據(jù)庫,主要語言是4GLSQL語言,具有功能強(qiáng)大而簡(jiǎn)單易學(xué)的優(yōu)點(diǎn)。C/S結(jié)構(gòu)的工作過程是:當(dāng)客戶端(C端)輸入并發(fā)送一條SQL語句后,便通過網(wǎng)絡(luò)送到服務(wù)器端(S端),在那里被分析執(zhí)行然后再將結(jié)果通過網(wǎng)絡(luò)返回到客戶端,此時(shí)客戶端可以再發(fā)下一條SQL語句??梢?,客戶端是一條語句一條語句的發(fā)送,服務(wù)器端是一條一條的分析執(zhí)行,結(jié)果再一次次的返回。但是,這樣單個(gè)的SQL語句引起了頻繁的網(wǎng)絡(luò)通信,大大降低了系統(tǒng)性能。PL/SQL是擴(kuò)展SQL后的語言,PL/SQL塊作為一個(gè)單位發(fā)送,使用了較少的網(wǎng)絡(luò)通信,而且在運(yùn)行中能根據(jù)條件,決定執(zhí)行或重復(fù)執(zhí)行什么語句,既保留了SQL的強(qiáng)大性,又彌補(bǔ)了不足。

1 提高程序的運(yùn)行速度

1.1 使用存儲(chǔ)過程
  存儲(chǔ)過程是Oracle數(shù)據(jù)庫的一種對(duì)象,是一種帶名的PL/SQL過程程序塊,它在創(chuàng)建后,被數(shù)據(jù)庫服務(wù)器進(jìn)行語法和句法分析,以編譯了的形式存儲(chǔ)在數(shù)據(jù)庫中,可以被有權(quán)用戶在任何需要的地方調(diào)用。當(dāng)客戶端應(yīng)用程序調(diào)用時(shí),只需發(fā)送一條調(diào)用命令,數(shù)據(jù)庫服務(wù)器就會(huì)執(zhí)行該過程。與一般的PL/SQL塊主要的不同是:無需在網(wǎng)上傳送大量的源程序代碼,只傳送一條調(diào)用命令,這就大大降低了網(wǎng)絡(luò)通信的負(fù)擔(dān);而且只在剛創(chuàng)建時(shí)分析編譯一次,每次調(diào)用直接執(zhí)行編譯了的代碼,因此運(yùn)行速度較快。
  在實(shí)際開發(fā)時(shí),對(duì)于具有共同特性的功能模塊最好使用存儲(chǔ)過程,調(diào)用時(shí)通過使用不同的實(shí)際參數(shù)值來實(shí)現(xiàn)某一具體的處理。如果能充分利用存儲(chǔ)過程來完成應(yīng)用系統(tǒng)的操作與處理,則可大大提高系統(tǒng)的運(yùn)行性能。
1.2 編寫可重用共享池中已有語句的SQL語句
  共享內(nèi)存緩沖區(qū)和后臺(tái)進(jìn)程合稱為一個(gè)Oracle實(shí)例。當(dāng)啟動(dòng)一個(gè)Oracle實(shí)例時(shí),會(huì)有許多的Oracle后臺(tái)進(jìn)程被啟動(dòng),每個(gè)進(jìn)程都負(fù)責(zé)運(yùn)行數(shù)據(jù)庫的不同方面的處理,各進(jìn)程通過共享內(nèi)存彼此之間進(jìn)行通信,該塊內(nèi)存就是系統(tǒng)全局區(qū)SGA。SGA被分隔為不同的區(qū)域,其中一個(gè)稱作共享池(Shared Pool)的區(qū)域中包含了發(fā)送給數(shù)據(jù)庫的SQL語句的正文和PL/SQL塊,以及它們經(jīng)過分析后的表示形式與執(zhí)行方案,其中執(zhí)行方案是數(shù)據(jù)庫實(shí)際處理該語句的方法,例如,需要訪問哪些表和索引、是否需要執(zhí)行排序操作等等。
  因?yàn)橐獔?zhí)行一條SQL 語句,數(shù)據(jù)庫就必須確定其執(zhí)行方案。當(dāng)數(shù)據(jù)庫從客戶應(yīng)用程序接收到一條SQL語句時(shí),它首先檢查是否該語句在共享池中。若在,那么不重新對(duì)其分析而是重復(fù)使用已經(jīng)在共享池中的形式及執(zhí)行方案;若不在,則對(duì)該語句進(jìn)行分析,得到新的分析形式與執(zhí)行方案并進(jìn)行存儲(chǔ),覆蓋共享池中以前的內(nèi)容。
  由此可以看出,編寫可重用共享池中語句的SQL語句就顯得十分必要,因?yàn)楸苊獠槐匾闹匦路治觯瑫?huì)很大程度上減小服務(wù)器所承擔(dān)的工作量。要想重復(fù)使用共享池中的語句,就應(yīng)該編寫與其格式一致的語句,包括字母的大小寫、標(biāo)點(diǎn)符號(hào)、換行的位置等都要一致。下面推薦一種有效實(shí)用的方法。
1.2.1 SQL語句各部分的格式
  一條語句可以一行也可以分多行書寫,但最好換行書寫,每一子句一行,且每行的第一個(gè)關(guān)鍵字與第一行的關(guān)鍵字的尾部對(duì)齊,這樣做以確保每次使用同一條語句時(shí)分行的位置一致,而不要讓語句在第80列偶然溢出到下一行,例如下面的格式中字母T、M、E、D、P是對(duì)齊的,一子句占了一行:
  SELECT col1,col2
  FROM tablename1
  WHERE col1 > col2
  AND col2 > col3
  GROUP BY col1;
  當(dāng)剛執(zhí)行過上述語句后,若又接收到下面的語句:
  SELECT col1,col2
  FROM tablename2
  WHERE col1 > col2
  AND col2 > col3
  GROUP BY col2;
  則通過檢查認(rèn)為與共享池中的語句一致,可重復(fù)使用共享池中的執(zhí)行方案,不必重新分析。
  而下面的的語句被認(rèn)為是不同的,因?yàn)榉中械奈恢貌煌?,需要重新進(jìn)行分析。
  SELECT col1,col2 FROM tablename2
  WHERE col1 > col2
  AND col2 > col3
  GROUP BY col1 ;
1.2.2 字母大小寫采用一致約定
  關(guān)鍵字、保留字大寫,用戶聲明的標(biāo)識(shí)符小寫。請(qǐng)看下面的兩條語句:
  SELECT xm
  FROM student;
  與
  select xm
  FROM student;
  比較的結(jié)果是這兩句不匹配或者說不等價(jià),因?yàn)榈谝痪渲械腟ELECT是大寫的,而第二句的是小寫的。
1.2.3 其它,如運(yùn)算符兩側(cè)各留一個(gè)空格等
  總之,設(shè)計(jì)自己的編寫約定并遵守這些約定,使要處理的語句與共享池中的相一致,有助于運(yùn)行性能的提高。

2 提高可維護(hù)性

2.1 編寫觸發(fā)器
  對(duì)表中數(shù)據(jù)進(jìn)行修改、刪除或插入是非常常見的操作。當(dāng)表被修改時(shí),應(yīng)該自動(dòng)給其他需要執(zhí)行操作的程序發(fā)信號(hào)。觸發(fā)器可以完成這一功能。在Oracle8中,觸發(fā)器是一段程序,但是這段程序是當(dāng)發(fā)生INSERT、UPDATE或DELETE操作時(shí)被自動(dòng)執(zhí)行的,與過程的調(diào)用(是通過調(diào)用語句調(diào)用執(zhí)行)不同,因此當(dāng)某事件的發(fā)生引起連環(huán)更新或其他的相應(yīng)操作時(shí),通過自動(dòng)執(zhí)行觸發(fā)器代碼實(shí)現(xiàn)而不用人工干預(yù),大大減輕了維護(hù)工作,同時(shí)也很好的保證了數(shù)據(jù)的一致性。
  觸發(fā)器的優(yōu)點(diǎn)是自動(dòng)激發(fā),不管什么引起數(shù)據(jù)修改(來自程序的或是來自用戶的),它們都工作,所以常常用于不同數(shù)據(jù)表中的相關(guān)數(shù)據(jù)的串接修改。采用這種方法實(shí)現(xiàn)數(shù)據(jù)表間接的數(shù)據(jù)關(guān)聯(lián)可由數(shù)據(jù)庫集中維護(hù)控制,規(guī)則變化時(shí)只需修改相應(yīng)的觸發(fā)器即可,這樣系統(tǒng)易于維護(hù),提高了工作效率。
2.2 使用%TYPE、%ROWTYPE方式聲明變量
  程序設(shè)計(jì)中常常要通過變量來實(shí)現(xiàn)程序間的數(shù)據(jù)傳遞,即將表中數(shù)據(jù)賦值給變量,或是把變量值插入到表中。而要完成這些操作的前提就是,表中數(shù)據(jù)與變量類型要一致。然而在實(shí)際中,表中數(shù)據(jù)或類型、或?qū)挾扔袝r(shí)要變化,一旦變化,就必須去修改程序中的變量聲明部分,否則程序?qū)⒉荒苷_\(yùn)行。為了減少這部分程序的修改,編程時(shí)使用%TYPE、%ROWTYPE方式聲明變量,使變量聲明的類型與表中的保持同步,隨表的變化而變化,這樣的程序在一定程度上具有更強(qiáng)的通用性。

3 提高程序自檢能力

  一個(gè)好的應(yīng)用系統(tǒng)不僅要有好的用戶界面、齊全的功能處理模塊,而且要有很強(qiáng)的錯(cuò)誤處理能力。因此要求編程人員要預(yù)測(cè)可能的各種情況(聲明異常情態(tài)并引發(fā)),并盡可能從錯(cuò)誤中恢復(fù)過來(編寫相應(yīng)異常情態(tài)處理器代碼),這就是Oracle8中的異常部分的程序設(shè)計(jì)內(nèi)容。然而這部分的設(shè)計(jì)絕非易事。在異常部分的最后設(shè)置OTHERS異常情態(tài)處理器是個(gè)很好的編程習(xí)慣,因?yàn)樗鼮檫\(yùn)行時(shí)刻捕捉到的其它錯(cuò)誤指明了處理去向,從而保證了程序的正常運(yùn)行。格式如下:
  BEGIN
  …
  EXCEPTION
   WHEN excepname1 THEN
   …
   WHEN excepname2 THEN
   …
   WHEN OTHERS THEN
   …
  END;
  但是對(duì)程序中出現(xiàn)的錯(cuò)誤要做到正確的處理(即正確選擇異常處理器并執(zhí)行它),還必須弄清楚異常情態(tài)的傳播問題。
  異常情態(tài)的傳播指的是當(dāng)在程序塊的聲明、執(zhí)行、異常部分分別出現(xiàn)異常情態(tài)時(shí),或在本塊中沒有相應(yīng)的異常處理器時(shí)會(huì)將這個(gè)異常情態(tài)傳播到哪里,會(huì)去激發(fā)那個(gè)塊中的處理器。傳播規(guī)則是這樣的:
  當(dāng)一個(gè)異常情態(tài)是在塊的執(zhí)行部分引發(fā)的(最常見的),PL/SQL使用下面的規(guī)則確定激活哪個(gè)異常處理器。(1)若當(dāng)前塊對(duì)該異常情態(tài)設(shè)置了處理器,則執(zhí)行它并成功完成該塊的執(zhí)行,然后控制轉(zhuǎn)給包含塊。(2)若當(dāng)前塊沒有該處理器,則通過在包含塊中引發(fā)它來傳播異常情態(tài)。然后對(duì)包含塊執(zhí)行步驟1。另外,無論是在聲明部分引發(fā)了一個(gè)異常情態(tài),還是在異常處理部分引發(fā),則該異常情態(tài)將立即傳播給包含塊。在包含塊引用上述規(guī)則進(jìn)行異常情態(tài)的處理,即使在當(dāng)前塊設(shè)置了OTHERS處理器也不會(huì)被執(zhí)行。

4 易于閱讀

  .對(duì)于子程序、觸發(fā)器、包等帶名的程序塊,使用結(jié)束標(biāo)識(shí)。例如:
  CREATE OR REPLACE PROCEDURE addstud IS
  …
  BEGIN
  …
  END addstud;   
  .采用統(tǒng)一的標(biāo)識(shí)符命名規(guī)則。對(duì)于諸如變量名、子程序名、觸發(fā)器名等數(shù)據(jù)庫對(duì)象命名時(shí),應(yīng)盡量能表示其功能用途或含義。
  .對(duì)于過程性語句與程序塊采用縮進(jìn)書寫風(fēng)格,會(huì)使得程序結(jié)構(gòu)清晰、層次分明、易閱讀。
  .采用統(tǒng)一的字母大小寫。盡管PL/SQL程序中不區(qū)分大小寫,但是采用統(tǒng)一的字母大小寫(如前文敘述的大小寫約定)將在很大程度上提高程序的可閱讀性。
  .加注釋。
  .一條語句分多行書寫,不讓其自動(dòng)分行。
  這方面的內(nèi)容大家都已很熟悉,不再詳述了。
  總之,良好的程序設(shè)計(jì)風(fēng)格,可以在多個(gè)方面提高系統(tǒng)的性能,提高開發(fā)效率,很值得我們?cè)诠ぷ髦薪o以重視。

作者簡(jiǎn)介:楊延廣 (1965-),男,講師,主要研究方向:計(jì)算機(jī)應(yīng)用;
     曹素麗 女,工程師,主要研究方向:計(jì)算機(jī)應(yīng)用。

作者單位:楊延廣(石家莊郵政高等??茖W(xué)?!『颖?strong>.石家莊050011)
     曹素麗(石家莊郵政高等??茖W(xué)校 河北.石家莊050011)

Article précédent: Article suivant: