您好,登錄后才能下訂單哦!
PL/SQL Developer是一個(gè)集成開發(fā)環(huán)境,專門面向Oracle數(shù)據(jù)庫存儲(chǔ)程序單元的開發(fā)。如今,有越來越多的商業(yè)邏輯和應(yīng)用邏輯轉(zhuǎn)向了Oracle Server,因此,PL/SQL編程也成了整個(gè)開發(fā)過程的一個(gè)重要組成部分。PL/SQL Developer側(cè)重于易用性、代碼品質(zhì)和生產(chǎn)力,充分發(fā)揮Oracle應(yīng)用程序開發(fā)過程中的主要優(yōu)勢。
PL/SQL Developer主要特性:
PL/SQL編輯器,功能強(qiáng)大——該編輯器具有語法加強(qiáng)、SQL和PL/SQL幫助、對(duì)象描述、代碼助手、編譯器提示、PL/SQL完善、代碼內(nèi)容、代碼分級(jí)、瀏覽器按鈕、超鏈接導(dǎo)航、宏庫等許多智能特性,能夠滿足要求性最高的用戶需求。當(dāng)您需要某個(gè)信息時(shí),它將自動(dòng)出現(xiàn),至多單擊即可將信息調(diào)出。
集成調(diào)試器(要求Oracle 7.3.4或更高)——該調(diào)試器提供您所需要的全部特性:跳入(Step In)、跳過(Step Over)、跳出(Step Out)、異常時(shí)停止運(yùn)行、斷點(diǎn)、觀察和設(shè)置變量、觀察全部堆棧等?;灸軌蛘{(diào)試任何程序單元(包括觸發(fā)器和Oracle8 對(duì)象類型),無需作出任何修改。
PL/SQL完善器——該完善器允許您通過用戶定義的規(guī)則對(duì)SQL和PL/SQL代碼進(jìn)行規(guī)范化處理。在編譯、保存、打開一個(gè)文件時(shí),代碼將自動(dòng)被規(guī)范化。該特性提高了您編碼的生產(chǎn)力,改善了PL/SQL代碼的可讀性,促進(jìn)了大規(guī)模工作團(tuán)隊(duì)的協(xié)作。
SQL 窗口——該窗口允許您輸入任何SQL語句,并以柵格形式對(duì)結(jié)果進(jìn)行觀察和編輯,支持按范例查詢模式,以便在某個(gè)結(jié)果集合中查找特定記錄。另外,還含有歷史緩存,您可以輕松調(diào)用先前執(zhí)行過的SQL語句。該SQL編輯器提供了同PL/SQL編輯器相同的強(qiáng)大特性。
命令窗口——使用PL/SQL Developer 的命令窗口能夠開發(fā)并運(yùn)行SQL腳本。該窗口具有同SQL*Plus相同的感觀,另外還增加了一個(gè)內(nèi)置的帶語法加強(qiáng)特性的腳本編輯器。這樣,您就可以開發(fā)自己的腳本,無需編輯腳本/保存腳本/轉(zhuǎn)換為SQL*Plus/運(yùn)行腳本過程,也不用離開PL/SQL Developer集成開發(fā)環(huán)境。
報(bào)告——PL/SQL Developer提供內(nèi)置的報(bào)告功能,您可以根據(jù)程序數(shù)據(jù)或Oracle字典運(yùn)行報(bào)告。PL/SQL Developer本身提供了大量標(biāo)準(zhǔn)報(bào)告,而且您還可以方便的創(chuàng)建自定義報(bào)告。自定義報(bào)告將被保存在報(bào)告文件中,進(jìn)而包含在報(bào)告菜單內(nèi)。這樣,運(yùn)行您自己經(jīng)常使用的自定義報(bào)告就非常方便。
您可以使用Query Reporter免費(fèi)軟件工具來運(yùn)行您的報(bào)告,不需要PL/SQL Developer,直接從命令行運(yùn)行即可。
工程——PL/SQL Developer內(nèi)置的工程概念可以用來組織您的工作。一個(gè)工程包括源文件集合、數(shù)據(jù)庫對(duì)象、notes和選項(xiàng)。PL/SQL Developer允許您在某些特定的條目集合范圍之內(nèi)進(jìn)行工作,而不是在完全的數(shù)據(jù)庫或架構(gòu)之內(nèi)。這樣,如果需要編譯所有工程條目或者將工程從某個(gè)位置或數(shù)據(jù)庫移動(dòng)到其他位置時(shí),所需工程條目的查找就變得比較簡單,
To-Do條目——您可以在任何SQL或PL/SQL源文件中使用To-Do條目快速記錄該文件中那些需要進(jìn)行的事項(xiàng)。以后能夠從To-Do列表中訪問這些信息,訪問操作可以在對(duì)象層或工程層進(jìn)行。
對(duì)象瀏覽器——可配置的樹形瀏覽能夠顯示同PL/SQL開發(fā)相關(guān)的全部信息,使用該瀏覽器可以獲取對(duì)象描述、瀏覽對(duì)象定義、創(chuàng)建測試腳本以便調(diào)試、使能或禁止觸發(fā)器或約束條件、重新編譯不合法對(duì)象、查詢或編輯表格、瀏覽數(shù)據(jù)、在對(duì)象源中進(jìn)行文本查找、拖放對(duì)象名到編輯器等。
此外,該對(duì)象瀏覽器還可以顯示對(duì)象之間的依存關(guān)系,您可以遞歸的擴(kuò)展這些依存對(duì)象(如包參考檢查、瀏覽參考表格、圖表類型等)。
性能優(yōu)化——使用PL/SQL Profiler,可以瀏覽每一執(zhí)行的PL/SQL代碼行的時(shí)序信息(Oracle8i或更高),從而優(yōu)化您SQL和PL/SQL的代碼性能。
更進(jìn)一步,您還可以自動(dòng)獲取所執(zhí)行的SQL語句和PL/SQL程序統(tǒng)計(jì)信息。該統(tǒng)計(jì)信息包括CPU使用情況、塊I/O、記錄I/O、表格掃描、分類等。
HTML指南——Oracle目前支持HTML格式的在線指南。您可以將其集成到PL/SQL Developer工作環(huán)境中,以便在編輯、編譯出錯(cuò)或運(yùn)行時(shí)出錯(cuò)時(shí)提供內(nèi)容敏感幫助。
非PL/SQL對(duì)象——不使用任何SQL,您就可以對(duì)表格、序列、符號(hào)、庫、目錄、工作、隊(duì)列、用戶和角色進(jìn)行瀏覽、創(chuàng)建和修改行為。PL/SQL Developer提供了一個(gè)簡單易用的窗體,只要將信息輸入其中,PL/SQL Developer就將生成相應(yīng)的SQL,從而創(chuàng)建或轉(zhuǎn)換對(duì)象。
模板列表——PL/SQL Developer的模板列表可用作一個(gè)實(shí)時(shí)的幫助組件,協(xié)助您強(qiáng)制實(shí)現(xiàn)標(biāo)準(zhǔn)化。只要點(diǎn)擊相應(yīng)的模板,您就可以向編輯器中插入標(biāo)準(zhǔn)的SQL或PL/SQL代碼,或者從草稿出發(fā)來創(chuàng)建一個(gè)新程序。
查詢構(gòu)建器——圖形化查詢構(gòu)建器簡化了新選擇語句的創(chuàng)建和已有語句的修改過程。只要拖放表格和視窗,為區(qū)域列表選擇專欄,基于外部鍵約束定義聯(lián)合表格即可。
比較用戶對(duì)象——對(duì)表格定義、視圖、程序單元等作出修改后,將這些修改傳遞給其他數(shù)據(jù)庫用戶或檢查修改前后的區(qū)別將是非常有用的。這也許是一個(gè)其他的開發(fā)環(huán)境,如測試環(huán)境或制作環(huán)境等。而比較用戶對(duì)象功能則允許您對(duì)所選對(duì)象進(jìn)行比較,將不同點(diǎn)可視化,并運(yùn)行或保存應(yīng)用必要變動(dòng)的SQL腳本。
導(dǎo)出用戶對(duì)象——該工具可以導(dǎo)出用戶所選對(duì)象的DDL(數(shù)據(jù)定義語言)語句。您可以方便的為其他用戶重新創(chuàng)建對(duì)象,也可以保存文件作為備份。
工具——PL/SQL Developer為簡化日常開發(fā)專門提供了幾種工具。使用這些工具,您可以重新編譯全部不合法對(duì)象、查找數(shù)據(jù)庫源中文本、導(dǎo)入或?qū)С霰砀?、生成測試數(shù)據(jù)、導(dǎo)出文本文件、監(jiān)控dbms_alert和dbms_pipe事件、瀏覽會(huì)話信息等。
授權(quán)——大多數(shù)開發(fā)環(huán)境中,您不希望所有數(shù)據(jù)庫都具備PL/SQL Developer的全部功能性。例如,數(shù)據(jù)庫開發(fā)中您可以允許PL/SQL Developer的全部功能性,而數(shù)據(jù)庫測試中您可以僅允許數(shù)據(jù)查詢/編輯和對(duì)象瀏覽功能,而數(shù)據(jù)庫制作中您甚至根本不希望PL/SQL Developer訪問。利用PL/SQL Developer授權(quán)功能,您可以方便的定義特定用戶或規(guī)則所允許使用的功能。
插件擴(kuò)展——可以通過插件對(duì)PL/SQL Developer功能進(jìn)行擴(kuò)展。Add-ons頁面提供插件可以免費(fèi)下載。Allround Automations或其他用戶均可提供插件(如版本控制插件或plsqldoc插件)。如果您具備創(chuàng)建DLL的編程語言,您還可以自己編寫插件。
多線程IDE——PL/SQL Developer是一個(gè)多線程IDE。這樣,當(dāng)SQL查詢、PL/SQL程序、調(diào)試會(huì)話等正在運(yùn)行時(shí),您依然可以繼續(xù)工作。而且,該多線程IDE還意味著出現(xiàn)編程錯(cuò)誤時(shí)不會(huì)中止:您在任何時(shí)間都可以中斷執(zhí)行或保存您的工作。
易于安裝——不同于SQL*Net,無需中間件,也無需數(shù)據(jù)庫對(duì)象安裝。只需點(diǎn)擊安裝程序按鈕,您就可以開始安裝從而使用軟件了。
這是個(gè)有爭議的功能,因?yàn)橛涀∶艽a會(huì)給帶來數(shù)據(jù)安全的問題。但假如是開發(fā)用的庫,密碼甚至可以和用戶名相同,每次輸入密碼實(shí)在沒什么意義,可以考慮讓PLSQL Developer記住密碼。
設(shè)置方法:菜單Tools --> Preferences --> Oracle --> Logon History --> Store With Password
重新登錄再輸入一次密碼則記住了。
上述方法若不好用,使用下面的方式:
在上面所說的界面中的"Fixed Users"中,
添加需要直接選擇后就可登錄的用戶名/密碼@ORACLE_SID,
如:
cbsdb/cbsdb@cbsdb
重新登錄的時(shí)候,從Oracle Logon的登錄界面的Username后面的...按鈕處,
選擇需要登錄的用戶即可。
信息系統(tǒng)的核心是數(shù)據(jù)庫,系統(tǒng)出問題時(shí)最先要查的就是SQL語句,怎樣在浩瀚的日志中快速找到那條SQL語句是件比較痛苦的事情。 SQL語句全部大寫并不能徹底解決這一問題,但在一堆代碼中間找一行全部大寫的字符相對(duì)容易些。設(shè)置方法:菜單Tools --> Preferences --> Editor --> Keyword Case --> Uppercase
在SQL Window里寫好的SQL語句通常需要放到Java或者別的語言內(nèi),就需要轉(zhuǎn)成字符串并加上相應(yīng)的連字符,這一個(gè)事不需要再重復(fù)做了,在寫好的SQL 上點(diǎn)右鍵,使用特殊Copy即可!
設(shè)置方法:鼠標(biāo)右鍵 --> Special Copy
PLSQL Developer里預(yù)留了很多鍵讓用戶自定義,通常情況下,打開PLSQL Developer后,最常用的就是打開SQL Window和Command Window,就可以給這兩個(gè)操作定義快捷鍵ALT+S和ALT+ C。
設(shè)置方法:菜單Tools --> Preferences --> Key Configuration
Shortcut:
============================================================================
Edit/UndoCtrl+Z
Edit/RedoShift+Ctrl+Z
Edit/PL/SQL BeautifierCtrl+W(自定義)
Shift+Home選擇光標(biāo)位置到行首
Shift+End選擇光標(biāo)位置到行尾
Ctrl+Shift+Home選擇光標(biāo)位置到首行行首
Ctrl+Shift+End選擇光標(biāo)位置到尾行行尾
Object:ViewShift+Ctrl+V查看(自定義)
Object:DescribeShift+Ctrl+D結(jié)構(gòu)(自定義)
Object:PropertiesShift+Ctrl+P屬性(自定義)
Object:BrowseShift+Ctrl+B瀏覽(自定義)
Object:Edit DataShift+Ctrl+E編輯數(shù)據(jù)(自定義)
Object:Standard QueryShift+Ctrl+S標(biāo)準(zhǔn)查詢(自定義)
Edit/Find ReplaceCtrl+F
Edit/Find NextCtrl+L
Edit/Find PreviousShift+Ctrl+L
Edit/Replace NextCtrl+P
EDIT/Full ScreenCtrl+F11
Edit/Go to LineCtrl+G
Edit/Next Tab PageCtrl+H
Edit/Previous Tab PageShift+Ctrl+H
Session/ExecuteF8
Session/BreakShift+Esc
Session/CommitF10
Session/RollbackShift+F10
Debug/Toggle BreakpointCtrl+B
Debug/StartF9
Debug/RunCtrl+R
Debug/Step IntoCtrl+N
Debug/Step OverCtrl+O
Debug/Step OutCtrl+T
Tools/Explain PlanF5
Tools/Code AssistantF6
Editor: Start of DocumentCtrl+PgUpORCtrl+Home
Editor:End of DocumentCtrl+PgDnORCtrl+End
Editor:Delete LineCtrl+Y
Editor:Navigate BackAlt+Left
Editor:Navigate ForwardAlt+Right
SQL Window:Previous SQLCtrl+Up
SQL Window:Next SQLCtrl+Down
在使用PL/SQL Developer的SQL Window時(shí),按F8鍵,PL/SQL Developer默認(rèn)是執(zhí)行該窗口的所有SQL語句,需要設(shè)置為鼠標(biāo)所在的那條SQL語句,即執(zhí)行當(dāng)前SQL語句;
設(shè)置方法:PL/SQL Developer -->tools->Preferences-->Window types ,勾上“AutoSelect Statement” 即可。注意,每條語句后面要加分號(hào)。
快捷輸入SQL語句,例如輸入s,按下空格,自動(dòng)替換成SELECT;再例如,輸入sf,按下空格,自動(dòng)替換成SELECT * FROM,非常方便,節(jié)省了大量的時(shí)間去編寫重復(fù)的SQL語句。
設(shè)置方法:菜單Tools --> Preferences --> Editor --> AutoReplace. --> Edit
下面定義了一些規(guī)則作為參考
s=SELECT
f=FROM
w=WHERE
o=ORDER BY
d=DELETE
sf=SELECT * FROM
df=DELETE FROM
sc=SELECT COUNT(*) FROM
在使用PL/SQL Developer的SQL Window時(shí),有時(shí)候輸入的SQL語句太長或太亂,希望能用比較通用的寫法格式話一下,這樣看起來會(huì)好看些,也好分析;
使用方法:選中需要格式化的SQL語句,然后點(diǎn)擊工具欄的PL/SQL beautifier按鈕即可.
點(diǎn)擊菜單 tools -> window list, 將彈出的小窗口拖到左下角合適位置,然后點(diǎn)擊菜單 window->save layout
tools->Preferences-->Oracle->Connection 選擇 "check connection"
tools->Preferences->Files->backup,頁面中backup files中選擇 disabled
在PL/SQL Developer(下面簡稱PLD)中的每一個(gè)文本編輯窗口,
如SQL Window,Command Window和Porgram Window,
右鍵點(diǎn)擊某個(gè)對(duì)象名稱,會(huì)彈出一個(gè)包含操作對(duì)象命令的菜單,我們這里稱之為右鍵菜單。
對(duì)象類型可以是表,視圖,同義詞,存儲(chǔ)過程和函數(shù)等。
根據(jù)對(duì)象類型的不同,彈出的菜單也有區(qū)別。
表和視圖有View, Edit, Rename, Drop, Query data 和Edit data等功能。
View和Edit分別是查看和修改表的結(jié)構(gòu)信息,如字段,主鍵,索引和約束等。
Query data相當(dāng)于新打開一個(gè)窗口,并執(zhí)行select * from 表。
Edit data相當(dāng)于新打開一個(gè)窗口,并執(zhí)行select * from 表 for update。
存儲(chǔ)過程和函數(shù)有Test功能,選中后可以進(jìn)入調(diào)試狀態(tài)。
有時(shí)由于PLD識(shí)別錯(cuò)誤,右鍵點(diǎn)擊對(duì)象并不能出來正確的菜單,
可以在對(duì)象所在的DDL或DML語句的前面,加上分號(hào),這樣PLD就能正確的判斷出對(duì)象的類型
菜單Help->Support Info->TNS Names,可以查看Oracle的tnsnames.ora。
在SQL Window中執(zhí)行Select語句,在結(jié)果出來以后,右鍵點(diǎn)擊下面的數(shù)據(jù)區(qū),
選擇Copy to Excel,可以把數(shù)據(jù)區(qū)的記錄原樣拷貝到Excel中。
但有兩點(diǎn)需要注意:
(1)field中不能以=開始,否則Excel會(huì)誤認(rèn)為是函數(shù);
(2)數(shù)字不要超過17位,否則后面的位數(shù)將會(huì)置為0,
但可以通過在數(shù)字前加'來使Excel認(rèn)為該field是文本,
同時(shí)對(duì)于數(shù)據(jù)庫中Numbe類型的字段,最好用to_char輸出,不然可能會(huì)顯示不正常;
重新進(jìn)入PL/SQL Developer時(shí),Window List能打開上次退出時(shí)的文檔:
(1)將菜單Tools->Window list選項(xiàng)勾上;
(2)Tools->Perferences->User Interface->Options的右邊,
將"Autosave desktop"勾選.
(3)退出PL/SQL Developer重新進(jìn)入.
在Tools菜單中,勾選上Object Browser,將對(duì)象瀏覽器打開,
雙擊對(duì)象瀏覽器中的某個(gè)對(duì)象所處的文件夾,
比如表都是在Tables文件夾中,
然后以盡快的速度輸入表名,即可找到以你輸入的幾個(gè)字母開頭的對(duì)象了.
按住Shift鍵,左鍵點(diǎn)擊需要關(guān)閉的文檔窗口.
plsql 9.0及以上版本的多連接模式在實(shí)際的開發(fā)過程中容易連接錯(cuò)誤的庫導(dǎo)致生產(chǎn)事故,可以關(guān)閉這個(gè)功能,如圖:
如下圖設(shè)置后的外觀就有所改變:
如果連接上有所顯示:
由于結(jié)果集中的空值和空格難以區(qū)分,所以可以進(jìn)行設(shè)置顏色來區(qū)分null值。
當(dāng)你鍵入數(shù)據(jù)庫對(duì)象的名字時(shí),代碼助手將自動(dòng)地顯示關(guān)于它們的信息,這個(gè)首選項(xiàng)頁允許你定義這個(gè)特性的行為。
自動(dòng)激活
在某一個(gè)延遲之后,代碼助手能自動(dòng)地被調(diào)用(請(qǐng)看下面)。你還可以通過功能鍵選擇手工激活代碼助手。
延遲
編輯器在顯示代碼助手列表之前將等待的毫秒數(shù)。
代碼風(fēng)格
控制了當(dāng)你選擇了已選的項(xiàng)目時(shí)它們將怎樣被插入到編輯器里:
? Smart - 代碼助手將考慮被描述的對(duì)象來決定風(fēng)格。
? Init Caps - 每個(gè)詞(用下劃線分隔)的首字符大寫。
? Lowercase - 所有字符都轉(zhuǎn)換到小寫。
? Uppercase –所有字符都轉(zhuǎn)換到大寫。
如果可能使用原來的大小寫
這個(gè)選項(xiàng)被允許時(shí),如果可能的話,代碼助手將確定來自于存儲(chǔ)于Oracle 詞典的源里的標(biāo)識(shí)符的大小寫。這將應(yīng)用到所有的程序單元和它們的元素(參數(shù)、類型等等)以及應(yīng)用到查看列,并且越過了上面描述的代碼風(fēng)格首選項(xiàng)。如果原始的大小寫不能被確定,代碼風(fēng)格將被應(yīng)用。你可以因執(zhí)行的原因要求禁止這個(gè)特性。
描述用戶
確定了當(dāng)你鍵入一個(gè)后面跟隨著句點(diǎn)的用戶名時(shí)被用戶擁有的對(duì)象是否被列出來。如果這個(gè)選項(xiàng)被允許,你還可以定義哪些對(duì)象類型你要包括在里表里。
描述前后關(guān)系確定了代碼助手是否應(yīng)該描述當(dāng)前用戶、編輯器和程序單元的前后關(guān)系。
最少字符數(shù)
確定了在前后關(guān)系描述能自動(dòng)地被調(diào)用之前有多少個(gè)字符的詞需要被鍵入。注意,你始終可以手工調(diào)用代碼助手,即使字符數(shù)沒有被鍵入也是這樣。
描述標(biāo)準(zhǔn)函數(shù)
在默認(rèn)的情況下,代碼助手將描述標(biāo)準(zhǔn)的函數(shù)諸如to_char 、add_months 等等。如果你很熟悉這些函數(shù),你可以禁止這個(gè)選項(xiàng)。
進(jìn)入到Tools—Preferences—Editor下進(jìn)行相關(guān)設(shè)置,步驟如下圖:
點(diǎn)擊“Editor”項(xiàng)進(jìn)行設(shè)置,如下圖:
本次設(shè)置,為了實(shí)現(xiàn)長代碼自動(dòng)換行,勾選“wrap lines”即可。
長代碼自動(dòng)換行了,更易于顯示閱讀了,如下所示:
補(bǔ)充上圖SQL是錯(cuò)誤的,只為演示長SQL換行,正常書寫應(yīng)該為:
SQL> create table cool ("1" number(4),"2" varchar2(10),"3" varchar2(9),"4" number(4),"5" date,"6" number(7,2),"7" number(7,2),"8" number(2));
Table created
Dynamic Performance Tables not accessible,
Automatic Statistics Disabled for this session
You can disable statistics in the preference menu,or obtanin select
priviliges on the v$session,v$sesstat and v$statname tables
這個(gè)報(bào)錯(cuò)信息在不同的PL/SQL Developer版本都會(huì)出現(xiàn),從上面詳細(xì)的報(bào)錯(cuò)提示信息中我們可以判斷得到,報(bào)錯(cuò)原因不在工具本身。
產(chǎn)生該提示原因:
plsql dev在用戶運(yùn)行過程中,要收集用戶統(tǒng)計(jì)信息,但是由于你現(xiàn)在登錄的用戶沒有訪問v$session,v$sesstat and v$statname視圖的權(quán)限,所以不能收集當(dāng)前用戶的統(tǒng)計(jì)信息,和plsql dev工具中配置的Automatic Statistics相沖突,所以就出現(xiàn)了這個(gè)提示
在此,詳細(xì)記錄一下這個(gè)小問題的三種處理方法。
就是在報(bào)錯(cuò)的Error對(duì)話框中將“Don't show this message again”選項(xiàng)選中,下次就不在提示這個(gè)錯(cuò)誤了。
這種方法應(yīng)該可以叫做“鴕鳥方式”的處理方法。沒有從根本上解決這個(gè)問題。
報(bào)錯(cuò)信息中描述的非常詳細(xì),原因是動(dòng)態(tài)性能表沒有權(quán)利被訪問導(dǎo)致的問題,因此,我們通過把所需訪問權(quán)限賦予給具體用戶的方法來解決這個(gè)問題。
這里給出我能想到的三種具體處理方法。大家可以繼續(xù)補(bǔ)充。
1)如果只是某一具體用戶有權(quán)限查詢這三個(gè)動(dòng)態(tài)性能視圖,可以如下進(jìn)行操作
這里注意一下:我們授權(quán)的視圖是V_$session不是V$session,因?yàn)?/span>V$session是同名不是具體的視圖。否則您會(huì)收到下面這個(gè)錯(cuò)誤。
sys@ora10g> grant select on V$session to user_sec;
grant select on V$session to user_sec
*
ERROR at line 1:
ORA-02030: can only select from fixed tables/views
正確的授權(quán)方法如下:
SQL> grant select on V_$session to user_sec;
SQL> grant select on V_$sesstat to user_sec;
SQL> grant select on V_$statname to user_sec;
2)可以使用下面這個(gè)“簡單粗暴”的方法處理之。
SQL> grant SELECT ANY DICTIONARY to user_sec;
3)以上兩種方法是針對(duì)特定用戶的處理方法,如果想讓所有用戶(不局限在上面的user_sec用戶)都能夠查詢這三個(gè)動(dòng)態(tài)性能視圖,可以通過將查詢權(quán)限授權(quán)給public方法來實(shí)現(xiàn),操作如下。這樣就可以保證所有開發(fā)人員都不會(huì)再出現(xiàn)上述的報(bào)錯(cuò)信息了。
SQL> grant select on V_$session to public;
SQL> grant select on V_$sesstat to public;
SQL> grant select on V_$statname to public;
徹底禁掉PL/SQL Developer的這個(gè)功能。
方法如下:
導(dǎo)航到Tools --> Preferences --> Options
找到“Automatic Statistics”選項(xiàng),將其前面的小對(duì)勾去掉,然后點(diǎn)擊“Apply”和“OK”保存退出
在使用PL/SQL Developer的SQL Window時(shí),有時(shí)候輸入的SQL語句執(zhí)行的效率,分析下表結(jié)構(gòu),如何可以提高查詢的效率,可以通過查看Oracle提供的執(zhí)行計(jì)劃;
使用方法:選中需要分析的SQL語句,然后點(diǎn)擊工具欄的Explain plan按鈕(即執(zhí)行計(jì)劃),或者直接按F5即可。
這個(gè)里邊點(diǎn)擊下一步下一步就可以看到執(zhí)行計(jì)劃的過程。
另外,對(duì)于plsql 11中還可以看到html格式,Plan Hash Value或SQL PROFILE,非常實(shí)用:
在使用PL/SQL Developer操作Oracle時(shí),有時(shí)候調(diào)用某些存儲(chǔ)過程,或者調(diào)試存儲(chǔ)過程;
調(diào)用存儲(chǔ)過程的方法:首先,在PL/SQL Developer左邊的Browser中選擇Procedures,查找需要調(diào)用的存儲(chǔ)過程;然后,選中調(diào)試的存儲(chǔ)過程,點(diǎn)擊右鍵,選擇Test,在彈 出來的Test scrīpt窗口中,對(duì)于定義為in類型的參數(shù),需要給該參數(shù)的Value輸入值;最后點(diǎn)擊上面的條數(shù)按鈕:Start debugger 或者按F9;最后點(diǎn)擊:RUN 或者Ctrl+R
C:\Users\Administrator\AppData\Local\Temp
如圖:
連接數(shù)據(jù)庫后建立一個(gè)Test WINDOW
在窗口輸入調(diào)用SP的代碼,F9開始debug,CTRL+N單步調(diào)試
右擊我的電腦--電腦屬性--高級(jí)系統(tǒng)設(shè)置--環(huán)境變量。
找到變量名:NLS_LANG(沒有的話新建一個(gè),有的話點(diǎn)擊--編輯)。
將它的變量值改為:SIMPLIFIED CHINESE.ZHS16GBK
然后點(diǎn)擊--確定,重啟PLSQL就OK了
【技巧】如何全文搜索oracle官方文檔:http://blog.itpub.net/26736162/viewspace-2065550/
http://wenku.baidu.com/view/412b6ac208a1284ac9504304.html
使用PLSQL Developer 來查看官方文檔
今天教大家使用PLSQL Developer來查看官方文檔,這個(gè)是非常方便的,相當(dāng)于聯(lián)機(jī)在線的搜索功能,大家看好了:
第1步 下載官方文檔到本地,并且解壓縮,這個(gè)就不多說了
Oracle Server version |
File size |
Oracle 11.2 Library |
408 MB |
Oracle 11.1 Library |
374 MB |
Oracle 10.2 Library |
446 MB |
Oracle 10.1 Library |
257 MB |
Oracle 9.2 Library |
209 MB |
Oracle 9.0 Library |
210 MB |
第2步 打開plsql developer,按F1,或者打開如下界面:
第3步 輸入官方文檔的位置,點(diǎn)擊建立按鈕
不過,小麥苗現(xiàn)在基本上都使用離線的chm文件來搜索需要的內(nèi)容了,詳見http://blog.itpub.net/26736162/viewspace-2065550/
需要離線的chm文件的朋友可以去小麥苗的微云下載,地址為:http://blog.itpub.net/26736162/viewspace-1624453/
去除PL/SQL Developer打開時(shí)煩人的logon窗口
解決方法:
1.首先如果你的PL/SQL Developer有修改過配置,先備份你的PLSQL配置和你的連接配置
2.刪除C:\Users\登陸用戶\AppData\Roaming\PLSQL Developer下的Preferences文件夾
3.重新打開后就會(huì)發(fā)現(xiàn)煩人的logon窗口就會(huì)消失了,但是連接配置也被清除了,所以切記
保存之前的連接配置
4.將你之前備份的配置重新導(dǎo)入即可
11版本的plsql支持把配置文件導(dǎo)出后再導(dǎo)入了,這個(gè)功能很好。
現(xiàn)有功能簡要說明:
主菜單功能所有主菜單可在PL/SQL中設(shè)置工具欄按鈕,以方便調(diào)用
CnPlugin / Comment /&Commnet Lines 以“--”注釋當(dāng)前選中的代碼
CnPlugin / Comment /&Uncommnet Lines 去除當(dāng)前選中以“--”注釋的代碼
CnPlugin / &ReConnect 重連中斷的數(shù)據(jù)庫連接
CnPlugin / &ExPaste 對(duì)當(dāng)前選中或剪貼板內(nèi)空格式化為IN 字符串,如格式化字符串AA,BB,CC為('AA','BB',CC')
CnPlugin / &ExCreate 建表時(shí)插入COMMENT的字段說明,如CREATE TABLE tt(ID NUMBER --編號(hào));語句,除執(zhí)行當(dāng)前建表語句外,會(huì)自動(dòng)生成comment on column TT.ID is '編號(hào)'注釋語句
CnPlugin / Script / Load From MDB 以列表窗口形式讀取已保存在Access數(shù)據(jù)庫中的SQL語句
CnPlugin / Script / Save To MDB 保存當(dāng)前SQL語句至Access數(shù)據(jù)庫
CnPlugin / Script / Save As To MDB 另存為當(dāng)前SQL語句至Access數(shù)據(jù)庫
CnPlugin / Toggle Read Only 設(shè)置/取消設(shè)置當(dāng)前SQL窗口為直讀。
CnPlugin / Find All... 對(duì)當(dāng)前窗口容空查找指定的字符串,列出全部匹配內(nèi)容,支持正則表達(dá)式查找
CnPlugin / &Preferences CnPlugin插件屬性設(shè)置窗口
CnPlugin / &About' CnPlugin關(guān)于窗口右鍵菜單功能
Query data using alias 以字段注釋字符作為字段名拼出查詢SQL語句(選中表名出現(xiàn))
Open in new SQL Window 復(fù)制當(dāng)前窗口選中的SQL語句到新窗口中(選中字符串是出現(xiàn))
Execute in new SQL Window 復(fù)制當(dāng)前窗口選中的SQL語句到新窗口中并執(zhí)行語句(選中字符串是出現(xiàn))
Generate Word Documentation 導(dǎo)出當(dāng)前表結(jié)構(gòu)內(nèi)容至Word文檔(選中表名出現(xiàn))
無菜單功能
快捷鍵輸入功能:如輸入s空格,帶出'select * from ',支持光標(biāo)定位登錄時(shí)打開或執(zhí)行指定SQL文件
我常用的功能是Expaste功能,這個(gè)功能能把復(fù)制的文本自動(dòng)添加單引號(hào),這個(gè)功能非常實(shí)用。
執(zhí)行expaste粘貼后:
PL/SQL Developer啟動(dòng)時(shí)報(bào)錯(cuò):
"Control 'dxDockBrowserPanel' has no parent window"
出現(xiàn)原因:某次剛打開PL/SQL Developer 8.0.4,界面還沒有加載的時(shí)候,機(jī)器死機(jī)了,然后強(qiáng)行重啟,再打開PL/SQL Developer就報(bào)錯(cuò).
嘗試過的辦法:
1.重裝PL/SQL Developer7.1.5/8.0.2/8.0.4/9.0.2等多個(gè)版本均出現(xiàn)該問題;
2.系統(tǒng)還原也無效.
3.刪除C:\Users\用戶名\AppData\Roaming\PLSQL Developer的配置文件無效.
解決辦法:
刪除注冊(cè)表中的
HKEY_CURRENT_USER\Software\Allround Automations\PL/SQL Developer\Docking
也有可能是Docking1、Docking2、Docking3......
這種東西全刪掉就好了,然后打開OK
PLSQL Developer連接不上Win7 64位系統(tǒng)下安裝的Oracle11g64位的解決辦法
由于在本機(jī)Win7X64上安裝了64位的Oracle,結(jié)果試圖使用PLSQL Developer去訪問它的時(shí)候,報(bào)告說無法加載oci.dll文件。原來oci.dll是64位的,32位應(yīng)用程序PLSQL Developer自然無法加載了。
這個(gè)問題目前有3種解決辦法
1)安裝Oracle 11g 64位
2)安裝32位的Oracle客戶端( instantclient-basic-nt-11.2.0.2.0)
下載instantclient-basic-nt-11.2.0.2.0.zip (一定得是32位的,不要下錯(cuò)了版本,Oracle官網(wǎng)有下載),將其解壓至Oracle安裝目錄的Product下(里面默認(rèn)的文件夾名為:instantclient_11_2):D:\app\yeohcooller\product\instantclient_11_2。
拷貝數(shù)據(jù)庫安裝根目錄下的一個(gè)目錄D:\app\yeohcooller\product\11.2.0\dbhome_1\NETWORK到Oracle客戶端目錄下D:\app\yeohcooller\product\instantclient_11_2(其實(shí)只需要 NETWORK\ADMIN\tnsnames.ora)
3)安裝PL/SQL Developer
安裝 PL/SQL Developer,在perference->Connection里面設(shè)置OCI Library和Oracle_Home,例如本機(jī)設(shè)置為:
Oracle Home :D:\app\yeohcooller\product\instantclient_11_2
OCI Library :D:\app\yeohcooller\product\instantclient_11_2\oci.dll
接下來這步可選。
設(shè)置環(huán)境變量(修改PATH和TNS_ADMIN環(huán)境變量)
對(duì)于NLS_LANG環(huán)境變量, 最好設(shè)置成和數(shù)據(jù)庫端一致, 首先從數(shù)據(jù)庫端查詢字符集信息:
SQL> select userenv('language') nls_lang from dual;
NLS_LANG
----------------------------------------------------
SIMPLIFIED CHINESE_CHINA.ZHS16GBK
右擊"我的電腦" - "屬性" - "高級(jí)" - "環(huán)境變量" - "系統(tǒng)環(huán)境變量":
1>.選擇"Path" - 點(diǎn)擊"編輯", 把 "D:\app\yeohcooller\product\instantclient_11_2;" 加入;
2>.點(diǎn)擊"新建", 變量名設(shè)置為"TNS_ADMIN", 變量值設(shè)置為"D:\app\yeohcooller\product\instantclient_11_2;", 點(diǎn)擊"確定";
3>.點(diǎn)擊"新建", 變量名設(shè)置為"NLS_LANG", 變量值設(shè)置為"SIMPLIFIED CHINESE_CHINA.ZHS16GBK", 點(diǎn)擊"確定";
最后點(diǎn)擊"確定"退出.
這里需要注意oracle 的安裝目錄中不能包含空格
我自己解決的時(shí)候其實(shí)沒有這么麻煩:
1.下載instantclient-basic-nt-11.2.0.2.0(高版本也行,但是必須是32位的)到任意目錄,目錄不能含有空格
2.在客戶端目錄中新建一個(gè)批處理文件,文件內(nèi)容如下代碼所示,這里要把plsqldev的快捷方式加載到該目錄下,或者把該批處理文件加載到plsql developer 目錄中也行,以后直接運(yùn)行該批處理文件就可以了
@echo off
set path=D:\instantclient_12_1
set ORACLE_HOME=D:\instantclient_12_1
set TNS_ADMIN=C:\app\oracle\product\12.1.0\dbhome_1\NETWORK\ADMIN
set NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
start D:\instantclient_12_1\plsqldev
Windows 環(huán)境下有的時(shí)候需要設(shè)置ORACLE_HOME 的變量
在小麥苗云盤里下載PLSQL Developer_all_lhr_new.zip文件,解壓文件后,設(shè)置環(huán)境變量后即可使用(設(shè)置方法在里邊已經(jīng)提供),無需安裝,綠色版。
注意:不需要單獨(dú)下載instantclient文件,小麥苗的定制版里邊已經(jīng)包含了客戶端工具,包含sqlplus、sqlldr、exp、tnsping等工具,非常實(shí)用。
下載64位的 PL/SQL Developer。
小麥苗的云盤有下載。http://blog.itpub.net/26736162/viewspace-1624453/
如下,如果角色不能選擇的話,可能是OCI配置的問題:
配置里邊是否合適?如下是我的配置:
D:\Program files\app\oracle\product\11.2.0.1\dbhome_1
D:\Program files\app\oracle\product\11.2.0.1\dbhome_1\bin\oci.dll
該問題雖然不影響登錄,但是始終覺得欠缺點(diǎn)什么東西:
錯(cuò)誤登錄界面:
正確界面:
解決辦法:
設(shè)置TNS_ADMIN,查看系統(tǒng)環(huán)境變量是不是設(shè)置了TNS_ADMIN變量,且變量的值是到目錄名:
如下,正常的有錯(cuò)誤窗口:
而下邊的存儲(chǔ)過程沒有錯(cuò)誤窗口:
原因:其實(shí)很明顯了,就是存儲(chǔ)過程的名稱后邊的小括號(hào)應(yīng)該使用英文的,而不應(yīng)該使用中文括號(hào)。
About Me
...............................................................................................................................
● 本文作者:小麥苗,只專注于數(shù)據(jù)庫的技術(shù),更注重技術(shù)的運(yùn)用
● 本文在itpub(http://blog.itpub.net/26736162)、博客園(http://www.cnblogs.com/lhrbest)和個(gè)人微信公眾號(hào)(xiaomaimiaolhr)上有同步更新
● 本文itpub地址:http://blog.itpub.net/26736162/viewspace-2134628/
● 本文博客園地址:http://www.cnblogs.com/lhrbest/articles/6493218.html
● 本文pdf版及小麥苗云盤地址:http://blog.itpub.net/26736162/viewspace-1624453/
● QQ群:230161599 微信群:私聊
● 聯(lián)系我請(qǐng)加QQ好友(642808185),注明添加緣由
● 于 2016-11-28 10:00 ~ 2017-03-02 24:00 在泰興公寓完成
● 文章內(nèi)容來源于小麥苗的學(xué)習(xí)筆記,部分整理自網(wǎng)絡(luò),若有侵權(quán)或不當(dāng)之處還請(qǐng)諒解
● 版權(quán)所有,歡迎分享本文,轉(zhuǎn)載請(qǐng)保留出處
...............................................................................................................................
拿起手機(jī)使用微信客戶端掃描下邊的左邊圖片來關(guān)注小麥苗的微信公眾號(hào):xiaomaimiaolhr,掃描右邊的二維碼加入小麥苗的QQ群,學(xué)習(xí)最實(shí)用的數(shù)據(jù)庫技術(shù)。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。