2009年Josh Shaul Aaron Ingram編著圖書。
中文名稱 | Oracle安全實踐 | 定價 | 35.00元 |
---|---|---|---|
作者 | Josh Shaul Aaron Ingram | 出版日期 | 2009-1 |
ISBN | 9787030229632 |
我這有一篇關(guān)于SQL Server 2005 與Oracle 10g的比較的文章,是微軟工程師寫的,相信會對你很有幫助。 =======================================...
可以把備份數(shù)據(jù)導(dǎo)出dmp備份:1 將數(shù)據(jù)庫TEST完全導(dǎo)出,用戶名system 密碼manager 導(dǎo)出到D:\daochu.dmp中exp system/manager@TEST file=...
這幾本由淺入深地看: Oracle PL/SQL入門 Oracle PL/SQL 實例精解(原書第4版)、 Oracle Database 11g PLSQL 程序設(shè)計 精通Oracle10gSQL和...
格式:pdf
大?。?span id="mct6vvf" class="single-tag-height">318KB
頁數(shù): 1頁
評分: 4.4
記者湯銘 辭舊迎新之際,從Oracle公司傳來兩個消息。12月19日,中國印鈔造幣總公司與Oracle中國公司在北京舉行合作簽約儀式,正式啟動造幣總公司ERP三期工程。同時中國海洋石油有限公司與Oracle中國公司也在日前合作簽約實施能源行業(yè)ERP解決方案。 印鈔造幣是國家的特種行業(yè),特種行業(yè)的每一舉一動都牽動國家經(jīng)濟的脈搏。在國際化及產(chǎn)業(yè)結(jié)構(gòu)調(diào)整成為必然趨勢之時,特種行業(yè)如何而對新環(huán)境?如何在多元化的領(lǐng)域達到實現(xiàn)專業(yè)化經(jīng)
格式:pdf
大?。?span id="iabadn1" class="single-tag-height">318KB
頁數(shù): 1頁
評分: 4.7
隨著中國銀行業(yè)逐漸與國際接軌和國內(nèi)銀行的陸續(xù)上市,公司治理、風(fēng)險管理和法規(guī)遵從(以下簡稱GRC)已成為國內(nèi)銀行必須遵循和解決的問題,銀監(jiān)會要求國內(nèi)銀行在2010年必須要開始實施巴塞爾新協(xié)議,2013年為最后的期限。這就意味著國內(nèi)銀行只有僅僅3年的準備時間,國內(nèi)銀行將面臨著全方位地提高風(fēng)險管理能力和法規(guī)遵從能力。
Oracle一直致力于全文檢索技術(shù)的研究,當Oracle9i Rlease2發(fā)布之時,Oracle數(shù)據(jù)庫的全文檢索技術(shù)已經(jīng)非常完美,Oracle Text使Oracle9i具備了強大的文本檢索能力和智能化的文本管理能力。Oracle Text是Oracle9i采用的新名稱,在Oracle8/8i中它被稱作Oracle interMedia Text,在Oracle8以前它的名稱是Oracle ConText Cartridge。使用Oracle9i和Oracle Text,可以方便而有效地利用標準的SQL工具來構(gòu)建基于文本的新的開發(fā)工具或?qū)ΜF(xiàn)有應(yīng)用程序進行擴展。應(yīng)用程序開發(fā)人員可以在任何使用文本的Oracle數(shù)據(jù)庫應(yīng)用程序中充分利用Oracle Text搜索,應(yīng)用范圍可以是現(xiàn)有應(yīng)用程序中可搜索的注釋字段,也可是實現(xiàn)涉及多種文檔格式和復(fù)雜搜索標準的大型文檔管理系統(tǒng)。Oracle Text支持Oracle數(shù)據(jù)庫所支持的大多數(shù)語言的基本全文搜索功能。本文將介紹如何使用Oracle9i的全文檢索技術(shù)來為自己的應(yīng)用提供一個優(yōu)秀的解決方案。
這里先給出一個簡單示例說利用Oracle Text實現(xiàn)全文檢索的方法與步驟,在后面在進行具體的說明。Orcale9i提供了Oracle Text Manager可以簡化許多工作,所有在Oracle Text Manager中完成的工作,都可以在通過PL/SQL來實現(xiàn)。要使用Oracle Text,必須具有CTXAPP角色或者是CTXSYS用戶。Oracle Text為系統(tǒng)管理員提供CTXSYS用戶,為應(yīng)用程序開發(fā)人員提供CTXAPP角色。
CTXSYS用戶可執(zhí)行以下任務(wù):啟動Oracle Text服務(wù)器,執(zhí)行CTXAPP角色的所有任務(wù)。
具有CTXAPP角色的用戶可執(zhí)行以下任務(wù):創(chuàng)建索引,管理 Oracle Text 數(shù)據(jù)字典,包括創(chuàng)建和刪除首選項,進行Oracle Text 查詢,使用 Oracle Text PL/SQL程序包。
使用Oracle Text的步驟:
⑴創(chuàng)建表來保存某些文檔。該示例使用一個主關(guān)鍵字列來標識每個文檔,使用一個小的VARCHAR2列來保存每個文檔。
CREATE TABLE docs (id NUMBER PRIMARY KEY,text VARCHAR2(80));
⑵將兩個示例文檔置入該表:
INSERT INTO docs VALUES (1,'the first doc');
INSERT INTO docs VALUES (2,'the second doc');
COMMIT;
⑶使用Oracle Text Manager來創(chuàng)建和修改首選項,首選項將與索引相關(guān)聯(lián)。
⑷使用Oracle Text Manager創(chuàng)建文本索引。另外,可以輸入以下使用默認首選項的 SQL 語句:
CREATE INDEX doc_index ON docs(text) INDEXTYPE IS CTXSYS.CONTEXT;
⑸使用 CONTAINS 函數(shù),發(fā)出基于內(nèi)容的文檔查詢。例如:
SELECT id FROM docs WHERE CONTAINS (text,'first') > 0;
這將在文本列包含單詞 first (即文檔1) 的 docs 中查找所有行。語句中的>0部分是有效的Oracle SQL所必需的,Oracle SQL不支持函數(shù)的布爾返回值。
以上只是一個簡單的示例,旨在給出使用Oracle Text建立全文索引的完整步驟,歸納起來如下:
⑴建表并裝載文本(包含帶有需要檢索的文本字段)
⑵配置索引
⑶建立索引
⑷發(fā)出查詢
⑸索引維護:同步與優(yōu)化(將在后面介紹)
索引建好后,如果表中的數(shù)據(jù)發(fā)生變化,比如增加或修改了記錄,怎么辦?由于對表所發(fā)生的任何DML語句,都不會自動修改索引,因此,必須定時同步(sync)和優(yōu)化(optimize)索引,以正確反映數(shù)據(jù)的變化。
在索引建好后,可以在該用戶下查到Oracle自動產(chǎn)生了以下幾個表:(假設(shè)索引名為myindex):
DR$myindex$I,DR$myindex$K,DR$myindex$R,DR$myindex$N
其中以I表最重要,可以查詢一下該表:
select token_text,token_count from DR$ myindex $I where rownum<=20;
查詢結(jié)果在此省略??梢钥吹?,該表中保存的其實就是Oracle 分析你的文檔后,生成的term記錄
在這里,包括term出現(xiàn)的位置、次數(shù)、hash值等。當文檔的內(nèi)容改變后,可以想見這個I表的內(nèi)容也應(yīng)該相應(yīng)改變,才能保證Oracle在做全文檢索時正確檢索到內(nèi)容(因為所謂全文檢索,其實核心就是查詢這個表)。那么如何維護該表的內(nèi)容,不能每次數(shù)據(jù)改變都重新建立索引,這就要用到sync 和 optimize了。
同步(sync):將新的term 保存到I表;
優(yōu)化(optimize):清除I表的垃圾,主要是將已經(jīng)被刪除的term從I表刪除。
Oracle提供了一個所謂的ctx server來做這個同步和優(yōu)化的工作,只需要在后臺運行這個進程,它會監(jiān)視數(shù)據(jù)的變化,及時進行同步。另外,也可以用以下的job來完成(該job要建在和表同一個用戶下):
create or replace procedure sync
is
begin
execute immediate
'alter index myindex rebuild online' ||
' parameters (''sync'')' ;
execute immediate
'alter index myindex rebuild online' ||
' parameters (''optimize full maxtime unlimited'')' ;
end sync;
/
Set ServerOutput on
declare
v_job number;
begin
Dbms_Job.Submit
(
job => v_job,
what => 'sync;',
next_date => sysdate,/* default */
interval => 'sysdate + 1/720' /* = 1 day / (24 hrs * 30 min) = 2 mins */
);
Dbms_Job.Run (v_job);
Dbms_Output.Put_Line ('Submitted as job # ' || to_char (v_job));
end;
/
job的SYSDATE + (1/720)是指每隔2分鐘同步一次。具體的時間間隔,可以根據(jù)自己的應(yīng)用的需要而定。