將連接設(shè)成非自動(dòng)提交就可以,你所有的操作都是在數(shù)據(jù)庫的內(nèi)存里。

我們提供的服務(wù)有:網(wǎng)站設(shè)計(jì)制作、成都網(wǎng)站建設(shè)、微信公眾號(hào)開發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認(rèn)證、建水ssl等。為上1000+企事業(yè)單位解決了網(wǎng)站和推廣的問題。提供周到的售前咨詢和貼心的售后服務(wù),是有科學(xué)管理、有技術(shù)的建水網(wǎng)站制作公司
如果是10g,那么修改參數(shù),sga_target,和sga_maxsize以及pga_xxxxx(具體的名字忘記了,自己show parameter pga查一下)
修改語句舉例:alter system set sga_target=xxxxx;scope=spfile;全部修改后重起數(shù)據(jù)庫。
如果是11g,那么是修改參數(shù)memory_target.修改參數(shù)一致。
如果是linux系統(tǒng),還要修改操作系統(tǒng)文件system文件(操作系統(tǒng)不同,該文件名稱也不同),其中有一個(gè)值,最好改一下,不過要停庫后修改。(不改也可以)
在Oracle9i里,Oracle提供了一個(gè)內(nèi)部事件,用以強(qiáng)制刷新Buffer Cache。
其語法為:
alter session set events 'immediate trace name flush_cache level 1';
或者:
alter session set events = 'immediate trace name flush_cache';
類似的也可以使用alter system系統(tǒng)級(jí)設(shè)置:
alter system set events = 'immediate trace name flush_cache';
在Oracle10g中,Oracle提供一個(gè)新的特性,可以通過如下命令刷新Buffer Cache:
alter system flush buffer_cache;
調(diào)大sga此時(shí)數(shù)據(jù)庫需要是在關(guān)閉狀態(tài),由于sga不是動(dòng)態(tài)參數(shù),所以我們需要修改init$ORACLE_SID.ORA的中sga的大小
(1)首先創(chuàng)建參數(shù)文件,這是為了保持和服務(wù)器參數(shù)文件一致SQLcreate pfile from spfile;
(2)修改init$ORACLE_SID.ORA中對(duì)應(yīng)的sga_max_size大小
(3)創(chuàng)建服務(wù)器參數(shù)文件SQLcreate spfile from pfile;
(4)啟動(dòng)數(shù)據(jù)庫 修改db_cache_size的大小
SQL alter system set db_cache_size=25165824 scope=both;
System altered.
修改完畢。
ASP.NET 中的緩存提供了對(duì)SQL依賴項(xiàng)的支持,也就是說當(dāng)SQL SERVER數(shù)據(jù)庫中的表或行中的數(shù)據(jù)被更改后,緩存中的頁面就失效,否則,頁面輸出可一直保留在緩存當(dāng)中。這確實(shí)為程序員提供了方便。但微軟一向很小家子氣,只為使用自家產(chǎn)品SQL SERVER的程序員提供了方便,那些用Oracle數(shù)據(jù)庫的ASP.NET程序員怎么辦呢?
其實(shí)不用著急,因?yàn)锳SP.NET中的緩存還提供了對(duì)文件依賴項(xiàng)的支持,也就是緩存依賴于某個(gè)文件,該文件被修改后,緩存中的頁面就失效。只要巧妙利用ASP.NET的文件依賴項(xiàng)緩存策略和Oracle中的觸發(fā)器,就可輕松實(shí)現(xiàn)依賴Oracle的緩存策略。思路很簡單,先將頁面的緩存策略設(shè)置為依賴某一個(gè)文件,再為Oracle中需要依賴的表添加一個(gè)觸發(fā)器,當(dāng)表中的數(shù)據(jù)被更改時(shí),修改緩存所依賴的文件中的內(nèi)容。
下面以一個(gè)小例子來具體說明:
試驗(yàn)?zāi)康?Default.aspx頁面的緩存依賴于Oracle數(shù)據(jù)庫中SCOTT用戶的DEPT表,該表中數(shù)據(jù)被更改后,緩存中的頁面失效。緩存的過期時(shí)間為120秒。
一、設(shè)置網(wǎng)站頁面的緩存依賴于文件TextFile.txt詳見System.Web.Caching.Cache類 Asp.NET緩存 各種緩存依賴二、在Oracle數(shù)據(jù)庫中創(chuàng)建觸發(fā)器
1、觸發(fā)器被觸發(fā)時(shí)執(zhí)行PL/SQL代碼塊。PL/SQL代碼塊直接讀寫操作系統(tǒng)中的文件,需調(diào)用內(nèi)置的utl_file程序包。這需要先修改Oracle的初始化參數(shù)文件INIT.ORA,在其中添加參數(shù)utl_file_dir,來指定文件的目錄。修改INIT.ORA文件后,需重啟Oracle數(shù)據(jù)庫,設(shè)置的參數(shù)才能生效。
在INIT.ORA文件中添加下面一行內(nèi)容:
utl_file_dir='E:/CSharp/CacheByOracleDependncy'
也可以設(shè)置為utl_file_dir=*,不指定具體目錄,即任何目錄都可以。
如果是Oracle 9i數(shù)據(jù)庫,還有一種方法也能起到同樣的作用:在sys用戶下創(chuàng)建一個(gè)directory目錄(實(shí)際上是在sys用戶下的dir$表中增加一個(gè)對(duì)應(yīng)的OS_PATH),然后將對(duì)該directory對(duì)象的讀/寫操作的權(quán)限grant給public。
[sql] view plain copy
create or replace directory FILEPATH as 'E:/CSharp/CacheByOracleDependncy';grant read on directory FILEPATH to public;這里我使用的是第二種方法。
2、為所依賴的表(SCOTT用戶的DEPT表)創(chuàng)建一個(gè)觸發(fā)器:當(dāng)DEPT表中的數(shù)據(jù)更改后,觸發(fā)器就會(huì)將當(dāng)前系統(tǒng)時(shí)間寫入TextFile.txt文件中。
[sql] view plain copy
CREATE OR REPLACE TRIGGER
"SCOTT"."TEST_CACHE_BY_ORACLE_DEPENDNCY" AFTERINSERT
OR UPDATE
OR DELETE OF "DEPTNO", "DNAME", "LOC" ON "SCOTT"."DEPT" DECLAREfile_handle utl_file.file_type;
BEGIN
--打開文件
file_handle := utl_file.fopen('FILEPATH','TextFile.txt','w');--將當(dāng)前系統(tǒng)時(shí)間寫入文件
IF utl_file.is_open(file_handle) THEN
utl_file.put_line(file_handle,to_char(SYSDATE,'yyyy-mm-dd hh24:mi:ss'));END IF;
--關(guān)閉文件
utl_file.fclose(file_handle);
EXCEPTION
WHEN OTHERS THEN
BEGIN
IF utl_file.is_open(file_handle) THEN
utl_file.fclose(file_handle);
END IF;
EXCEPTION
WHEN OTHERS THEN
NULL;
END;
END;
如果應(yīng)用服務(wù)器和數(shù)據(jù)庫服務(wù)器不是同一臺(tái)服務(wù)器可能會(huì)遇到項(xiàng)目無法成功訪問文件進(jìn)行依賴的情況:
解決方法詳見ASP.Net訪問網(wǎng)絡(luò)驅(qū)動(dòng)器(映射磁盤)
分享標(biāo)題:python如何定義函數(shù),python如何定義函數(shù)畫雨滴
分享路徑:http://chinadenli.net/article22/dsepocc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供App開發(fā)、網(wǎng)站設(shè)計(jì)、ChatGPT、自適應(yīng)網(wǎng)站、做網(wǎng)站、動(dòng)態(tài)網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)