一.表分區(qū)策略
創(chuàng)新互聯(lián)建站是一家專注于成都做網(wǎng)站、網(wǎng)站制作與策劃設(shè)計(jì),陸良網(wǎng)站建設(shè)哪家好?創(chuàng)新互聯(lián)建站做網(wǎng)站,專注于網(wǎng)站建設(shè)10多年,網(wǎng)設(shè)計(jì)領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:陸良等地區(qū)。陸良做網(wǎng)站價(jià)格咨詢:13518219792
1.識(shí)別大表
采用ANALYZE TABLE語(yǔ)句進(jìn)行分析,然后查詢數(shù)據(jù)字典獲得相應(yīng)的數(shù)據(jù)量。
2.大表如何分區(qū)
可根據(jù)月份,季度以及年份等進(jìn)行分區(qū);
3.分區(qū)的表空間規(guī)劃
要對(duì)每個(gè)表空間的大小進(jìn)行估計(jì)
二.創(chuàng)建表分區(qū)
a.創(chuàng)建范圍分區(qū)的關(guān)鍵字是'RANGE'
1.范圍分區(qū)
create table ware_retail_part --創(chuàng)建一個(gè)描述商品零售的數(shù)據(jù)表
(
id integer primary key,--銷售編號(hào)
retail_date date,--銷售日期
ware_name varchar2(50)--商品名稱
)
partition by range(retail_date)
(
--2011年第一個(gè)季度為part_01分區(qū)
partition par_01 values less than(to_date('2011-04-01','yyyy-mm-dd')) tablespace TEMP01,
--2011年第二個(gè)季度為part_02分區(qū)
partition par_02 values less than(to_date('2011-07-01','yyyy-mm-dd')) tablespace TEMP01,
--2011年第三個(gè)季度為part_03分區(qū)
partition par_03 values less than(to_date('2011-10-01','yyyy-mm-dd')) tablespace TEMP01,
--2011年第四個(gè)季度為part_04分區(qū)
partition par_04 values less than(to_date('2012-01-01','yyyy-mm-dd')) tablespace TEMP01
);
2.創(chuàng)建散列分區(qū)
3.組合分區(qū):
4.interval 分區(qū)
三.創(chuàng)建索引分區(qū)
索引分區(qū)分為本地索引分區(qū)和全局索引分區(qū),全局索引不反應(yīng)基礎(chǔ)表的結(jié)構(gòu),要分區(qū)只能進(jìn)行范圍分區(qū)。
創(chuàng)建索引分區(qū)要參照表分區(qū)
四.分區(qū)技術(shù)簡(jiǎn)介
優(yōu)點(diǎn):
1.減少維護(hù)工作量
2.增強(qiáng)數(shù)據(jù)的可用性
3.均衡I/O,提升性能
4.提高查詢速度
5.分區(qū)對(duì)用戶保持透明,用戶感覺(jué)不到分區(qū)的存在。
五,管理表分區(qū)
1.添加表分區(qū)
ALTER TABLE...ALTER PARATITION
2.合并表分區(qū)
3.刪除分區(qū)
ALTER TABLE...DROP PARTITION
刪除分區(qū)時(shí),里面的數(shù)據(jù)也會(huì)被刪除。
-創(chuàng)建表和分區(qū)
create table sales--創(chuàng)建一個(gè)銷售記錄表
(
id number primary key,--記錄編號(hào)
goodsname varchar2(10),--商品名
saledate date--銷售日期
)
partition by range(saledate)--按照日期分區(qū)
(
--第一季度數(shù)據(jù)
partition part_sea1 values less than(to_date('2011-04-01','yyyy-mm-dd')) tablespace tbsp_1,
--第二季度數(shù)據(jù)
partition part_sea2 values less than(to_date('2011-07-01','yyyy-mm-dd')) tablespace tbsp_2,
--第三季度數(shù)據(jù)
partition part_sea3 values less than(to_date('2011-10-01','yyyy-mm-dd')) tablespace tbsp_1,
--第四季度數(shù)據(jù)
partition part_sea4 values less than(to_date('2012-01-01','yyyy-mm-dd')) tablespace tbsp_2
);
--創(chuàng)建局部索引
create index index_3_4 on sales(saledate)
local(
partition part_seal tablespace tbsp_1,
partition part_sea2 tablespace tbsp_2,
partition part_sea3 tablespace tbsp_1,
partition part_sea4 tablespace tbsp_2
);
--并入分區(qū)
alter table sales merge partitions part_sea3,part_sea4 into partition part_sea4;
--重建局部索引
alter table sales modify partition part_sea4 rebuild unusable local indexes;
六.管理索引分區(qū)
刪除索引:DROP PARTITION
重建分區(qū):REBUILT PARTITION
更名索引分區(qū):RENAME PARTITION
分割索引分區(qū):SPLIT PARTITION
SQL CREATE TABLE T_N (ID NUMBER PRIMARY KEY, TIME DATE) PARTITION BY RANGE (TIME)
2 (PARTITION P1 VALUES LESS THAN (MAXVALUE));
表已創(chuàng)建。
SQL ALTER TABLE T_N EXCHANGE PARTITION P1 WITH TABLE T;
表已更改。
SQL alter table t_n split partition p1 at (TO_DATE('2005-7-1', 'YYYY-MM-DD')) into (partition p1,partition p2);
表已更改。
難道是這樣?你說(shuō)的利用分區(qū)交換只能這樣了,雖然交換分區(qū)相當(dāng)于修改數(shù)據(jù)字典,效率很高,但是分區(qū)的分割卻相當(dāng)于dml操作的。
=====================
原文中說(shuō)的是:適用于包含大數(shù)據(jù)量的表轉(zhuǎn)到分區(qū)表中的一個(gè)分區(qū)的操作。
看仔細(xì)咯,是大量數(shù)據(jù)轉(zhuǎn)到分區(qū)表中的一個(gè)分區(qū)的操作,這樣就不會(huì)涉及split操作,只需要修改數(shù)據(jù)字典,效率自然會(huì)很高。
什么意思?你說(shuō)的是把組合分區(qū)的數(shù)據(jù)插入到普通分區(qū)中,直接insert就行啊,這個(gè)沒(méi)什么要求的,如果數(shù)據(jù)量大,那么你可以找個(gè)條件循環(huán)插入,這個(gè)沒(méi)什么要求的。
linux上安裝Oracle時(shí)交換空間不足的解決辦法
增加交換空間有兩種方法:
嚴(yán)格的說(shuō),在系統(tǒng)安裝完后只有一種方法可以增加swap,那就是本文的第二種方法,
至于第一種方法應(yīng)該是安裝系統(tǒng)時(shí)設(shè)置交換區(qū)。
1、使用分區(qū):
在安裝OS時(shí)劃分出專門的交換分區(qū),空間大小要事先規(guī)劃好,啟動(dòng)系統(tǒng)時(shí)自動(dòng)進(jìn)行mount。
這種方法只能在安裝OS時(shí)設(shè)定,一旦設(shè)定好不容易改變,除非重裝系統(tǒng)。
2、使用swapfile:(或者是整個(gè)空閑分區(qū))
新建臨時(shí)swapfile或者是空閑分區(qū),在需要的時(shí)候設(shè)定為交換空間,最多可以增加8個(gè)swapfile。
交換空間的大小,與CPU密切相關(guān),在i386系中,最多可以使用2GB的空間。
在系統(tǒng)啟動(dòng)后根據(jù)需要在2G的總?cè)萘肯逻M(jìn)行增減。
這種方法比較靈活,也比較方便,缺點(diǎn)是啟動(dòng)系統(tǒng)后需要手工設(shè)置。
下面是運(yùn)用swapfile增加交換空間的步驟:
涉及到的命令:
free ---查看內(nèi)存狀態(tài)命令,可以顯示memory,swap,buffer cache等的大小及使用狀況;
dd ---讀取,轉(zhuǎn)換并輸出數(shù)據(jù)命令;
mkswap ---設(shè)置交換區(qū)
swapon ---啟用交換區(qū),相當(dāng)于mount
swapoff ---關(guān)閉交換區(qū),相當(dāng)于umount
步驟:
1、創(chuàng)建swapfile:
root權(quán)限下,創(chuàng)建swapfile,假設(shè)當(dāng)前目錄為"/",執(zhí)行如下命令:
# dd if=/dev/zero of=swapfile bs=1024 count=500000
則在根目錄下創(chuàng)建了一個(gè)swapfile,名稱為“swapfile”,大小為500M,也可以把文件輸出到自己想要的任何目錄中,
個(gè)人覺(jué)得還是直接放在根目錄下比較好,一目了然,不容易誤破壞,放在其他目錄下則不然了;
命令中選項(xiàng)解釋:
---of:輸出的交換文件的路徑及名稱;
---bs:塊大小,單位byte,一般為1k即1024個(gè)byte;
---count:總塊數(shù)即空間總大小,單位為塊即k;
---if:讀取的源空閑空間,為什么是zero,不清楚,先固定這么寫吧;
2、將swapfile設(shè)置為swap空間
# mkswap swapfile
3、啟用交換空間,這個(gè)操作有點(diǎn)類似于mount操作(個(gè)人理解):
# swapon swapfile
至此增加交換空間的操作結(jié)束了,可以使用free命令查看swap空間大小是否發(fā)生變化;
4、如果不再使用空間可以選擇關(guān)閉交換空間,這個(gè)操作有點(diǎn)類似于umount操作(個(gè)人理解)::
# swapoff swapfile
使用這種方法在每次系統(tǒng)啟動(dòng)時(shí)都需要手動(dòng)設(shè)置、開(kāi)啟swapfile,比較麻煩,解決方法:
在 /etc/rc.d/rc.local 文件的末行下追加加以下內(nèi)容:(編輯這個(gè)文件當(dāng)然是用vi了~)
/sbin/swapon /swapfile
保存后退出,這樣在系統(tǒng)啟動(dòng)后,swap空間就會(huì)自動(dòng)加載了;
總結(jié):在安裝OS時(shí)一定要規(guī)劃后swap大小,通常為內(nèi)存的2倍,但是要考慮到以后增加內(nèi)存的可能,所以可以考慮設(shè)的稍大一些,
想在虛擬機(jī)里面安裝oracle10g,發(fā)現(xiàn)默認(rèn)的swap交換空間不滿足最低要求,因?yàn)槲曳峙涞奈锢韮?nèi)存是1G,那么就按照要求需要2G的swap交換空間,默認(rèn)只有1G的交換空間。添加swap交換空間的步驟如下:
第一步:確保系統(tǒng)中有足夠的空間來(lái)用做swap交換空間,我使用的是KVM,準(zhǔn)備在一個(gè)獨(dú)立的文件系統(tǒng)中添加一個(gè)swap交換文件,在/opt/image中添加2G的swap交換文件
第二步:添加交換文件并設(shè)置其大小為2G,使用如下命令
[root@sense image]# dd if=/dev/zero of=/opt/image/swap bs=1024 count=2048000
過(guò)段時(shí)間就返回如下結(jié)果:
2048000+0 records in
2048000+0 records out
2097152000 bytes (2.1 GB) copied, 272.867 seconds, 7.7 MB/s
第三步:創(chuàng)建(設(shè)置)交換空間,使用命令mkswap
[root@sense image]# mkswap /opt/image/swap
Setting up swapspace version 1, size = 2097147 kB
第四步:檢查現(xiàn)有的交換空間大小,使用命令free
[root@sense image]# free -m
total used free shared buffers cached
Mem: 1011 989 21 0 1 875
-/+ buffers/cache: 112 898
Swap: 1027 0 1027
或者檢查meminfo文件
grep SwapTotal /proc/meminfo
第五步:?jiǎn)?dòng)新增加的2G的交換空間,使用命令swapon
[root@sense image]# swapon /opt/image/swap
第六步:確認(rèn)新增加的2G交換空間已經(jīng)生效,使用命令free
[[root@sense image]# free -m
total used free shared buffers cached
Mem: 1011 995 15 0 4 877
-/+ buffers/cache: 113 897
Swap: 3027 0 3027
或者檢查meminfo文件
grep SwapTotal /proc/meminfo
第七步:修改/etc/fstab文件,使得新加的2G交換空間在系統(tǒng)重新啟動(dòng)后自動(dòng)生效
在文件最后加入:
/opt/image/swap swap swap defaults 0 0
內(nèi)存至少512M 交換分區(qū)至少1G
oracle軟件安裝位置1.3G
數(shù)據(jù)庫(kù)安裝位置至少1G
/tmp要有足夠400M的剩余
如果這些目錄都是隸屬于根文件系統(tǒng) 那根需要有3G空閑才能安裝 (1.3+1+0.4)
上述都屬于最小要求 這是遠(yuǎn)遠(yuǎn)不夠后期運(yùn)行添加數(shù)據(jù)使用的.
并且隨著后期運(yùn)行oracle自身產(chǎn)生的文件會(huì)逐漸增大 請(qǐng)保留足夠的空間需求
備份數(shù)據(jù)庫(kù)中所有用戶的數(shù)據(jù)
以oracle用戶登陸,執(zhí)行以下命令
# export NLS_LANG = “SIMPLIFIED CHINESE_CHINA.UTF8”
保持與數(shù)據(jù)庫(kù)服務(wù)器端一致,這樣在exp導(dǎo)出時(shí),就不會(huì)存在字符的轉(zhuǎn)換了,備份最原始的數(shù)據(jù)。
當(dāng)前名稱:oracle如何交換分區(qū),oracle 分區(qū)交換 分區(qū)表對(duì)分區(qū)表
標(biāo)題來(lái)源:http://jinyejixie.com/article4/hsicie.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供關(guān)鍵詞優(yōu)化、網(wǎng)站導(dǎo)航、服務(wù)器托管、微信公眾號(hào)、網(wǎng)站設(shè)計(jì)公司、域名注冊(cè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容