真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

oracle怎么自動整理,Oracle設(shè)置自動提交

c#+oracle如何實(shí)現(xiàn)檔案自動歸檔

兩種方法:

創(chuàng)新互聯(lián)專注于網(wǎng)站建設(shè),為客戶提供成都網(wǎng)站設(shè)計、做網(wǎng)站、網(wǎng)頁設(shè)計開發(fā)服務(wù),多年建網(wǎng)站服務(wù)經(jīng)驗(yàn),各類網(wǎng)站都可以開發(fā),品牌網(wǎng)站制作,公司官網(wǎng),公司展示網(wǎng)站,網(wǎng)站設(shè)計,建網(wǎng)站費(fèi)用,建網(wǎng)站多少錢,價格優(yōu)惠,收費(fèi)合理。

1、插入之前,把檔案盒這個表格生成datatable,然后就可以用C#對datatable里面的ARCHIVES_ID,FILE_ID值進(jìn)行調(diào)整,生成最終的datatable之后用SqlBulkCopy批量處理插入oracle

2、在oracle里面寫存儲過程,對每一行插入的數(shù)據(jù)的ARCHIVES_ID,FILE_ID進(jìn)行處理,得到你想要的值

oracle數(shù)據(jù)庫放的硬盤空間滿了..怎么才能釋放出點(diǎn)垃圾文件,.比如日志什么的

首先不知道你的數(shù)據(jù)庫在什么系統(tǒng)下:

window:

找到數(shù)據(jù)文件存放的位置,比如D:\存放的是oracle的數(shù)據(jù)文件,如果表空間采用的是自動管理方式,考慮將一些數(shù)據(jù)文件移到其他盤符下,比如:e:\等

linux/unix

du -sk * 查看oracle數(shù)據(jù)庫相關(guān)文件夾下每個文件的空間使用情況,刪除垃圾文件

如果沒有垃圾文件,嘗試整理表空間,可以釋放一些空間,只是暫時解決文件

增加裸設(shè)備

如果使用asm的方式管理的,考慮將asm里增加pv。

以上,希望能幫助你!

oracle如何將表的歷史數(shù)據(jù)歸檔

歸檔日志(ArchiveLog)是非活動的重做日志備份.通過使用歸檔日志,可以保留所有重做歷史記錄,當(dāng)數(shù)據(jù)庫處于ARCHIVELOG模式并進(jìn)行日志切換式,后臺進(jìn)程ARCH會將重做日志的內(nèi)容保存到歸檔日志中.當(dāng)數(shù)據(jù)庫出現(xiàn)介質(zhì)失敗時,使用數(shù)據(jù)文件備份,歸檔日志和重做日志可以完全恢復(fù)數(shù)據(jù)庫.

日志操作模式:ARCHIVELOGNOARCHIVELOG

1,改變?nèi)罩静僮髂J?

檢查當(dāng)前日志操作模式

SELECTlog_modefromv$database;

關(guān)閉數(shù)據(jù)庫,然后裝載數(shù)據(jù)庫

SHUTDOWNIMMEDIATE

STARTUPMOUNT

改變?nèi)罩静僮髂J?然后打開數(shù)據(jù)庫

ALTERDATABASEARCHIVELOG;

ALTERDATABASEOPEN;

2,執(zhí)行手工歸檔

從oracledatabase10g開始,當(dāng)將日志操作模式轉(zhuǎn)變未ARCHIVELOG模式時,oracle會自動啟動ARCH進(jìn)程.如果要使用手工歸檔.那么在改變?nèi)罩静僮髂J綍r必須使用命令A(yù)LTERDATABASEARCHIVELOGMANUAL.

需要注意,使用手工歸檔方式,數(shù)據(jù)庫管理員必須手工執(zhí)行歸檔命令.如果沒有執(zhí)行手工歸檔命令,日志組的原有內(nèi)容將不能被覆蓋.ALTERDATABASEARCHIVELOGMANUAL命令是為了與先前的版本兼容而保留的,.將來的oracle版本會淘汰該命令,使用手工歸檔方式是,數(shù)據(jù)庫管理員可以執(zhí)行以下命令歸檔重做日志:

SLTERSYSTEMARCHIVELOGALL;

3,配置歸檔進(jìn)程

初始化參數(shù)LOG_ARCHIVE_MAX_PROCESSES用于指定例程初始啟動的最大歸檔進(jìn)程個數(shù),當(dāng)將數(shù)據(jù)庫轉(zhuǎn)變?yōu)锳RCHIVELOG模式時,默認(rèn)情況下oracle會自動啟動兩個歸檔進(jìn)程.通過改變初始化參數(shù)LOG_ARCHIVE_MAX_PROCESS的值,可以動態(tài)地增加或降低歸檔進(jìn)程的個數(shù):

ALTERSYSTEMSETLOG_ARCHIVE_MAX_PROCESSES=3;

配置歸檔位置和文件格式

當(dāng)數(shù)據(jù)庫處于ARCHIVELOG模式時,如果進(jìn)行日志切換,后臺進(jìn)程將自動生成歸檔日志,歸檔日志的默認(rèn)位置為%oracle_home%rdbms,在oracledatabase10g中,歸檔日志的默認(rèn)文件格式為ARC%S_%R.%T.為了改變歸檔日志的位置和名稱格式,必須改變相應(yīng)的初始化參數(shù),

1,初始化參數(shù)LOG_ARCHIVE_FORMAT用于指定歸檔日志的文件名格式,設(shè)置該初始化參數(shù)時,可以指定以下匹配符:

%s:日志序列號:

%S:日志序列號(帶有前導(dǎo)0)

%t:重做線程編號.

%T:重做線程編號(帶有前導(dǎo)0)

%a:活動ID號

%d:數(shù)據(jù)庫ID號

%rRESETLOGS的ID值.

從10g開始,配置歸檔日志文件格式時,必須帶有%s,%t和%r匹配符,配置了歸檔文件格式后,必須重啟數(shù)據(jù)庫.

2,使用LOG_ARCHIVE_DEST配置歸檔位置

如果不使用備用數(shù)據(jù)庫,只需要將歸檔日志存放到本地目錄.配置本地歸檔位置可以使用初始化參數(shù)LOG_ARCHIVE_DEST和LOG_ARCHIVE_DUPLEX_DEST,其中,第一個參數(shù)用于設(shè)置第一個歸檔位置,第二個參數(shù)用于指定第二個歸檔位置.

ALTERSYSTEMSETlog_archive_dest=’d:demoarchive1’;

ALTERSYSTEMSETlog_archive_duplex_dest=’d:demoarchive2’;

3,使用LOG_ARCHIVE_DEST_n配置多個歸檔位置.

初始化參數(shù)LOG_ARCHIVE_DEST_n用于指定多個歸檔位置,該參數(shù)最多可以指定10個歸檔位置.通過使用初始化參數(shù)LOG_ARCHIVE_DEST_n,不僅可以配置本地歸檔位置,還可以配置遠(yuǎn)程歸檔位置.

如果既要在主節(jié)點(diǎn)上生成歸檔日志,又要將歸檔日志傳遞到備用節(jié)點(diǎn),那么必須使用參數(shù)LOG_ARCHIVE_DEST_n.該參數(shù)與LOG_ARCHIVE_DEST具有如下區(qū)別;

初始化參數(shù)LOG_ARCHIVE_DEST_n可以配置本地歸檔位置和遠(yuǎn)程歸檔位置,而初始化參數(shù)LOG_ARCHIVE_DEST和LOG_ARCHIVE_DUPLEX_DEST只能配置本地歸檔位置.

初始化參數(shù)LOG_ARCHIVE_DEST_n可以配置多達(dá)10個歸檔位置,而初始化參數(shù)LOG_ARCHIVE_DEST和LOG_ARCHIVE_DUPLEX_DEST最多只能配置兩個歸檔位置.

初始化參數(shù)LOG_ARCHIVE_DEST_n不能與初始化參數(shù)LOG_ARCHIVE_DEST和LOG_ARCHIVE_DUPLEX_DEST同時使用.

因?yàn)槌跏蓟瘏?shù)LOG_ARCHIVE_DEST_n不能與初始化參數(shù)LOG_ARCHIVE_DEST和LOG_ARCHIVE_DUPLEX_DEST同時使用,所以必須禁用初始化參數(shù)LOG_ARCHVE_DEST和LOG_ARCHIVE_DUPLEX_DEST.當(dāng)使用初始化參數(shù)LOG_ARCHIVE_DEST_n配置本地歸檔位置時,需要指定LOCALTION選項(xiàng).當(dāng)配置遠(yuǎn)程歸檔位置時,需要指定SERVICE選項(xiàng).

示例如下:

ALTERSYSTEMSETlog_archive_duplex_dest=’’;

ALTERSYSTEMSETlog_archive_dest=’’;

ALTERSYSTEMSETlog_archive_dest_1=’location=d:demoarchive1’;

ALTERSYSTEMSETlog_archive_dest_2=’location=d:demoarchive2’;

ALTERSYSTEMSETlog_archive_dest_3=’location=d:demoarchive3’;

ALTERSYSTEMSETlog_archive_dest_4=’service=standby’;

配置遠(yuǎn)程歸檔位置時,SERVICE選項(xiàng)需要指定遠(yuǎn)程數(shù)據(jù)庫的網(wǎng)絡(luò)服務(wù)名(在tnsnames.ora文件中配置)

4,使用LOG_ARCHIVE_DEST_n選項(xiàng)

使用初始化參數(shù)LOG_ARCHIVE_DEST_n配置歸檔位置時,可以在歸檔位置上指定OPTIONAL或MANDATORY選項(xiàng).指定MANDATORY選項(xiàng)時,可以設(shè)置REOPEN屬性.

OPTIONAL:該選項(xiàng)是默認(rèn)選項(xiàng).使用該選項(xiàng)時,無論歸檔是否成功,都可以覆蓋重做日志.

MANDATORY:強(qiáng)制歸檔.使用該選項(xiàng)時,只有在歸檔成功之后,重做日志才能被覆蓋.

REOPEN:該屬性用于指定重新歸檔的時間間隔,默認(rèn)值為300秒,必須跟在MANDATORY后.

例:

Altersystemsetlog_archive_dest_1=’location=d:demoarchive1mandatory’;

Altersystemsetlog_archive_dest_2=’location=d:demoarchive2mandatoryreopen=500’;

Altersystemsetlog_archive_dest_3=’location=d:demoarchive3optional’;

5,控制本地歸檔成功的最小個數(shù).

使用初始化參數(shù)LOG_ARCHIVE_MIN_SUCCEED_DEST控制本地歸檔的最小成功個數(shù)

Altersystemsetlog_archive_min_succeed_dest=2;

6,使用初始化參數(shù)LOG_ARCHIVE_DEST_STATE_n控制歸檔位置的可用性.設(shè)置該參數(shù)為ENABLE(默認(rèn)值),表示會激活相應(yīng)的歸檔位置;設(shè)置該參數(shù)為DEFER,表示禁用相應(yīng)歸檔位置.當(dāng)歸檔日志所在磁盤損壞或填滿時,DBA需要暫時禁用該歸檔位置.

Altersystemsetlog_archive_dest_state_3=defer;(禁用)

Altersystemsetlog_archive_dest_state_3=enable;(啟用)

顯示歸檔日志信息

1,使用ARCHIVELOGLIST命令可以顯示日志操作模式,歸檔位置,自動歸檔機(jī)器要?dú)w檔的日志序列號等信息.

2顯示日志操作模式

SELECTname,log_modeFROMv$database;

3,顯示歸檔日志信息.

Colnameformata40

Selectname,swquence#,first_change#FROMv$archived_log;

Name用于表示歸檔日志文件名,sequence#用于表示歸檔日志對應(yīng)的日志序列號,firs_change#用于標(biāo)識歸檔日志的起始SCN值.

4執(zhí)行介質(zhì)恢復(fù)時,需要使用歸檔日志文件,此四必須準(zhǔn)確定位歸檔日志的存放位置.通過查詢動態(tài)性能視圖v$archive_dest可以取得歸檔日志所在目錄.

SELECTdestinationFROMv$archivedest;

5,顯示日志歷史信息

SELECT*FROMv$loghist;

THREAD#用于標(biāo)識重做線程號,SEQUNCE#用于標(biāo)識日志序列號,FIRST_CHANGE#用于標(biāo)識日志序列號對應(yīng)的起始SCN值,FIRST_TIME用于標(biāo)識起始SCN的發(fā)生時間.SWICTH_CHANGE#用于標(biāo)識日志切換的SCN值.

6.顯示歸檔進(jìn)程信息.

進(jìn)行日志切換時,ARCH進(jìn)程會自動將重做日志內(nèi)容復(fù)制到歸檔日志中,為了加快歸檔速度,應(yīng)該啟用多個ARCH進(jìn)程.通過查詢動態(tài)性能視圖V$ARCHIVE_PROCESSES可以顯示所有歸檔進(jìn)程的信息!

SELECT*FROMv$archive_processes;

Porcess用于標(biāo)識ARCH進(jìn)程的編號,status用于標(biāo)識ARCH進(jìn)程的狀態(tài)(ACTIVE:活動,STOPPED:未啟動),log_sequence用于標(biāo)識正在進(jìn)行歸檔的日志序列號,state用于標(biāo)識ARCH進(jìn)程的工作狀態(tài)

oracle管理(十八)數(shù)據(jù)文件整理

online redo log file:

查看redo日志組:

select * from v$log;

查看redo日志文件:

select * from v$logfile;

/app/oracle/oradata/orcl/redo01.log

/app/oracle/oradata/orcl/redo02.log

/app/oracle/oradata/orcl/redo03.log

修改:

shutdown immediate

startup mount

mv /app/oracle/oradata/orcl/redo01.log /home/oradata/orcl/redo01.log

mv /app/oracle/oradata/orcl/redo02.log /home/oradata/orcl/redo02.log

mv /app/oracle/oradata/orcl/redo03.log /home/oradata/orcl/redo03.log

alter database rename file '/app/oracle/oradata/orcl/redo01.log' to '/home/oradata/orcl/redo01.log';

alter database rename file '/app/oracle/oradata/orcl/redo02.log' to '/home/oradata/orcl/redo02.log';

alter database rename file '/app/oracle/oradata/orcl/redo03.log' to '/home/oradata/orcl/redo03.log';

alter database open;

驗(yàn)證redo日志文件:

select * from v$logfile;

====================================

data file:

查看

select file_name from dba_data_files;

select file_name from dba_temp_files;

修改:

shutdown immediate

startup mount

mv /app/oracle/oradata/orcl/users01.dbf

mv /app/oracle/oradata/orcl/undotbs01.dbf

mv /app/oracle/oradata/orcl/sysaux01.dbf

mv /app/oracle/oradata/orcl/system01.dbf

mv /app/oracle/oradata/orcl/temp01.dbf

alter database rename file '/app/oracle/oradata/orcl/users01.dbf' to '/home/oradata/orcl/users01.dbf' ;

alter database rename file '/app/oracle/oradata/orcl/undotbs01.dbf' to '/home/oradata/orcl/undotbs01.dbf' ;

alter database rename file '/app/oracle/oradata/orcl/sysaux01.dbf'

alter database rename file '/app/oracle/oradata/orcl/system01.dbf'

alter database rename file '/app/oracle/oradata/orcl/temp01.dbf'

alter database open;

驗(yàn)證:

select file_name from dba_data_files;

select file_name from dba_temp_files;

===========================

control file:

查看:

show parameter control_files

shutdown immediate

create pfile from spfile;

修改initorcl.ora里面的control_files='/home/oradata/control01.ctl'

mv /app/oracle/oradata/orcl/control01.ctl /home/oradata/control01.ctl

rm -f /app/oracle/fast_recovery_area/orcl/control02.ctl

create spfile from pfile;

alter database mount;

alter database open;

驗(yàn)證:

show parameter control_files

oracle碎片整理求助

一. 碎片是如何產(chǎn)生的

當(dāng)創(chuàng)建一個數(shù)據(jù)庫實(shí)例時,會分成稱為表空間(tablespace)的多個邏輯段(segment),如系統(tǒng)(system)表空間,臨時(temporary)表空間等。一個表空間可以包含多個數(shù)據(jù)范圍(extent)和一個或多個自由范圍塊,即自由空間(free space)。

表空間、段、范圍、自由空間的邏輯關(guān)系如下:

當(dāng)表空間中生成一個段時,將從表空間有效自由空間中為這個段的初始范圍分配空間。在這些初始范圍充滿數(shù)據(jù)時,段會請求增加另一個范圍。這樣的擴(kuò)展過程會一直繼續(xù)下去,直到達(dá)到最大的范圍值,或者在表空間中已經(jīng)沒有自由空間用于下一個范圍。

最理想的狀態(tài)就是一個段的數(shù)據(jù)可被存在單一的一個范圍中。這樣,所有的數(shù)據(jù)存儲時靠近段內(nèi)其它數(shù)據(jù),并且尋找數(shù)據(jù)可少用一些指針。但是一個段包含多個范圍的情況是大量存在的,沒有任何措施可以保證這些范圍是相鄰存儲的。 當(dāng)要滿足一個空間要求時,數(shù)據(jù)庫不再合并相鄰的自由范圍(除非別無選擇), 而是尋找表空間中最大的自由范圍來使用。這樣將逐漸形成越來越多的離散的、分隔的、較小的自由空間,即碎片。

表空間(tableSpace) 段(segment) 盤區(qū)(extent) 塊(block) 關(guān)系

二. 碎片對系統(tǒng)的影響

2.1 導(dǎo)致系統(tǒng)性能減弱

如上所述,當(dāng)要滿足一個空間要求時,數(shù)據(jù)庫將首先查找當(dāng)前最大的自由范圍,而"最大"自由范圍逐漸變小,要找到一個足夠大的自由范圍已變得越來越困難,從而導(dǎo)致表空間中的速度障礙,使數(shù)據(jù)庫的空間分配愈發(fā)遠(yuǎn)離理想狀態(tài);

2.2 浪費(fèi)大量的表空間

部分extent無法得以自動合并,浪費(fèi)了大量的表空間。

三. 自由范圍的碎片計算

由于自由空間碎片是由幾部分組成,如范圍數(shù)量、最大范圍尺寸等,我們可用FSFI(free space fragmentation index:自由空間碎片索引)值來直觀體現(xiàn):

FSFI=100*sqrt(max(extent)/sum(extents))*1/sqrt(sqrt(count(extents)))

可以看出,F(xiàn)SFI的最大可能值為100(一個理想的單文件表空間)。隨著范圍的增加,F(xiàn)SFI值緩慢下降,而隨著最大范圍尺寸的減少,F(xiàn)SFI值會迅速下降。

可以使用如下SQL可以用來計算FSFI值:

/* Formatted on 2011/01/27 14:12:43 (QP5 v5.115.810.9015) */

SELECT tablespace_name,

SQRT (MAX (blocks) / SUM (blocks))

* (100 / SQRT (SQRT (COUNT (blocks))))

FSFI

FROM dba_free_space

GROUP BY tablespace_name

ORDER BY 1;

比如,在某數(shù)據(jù)庫運(yùn)行上面SQL,得到以下FSFI值:

TABLESPACE_NAME FSFI

------------------------------ ----------

QS_OA 54.3794714

RBS 59.4603558

SYSAUX 84.0138802

SYSTEM 70.5946502

UNDOTBS1 20.0110492

USERS 100

XEZF 6.52482383 --碎片較多

XEZF_INDEX 32.1055286

8 rows selected.

四. 碎片整理

4.1 盤區(qū)(extent)的碎片整理

使用命令: alter tablespace temp coalesce;

/* Formatted on 2011/01/27 14:23:46 (QP5 v5.115.810.9015) */

SELECT 'alter tablespace ' || TABLESPACE_NAME || ' coalesce ;'

FROM DBA_FREE_SPACE_COALESCED

WHERE PERCENT_EXTENTS_COALESCED 100 OR PERCENT_BLOCKS_COALESCED 100;

4.2 段(segment)的碎片整理

段由extent組成。在有些情況下,有必要對段的碎片進(jìn)行整理。要查看段的有關(guān)信息,可查看數(shù)據(jù)字典dba_segments,segment的信息可查看數(shù)據(jù)字典dba_extents。

段可以有表段,索引段等。 每種段都可以碎片的整理。

(1)表段碎片整理

如果段的碎片過多, 將其數(shù)據(jù)壓縮到一個范圍的最簡單方法便是用正確的存儲參數(shù)將這個段重建,然后將舊表中的數(shù)據(jù)插入到新表,同時刪除舊表。這個過程可以用import/export工具來完成。

export命令有一個(壓縮)標(biāo)志,這個標(biāo)志在讀表時會引發(fā)export確定該表所分配的物理空間量,它會向輸出轉(zhuǎn)儲文件寫入一個新的初始化存儲參數(shù)--等于全部所分配空間。若這個表關(guān)閉, 則使用import命令重新生成。這樣,它的數(shù)據(jù)會放入一個新的、較大的初始段中。例如:

exp user/password file=exp.dmp compress=y

grants=y indexes=y tables=(table1,table2);

導(dǎo)出成功后,在庫中刪除這兩張表,在導(dǎo)入數(shù)據(jù):

imp user/password file=exp.dmp commit=y buffer=64000 tables=(table1,table2);

除了用exp/imp,還可以使用shrink table 或者alter table tbname move 來實(shí)現(xiàn)。

具體參考:

Oracle 10g Shrink Table 詳解

一個小腳本:

--1.整理空間碎片;

tmp_val VARCHAR2 (500);

BEGIN

FOR REC IN (SELECT TABLE_NAME FROM USER_TABLES )

LOOP

tmp_val:='ALTER TABLE '||user.TABLE_NAME ||' MOVE';

BEGIN

EXECUTE IMMEDIATE tmp_val;

DBMS_OUTPUT.put_line (tmp_val);

EXCEPTION

WHEN OTHERS

THEN

DBMS_OUTPUT.put_line ('Error: ' || tmp_val || '!');

END;

END LOOP;

(2). 索引段碎片整理

把索引重建(碎片整理后,很多索引會變成UNUSABLE狀態(tài),必須重建后,讓它變成void狀態(tài))

FOR REC IN (SELECT INDEX_NAME FROM USER_INDEXES ) --WHERE STATUS='UNUSABLE'

LOOP

tmp_val:='ALTER INDEX '||REC.INDEX_NAME ||' REBUILD';

BEGIN

EXECUTE IMMEDIATE tmp_val;

DBMS_OUTPUT.put_line (tmp_val);

EXCEPTION

WHEN OTHERS

THEN

DBMS_OUTPUT.put_line ('Error: ' || tmp_val || '!');

END;

END LOOP;

END;


分享名稱:oracle怎么自動整理,Oracle設(shè)置自動提交
網(wǎng)頁鏈接:http://weahome.cn/article/hegipg.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部