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

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

oracle如何收縮表,oracle表空間收縮

oracle數(shù)據(jù)庫表空間占用太大,如何在不刪除表的情況下縮小占用空間

alter table 表名 move和alter table 表名 shrink space都可以用來進(jìn)行段收縮,降低高水位HWM,

成都創(chuàng)新互聯(lián)專注于通化縣企業(yè)網(wǎng)站建設(shè),響應(yīng)式網(wǎng)站開發(fā),購物商城網(wǎng)站建設(shè)。通化縣網(wǎng)站建設(shè)公司,為通化縣等地區(qū)提供建站服務(wù)。全流程按需求定制設(shè)計(jì),專業(yè)設(shè)計(jì),全程項(xiàng)目跟蹤,成都創(chuàng)新互聯(lián)專業(yè)和態(tài)度為您提供的服務(wù)

也都可以用來消除行鏈接(Row Chaining)和行遷移(Row Migration),估計(jì)效果不明顯,看你的數(shù)據(jù)庫用途是干什么的(如果是數(shù)據(jù)倉庫肯定是不明顯的)。

Oracle 刪除表中記錄 如何釋放表及表空間大小

解決方案

執(zhí)行

alter?table?jk_test?move

alter?table?jk_test?move?storage(initial?64k)

alter?table?jk_test?deallocate?unused

alter?table?jk_test?shrink?space.

注意:因?yàn)閍lter table jk_test move 是通過消除行遷移,清除空間碎片,刪除空閑空間,實(shí)現(xiàn)縮小所占的空間,但會(huì)導(dǎo)致此表上的索引無效(因?yàn)镽OWID變了,無法找到),所以執(zhí)行 move 就需要重建索引。

找到表對(duì)應(yīng)的索引

select?index_name,table_name,tablespace_name,index_type,status??from?dba_indexes??where?table_owner='SCOTT'

根據(jù)status 的值,重建無效的就行了。sql='alter index '||index_name||' rebuild'; 使用存儲(chǔ)過程執(zhí)行,稍微安慰。

還要注意alter table move過程中會(huì)產(chǎn)生鎖,應(yīng)該避免在業(yè)務(wù)高峰期操作!

另外說明:truncate table jk_test 會(huì)執(zhí)行的更快,而且其所占的空間也會(huì)釋放,應(yīng)該是truncate 語句執(zhí)行后是不會(huì)進(jìn)入oracle回收站(recylebin)的緣故。如果drop 一個(gè)表加上purge 也不會(huì)進(jìn)回收站(在此里面的數(shù)據(jù)可以通過flashback找回)。

不管是delete還是truncate 相應(yīng)數(shù)據(jù)文件的大小并不會(huì)改變,如果想改變數(shù)據(jù)文件所占空間大小可執(zhí)行如下語句:

alter?database?datafile?'filename'?resize?8g

重定義數(shù)據(jù)文件的大小(不能小于該數(shù)據(jù)文件已用空間的大?。?/p>

另補(bǔ)充一些PURGE知識(shí)

Purge操作:

1). Purge tablespace tablespace_name : 用于清空表空間的Recycle Bin

2). Purge tablespace tablespace_name user user_name: 清空指定表空間的Recycle Bin中指定用戶的對(duì)象

3). Purge recyclebin: 刪除當(dāng)前用戶的Recycle Bin中的對(duì)象。

4). Purge dba_recyclebin: 刪除所有用戶的Recycle Bin中的對(duì)象,該命令要sysdba權(quán)限

5). Drop table table_name purge:??刪除對(duì)象并且不放在Recycle Bin中,即永久的刪除,不能用Flashback恢復(fù)。

6). Purge index recycle_bin_object_name: 當(dāng)想釋放Recycle bin的空間,又想能恢復(fù)表時(shí),可以通過釋放該對(duì)象的index所占用的空間來緩解空間壓力。 因?yàn)樗饕强梢灾亟ǖ摹?/p>

二、如果某些表占用了數(shù)據(jù)文件的最后一些塊,則需要先將該表導(dǎo)出或移動(dòng)到其他的表空間中,然后刪除表,再進(jìn)行收縮。不過如果是移動(dòng)到其他的表空間,需要重建其索引。

1、

SQL?alter?table?t_obj?move?tablespace?t_tbs1;???---移動(dòng)表到其它表空間

也可以直接使用exp和imp來進(jìn)行

2、

SQLalter?owner.index_name?rebuild;?????--重建索引

3、刪除原來的表空間

oracle清理數(shù)據(jù)后,如何縮小表空間,減小表空間文件大???

很大可能是原來表是壓縮過的,再導(dǎo)進(jìn)去就沒有壓縮了,要重新壓縮下

oracle怎么收縮數(shù)據(jù)文

--找出目前TEST表空間最大的block_id

SELECT MAX(block_id)FROM dba_extentsWHERE tablespace_name = 'TEST';

MAX(BLOCK_ID)

-------------????

136

--計(jì)算目前最大塊的段所占用的空間(該數(shù)據(jù)庫的block大小是8192)

show parameter db_block_size ;

NAME??????????????????? ???? TYPE???? VALUE

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

db_block_size?????????????? ???? integer???? 8192

SELECT 136*8192/1024/1024? "MAX(M)" FROM dual;

MAX(M)

----------

1.0625

--查看表空間物理文件的名稱及大小

set line 200

col file_name for a50

select

tablespace_name, file_id, file_name,round(bytes/(1024*1024),0)

"total_space(M)"from dba_data_fileswhere tablespace_name ='TEST' ;

TABLESPACE_NAME ? ? ? ? ?FILE_ID ? ?FILE_NAME ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? total_space(M)

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

TEST ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?6 ? ? ? ? ? ? /u01/oradata/source/test01.dbf ? ? ? ? ? ? ? ? ? 100

4

--resize表空間

SQL ALTER DATABASE DATAFILE '/u01/oradata/source/test01.dbf' RESIZE 1M;

ALTER DATABASE DATAFILE '/u01/oradata/source/test01.dbf' RESIZE 1M*ERROR at line 1:

ORA-03214: File Size specified is smaller than minimum required

SQL ALTER DATABASE DATAFILE '/u01/oradata/source/zfl01.dbf' RESIZE 2M;

Database altered.

oracle表空間太大,有哪些優(yōu)化辦法?

給您提供建議如下:

(1)如果表空間的數(shù)據(jù)沒存滿,可以考慮執(zhí)行表空間收縮操作。

(2)如果表空間的數(shù)據(jù)存滿了,可以考慮建多個(gè)表空間文件。

(3)從業(yè)務(wù)的角度考慮,是否可以考慮將部分?jǐn)?shù)據(jù)進(jìn)行剝離,存放在歷史庫。

(4)從業(yè)務(wù)角度進(jìn)行分析,該表空間中最大的幾張表中的數(shù)據(jù)都是必須、有用的嗎?是否可以將部分無用數(shù)據(jù)備份后執(zhí)行清理操作。

(5)如果是undo表空間,可以執(zhí)行undo表空間收縮操作。

(6)如果是temp表空間,可以將原表空間文件drop掉后重建表空間文件。

oracle 如何收縮表

刪除數(shù)據(jù)不能縮小表空間,只是可再利用的多了.

要實(shí)際縮小,讓操作系統(tǒng)可以利用,需要先把表move tablespace

也可以在原來的tablespace上move一遍,再縮小tablespace就可以了.

例如:

alter table your_table move tablespace yourtablespace;


當(dāng)前名稱:oracle如何收縮表,oracle表空間收縮
路徑分享:http://weahome.cn/article/hecsep.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部