亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 數據庫 > Oracle > 正文

Oracle Database 10 g : 為 DBA 提供的最佳前 20 位的特性(七)

2024-08-29 13:47:00
字體:
來源:轉載
供稿:網友
Oracle Database 10 g : 為 DBA 提供的最佳前 20 位的特性(七)  第 7 周
SQL*Plus 的成長 隨著 Oracle Database 10 g 的發布,這個小而強大的 DBA 工具有了一些引人注目的變化,包括有用的提示符和高級文件處理 數據庫治理員天天用得最多的工具是哪一個?對于許多象我一樣在 GUI 革命之前的數據庫治理員而言,一定是 SQL*Plus 命令行選件。 雖然隨著強大和功能豐富的 EnterPRise Manager 10 g 的引入, SQL*Plus 在 Oracle Database 10 g 中已經發生了一些變化,但這個普遍存在的小工具仍將繼續作為 Oracle 原有系統的一部分 — 對初學者和經驗豐富的數據庫治理員同樣適用。 在本部分中,我們將研究對 SQL*Plus 10.1.0 .2 所作的一些非常有用的改進。切記,要繼續下面的操作,您將需要 Oracle Database 10 g 軟件的 sqlplus 可執行程序,而不是運行在 10 g 數據庫上的 Oracle9 i Database sqlpuls 。 為粗心用戶提供的提示符 我在哪里,或我是誰?不,這不是對您精神的拷問;這是關于用戶在 SQL*Plus 環境的上下文中位于何處的問題。 SQL*Plus 中的默認提示符 — 簡單的 SQL> — 不指出用戶是誰,以及用戶作為什么連接。在早期的版本中,您必須進行一些麻煩的編碼來獲取變量,但現在不再需要這樣了。在 SQL*Plus 10.1.0 .2 中,您可以使用: set sqlprompt "_user _privilege> " SQL*Plus 提示符顯示為 SYS AS SYSDBA> 當然,假定用戶 SYS 是作為 SYSDBA 登錄的。注重兩個預先定義的非凡變量 — _user 和 _privilege — 的使用,它們定義了當前的用戶和登錄的權限。 讓我們再增加一些其它的功能:現在還想顯示今天的日期。我們需要做的就是用下面這些命令來使提示符顯示想得到的信息。 SQL> set sqlprompt "_user _privilege 'on' _date >" SYS AS SYSDBA on 06-JAN-04 > 再增加數據庫連接標識符怎么樣?您想知道您在 “ 什么樣 ” (在生產或開發中)的情況下,這種方法的確非常有幫助。 SQL> set sqlprompt "_user 'on' _date 'at' _connect_identifier >" ANANDA on 06-JAN-04 at SMILEY > 到目前為止還不錯;但我們可能想要以一種更具體的方式來顯示當前的日期(帶小時和分鐘),以更加有用。 ANANDA on 06-JAN-04 at SMILEY > alter session set nls_date_format = 'mm/dd/yyyy hh24:mi:ss';   Session altered.   ANANDA on 01/06/2004 13:03:51 at SMILEY > 問題解決了:輸入幾行命令就得到了能夠提供豐富信息的 SQL 提示符。將它保存在 glogin.sql 文件中,您就始終擁有這些特性。 必須使用引號嗎?為什么,不! 在 Oracle9 i 中取消了對內部登錄的支持之后,全世界許多 DBA 表示反對:他們應當如何在命令行上輸入 SYS 的口令并保持安全性?嗯,答案是在操作系統提示符中使用引號: sqlplus "/ as sysdba" 引號的使用令人遺憾,但還是被大家所接受(雖然有些怨言)。在 Oracle Database 10 g 中不需要這樣了?,F在您可以在 OS 命令提示符下,輸入以下命令,不需要引號 sqlplus / as sysdba 作為 SYSDBA 登錄。這種改進不僅意味著您少輸了兩個字符,還有一些額外的好處,例如在 Unix 之類的操作系統中不需要 escape 字符。 改進的文件處理 假設您在處理一個問題,并使用了一些自由格式的即席 SQL 語句。很明顯,它們很有用,您想把它們保存起來,以便將來使用。您會怎么做?您就可以把它們保存在各個文件中,如下所示: select something1 .... save 1 select something else .... save 2 select yet another thing .... save 3 等等。一段時間以后,您需要收集所有保存的文件,以便將來使用。多麻煩! SQL*Plus 10.1.0 .2 答應您將語句添加到文件中,進行保存。在前一個例子中,您可以使用:
select something1 .... save myscripts select something else .... save myscripts append select yet another thing .... save myscripts append 等等。所有的語句將添加到文件 myscripts.sql 中,從而不再需要保存在單獨的文件中,然后把它們連接成單個文件。 這種方法還適用于假脫機。在以前的版本中,命令 SPOOL RESULT.LST 將創建文件 result.lst (假如該文件不存在);但假如該文件已存在,則將覆蓋它,而沒有提示。這種行為經常(非凡在復雜環境下)可能導致不希望的邊緣效應,例如重要的輸出文件被覆蓋。在 10 g 中, spool 命令可以使文件內容附加在一個現有的文件后面: spool result.lst append 假如您想覆蓋它,那么該怎么做?簡單地省略 append 子句,或使用默認值 REPLACE 。以下命令將在寫操作之前檢查文件是否存在。 spool result.lst create Use another name or "SPOOL filename[.ext] REPLACE" 這種方法防止覆蓋文件 result.lst 。 Login.sql 是用于登錄的,是嗎? 記得文件 login.sql 和 glogin.sql 嗎?本來在任何時候當調用 SQL*Plus 時,都將運行當前目錄中的 login.sql 文件。但是,有一個嚴重的局限。在 Oracle9 i 和更低版本中,假定在文件中有下面這一行。 set sqlprompt "_connect_identifier >" 當您首先啟動 SQL*Plus 與數據庫 DB1 連接時,提示符顯示: DB1> 現在,假如您從提示符中與另一個數據庫 DB2 連接: DB1> connect scott/tiger@db2 Connected DB1> 注重提示符。雖然您現在和 DB2 連接在一起,但提示符仍是 DB1 ,。很明顯,提示符是不正確的。原因很簡單:在連接時沒有執行 login.sql 文件,只在 SQL*Plus 啟動時執行了該文件。后來的連接沒有重新執行該文件,使得提示符沒有改變。 在 Oracle Database 10 g 中,消除了該局限。文件 login.sql 不僅在 SQL*Plus 啟動時執行,而且在連接時也執行。因此在 10 g 中,假如您當前與數據庫 DB1 連接,后來改變了連接,則提示符將改變。 SCOTT at DB1> connect scott/tiger@db2 SCOTT at DB2> connect john/meow@db3 JOHN at DB3> 不希望改變! 假如由于某些原因,您不想使用這些增強的 SQL*Plus ,那該怎么辦?很簡單,用 -c 選項來調用它: sqlplus -c 9.2 SQL*Plus 環境將和舊的 9.2 版一樣運轉。 自由地使用 DUAL 您認為有多少開發人員(還有 DBA )經常使用這條命令? select USER into from DUAL 可能非常多。對 DUAL 的每次調用創建邏輯 I/O — 數據庫沒有邏輯 I/O 也可以工作。在某些情況下必須調用 DUAL ,如在行 := USER 中。因為 Oracle 代碼將 DUAL 當作一個專用的表,所以調整表的某些想法可能不適用或不貼切。 Oracle Database 10 g 使得所有這些擔心完全消失了:因為 DUAL 是一個專用的表,所以持續獲得顯著地減少了,并且與從事件 10046 跟蹤中看到的優化計劃不同。 在 Oracle9 i 中 Rows Execution Plan ------- --------------------------------------------------- 0 SELECT STATEMENT GOAL:CHOOSE 1 TABLE access (FULL) OF 'DUAL' 在 10 g 中 Rows Execution Plan ------- --------------------------------------------------- 0 SELECT STATEMENT MODE:ALL_ROWS 0 FAST DUAL   注重新的 FAST DUAL 優化計劃的使用,與 Oracle9 i 中的 DUAL 的 FULL TABLE SCAN 相反。這一改進顯著地減少了持續讀取,從而為頻繁使用 DUAL 表的應用程序帶來好處。 注重:從技術角度看,這些 DUAL 改進是在 SQL 優化器中實施的,但是,對許多用戶而言, SQL*Plus 是用于處理 SQL 的主要工具。 其它有用的信息 其它的 SQL*Plus 增強在本系列的其它地方進行了說明。例如,我在第 5 周關于閃回表的內容中說明了 RECYCLEBIN 的概念。 與一些流傳甚廣的傳言相反, COPY 命令仍然可用,雖然將在以后的版本中廢除。(嗯 …… ,我們不是在 Oracle9 i 中就聽到這個消息了嗎?)假如您有使用這條命令編寫的腳本,別沮喪,它不僅可用而且仍被支持。實際上,只錯誤消息報告方面作了一點改進。假如表有一個 LONG 列,則 COPY 是您創建表的備份的唯一方式,常見的 Create Table As Select 將不能處理帶 long 數據類型的列的表。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
成人在线视频网| 欧美又大粗又爽又黄大片视频| 2019中文字幕在线| 国产一区二区丝袜高跟鞋图片| 岛国av一区二区三区| 北条麻妃在线一区二区| 午夜精品在线视频| 成人情趣片在线观看免费| 国产精品美女呻吟| 国产成人免费av| 成人欧美一区二区三区黑人孕妇| 狠狠躁夜夜躁人人躁婷婷91| 中文字幕一精品亚洲无线一区| 91经典在线视频| 欧美放荡办公室videos4k| 69av在线视频| 亚洲国产高清高潮精品美女| 欧美成人sm免费视频| 精品女同一区二区三区在线播放| 亚洲美女av黄| 91精品国产高清久久久久久| 亚洲美女福利视频网站| 91在线视频成人| 国产综合视频在线观看| 中文字幕一区日韩电影| 精品日韩美女的视频高清| 欧美午夜宅男影院在线观看| 中文字幕国产亚洲2019| 欧美激情影音先锋| 不卡在线观看电视剧完整版| 日本久久精品视频| 久久精品国产一区二区电影| 欧美老女人在线视频| 国产精品电影久久久久电影网| 欧美成年人在线观看| 欧美美女15p| 色妞一区二区三区| 尤物99国产成人精品视频| 精品福利在线观看| 91香蕉国产在线观看| 日韩网站免费观看高清| 亚洲电影成人av99爱色| 亚洲高清免费观看高清完整版| 一本大道久久加勒比香蕉| 国产一区二区美女视频| 亚洲视频在线观看网站| 日韩欧美国产网站| 国产日韩精品一区二区| 久久亚洲成人精品| 欧洲美女7788成人免费视频| 韩国19禁主播vip福利视频| 久久精品99久久久香蕉| 亚洲精品少妇网址| 久久躁狠狠躁夜夜爽| 欧美日韩免费网站| 日韩精品在线观看视频| 亚洲国产精品人人爽夜夜爽| 亚洲色无码播放| 欧美国产精品人人做人人爱| 日韩中文字幕精品视频| 久久精品亚洲一区| 欧美体内谢she精2性欧美| 久久99亚洲热视| 久久国产精品电影| 国产日韩av在线播放| 国产精品丝袜一区二区三区| 亚洲综合在线播放| 欧美激情一区二区三区在线视频观看| 欧美wwwwww| 国产综合在线观看视频| 亚洲色图av在线| 9.1国产丝袜在线观看| 伊人精品在线观看| 国产成人综合久久| 精品久久久一区二区| 精品国产电影一区| 88xx成人精品| 美女撒尿一区二区三区| 日韩一区二区av| 久久天天躁日日躁| 欧美日韩爱爱视频| 国产999在线观看| 91av在线免费观看视频| 成人h视频在线观看播放| 亚洲欧美成人精品| 亚洲精品中文字| 在线一区二区日韩| 成人激情视频免费在线| 国产精品日韩电影| 亚洲伊人第一页| 日韩av在线免费看| 久久精品中文字幕| 91在线视频免费| 国产精品爽黄69天堂a| 亚洲开心激情网| 国产精品视频免费在线观看| 日韩在线激情视频| 欧洲成人性视频| 国产精品日韩专区| 国产精品高清在线| 成人精品一区二区三区电影免费| www欧美日韩| 日韩精品免费在线视频观看| 92福利视频午夜1000合集在线观看| 茄子视频成人在线| 日韩中文字幕第一页| 日本电影亚洲天堂| 精品伊人久久97| 92版电视剧仙鹤神针在线观看| 日韩美女免费视频| 亚洲永久免费观看| 性金发美女69hd大尺寸| 亚洲国产99精品国自产| 91精品国产综合久久香蕉的用户体验| 国产精品成人国产乱一区| 精品久久久久久久久久久久久| 久久精品国产91精品亚洲| 中文字幕日本精品| 欧美午夜无遮挡| 日本一欧美一欧美一亚洲视频| 3344国产精品免费看| 一区二区三区天堂av| 另类少妇人与禽zozz0性伦| 久久全球大尺度高清视频| 久久久久久97| 国产精品一区二区性色av| 77777亚洲午夜久久多人| 欧美性受xxxx黑人猛交| 国产精品都在这里| 成人综合网网址| 成人春色激情网| 欧美富婆性猛交| 欧美一区二区视频97| 在线成人中文字幕| 最好看的2019年中文视频| 日韩电影网在线| 成人精品在线视频| 亚洲国产精品久久久久久| 国内精品一区二区三区四区| 中文字幕视频在线免费欧美日韩综合在线看| 国内精品一区二区三区四区| 91精品国产91久久久久久吃药| 欧美电影免费在线观看| 丝袜一区二区三区| 欧美色videos| 日韩欧美在线视频免费观看| 91精品国产精品| 久久久久久久久网站| 日韩美女写真福利在线观看| 久久69精品久久久久久国产越南| 日av在线播放中文不卡| 人人澡人人澡人人看欧美| 亚洲成人av片在线观看| 亚洲黄色成人网| 久久中文字幕在线视频| 粉嫩老牛aⅴ一区二区三区| 日韩欧美精品网站| 中文字幕精品久久久久| 国产激情999| 国产精品偷伦免费视频观看的| 国产精品美女www爽爽爽视频| 国产91色在线播放| 国产99久久精品一区二区 夜夜躁日日躁| 日韩电影中文字幕一区|