當(dāng)前位置:首頁(yè) > IT技術(shù) > 數(shù)據(jù)庫(kù) > 正文

Oracle 快速創(chuàng)建 N 個(gè)表空間數(shù)據(jù)文件
2021-09-13 10:34:49

Oracle 數(shù)據(jù)庫(kù)是由無(wú)數(shù)個(gè)表空間組成,表空間是由無(wú)數(shù)個(gè)數(shù)據(jù)文件組成,數(shù)據(jù)文件存放在磁盤(pán)中。

隨著時(shí)間和業(yè)務(wù)量的增長(zhǎng),數(shù)據(jù)文件會(huì)不斷的增長(zhǎng),默認(rèn)的數(shù)據(jù)文件一個(gè)為 32G,因此,需要不斷的新增數(shù)據(jù)文件!

那么,問(wèn)題來(lái)了!需要新增很多數(shù)據(jù)文件怎么辦?

以下示例以 LUCIFER 表空間進(jìn)行演示!默認(rèn)開(kāi)啟 OMF!

?? 如何開(kāi)啟 OMF 請(qǐng)參考:Oracle OMF參數(shù)

1、新增一個(gè)數(shù)據(jù)文件,小意思,一行命令搞定!

alter tablespace LUCIFER add datafile size 30G autoextend off;

2、新增 10 個(gè)數(shù)據(jù)文件,麻煩點(diǎn),復(fù)制 10 行也能搞定!

alter tablespace LUCIFER add datafile size 30G autoextend off;
alter tablespace LUCIFER add datafile size 30G autoextend off;
alter tablespace LUCIFER add datafile size 30G autoextend off;
alter tablespace LUCIFER add datafile size 30G autoextend off;
alter tablespace LUCIFER add datafile size 30G autoextend off;
alter tablespace LUCIFER add datafile size 30G autoextend off;
alter tablespace LUCIFER add datafile size 30G autoextend off;
alter tablespace LUCIFER add datafile size 30G autoextend off;
alter tablespace LUCIFER add datafile size 30G autoextend off;
alter tablespace LUCIFER add datafile size 30G autoextend off;

3、新增 100 個(gè)數(shù)據(jù)文件,頭疼,復(fù)制 100 行?那 1000 個(gè)呢?10000個(gè)呢?

當(dāng)然,只是打個(gè)比方,無(wú)需較真,只是為了說(shuō)明一個(gè)理念!

像這種需要一次性增加多個(gè)表空間數(shù)據(jù)文件的,可以直接通過(guò)循環(huán)語(yǔ)句,短短幾行代碼就可以搞定:

begin
  for i in 1 .. 100 loop
    execute immediate 'alter tablespace LUCIFER add datafile size 30G autoextend off';
  end loop;
end;
/

通過(guò)以上短短的代碼,就可以實(shí)現(xiàn)創(chuàng)建 100 個(gè)數(shù)據(jù)文件,如果需要 10000 個(gè),就把 100 改成 10000 就行了!

如果你說(shuō)你不使用 OMF 參數(shù),當(dāng)然可以,稍微改一下就行:

begin
  for i in 1 .. 100 loop
    execute immediate 'alter tablespace LUCIFER add datafile ''/oradata/orcl/lucifer'||i||'.dbf'' size 30G autoextend off';
  end loop;
end;
/

只需要將數(shù)據(jù)文件路徑 /oradata/orcl/ 和 數(shù)據(jù)文件名稱(chēng) lucifer 拼接以下,然后傳入 i 作為編號(hào)即可!

?? 記住,本文講的是一個(gè)技巧,也是一個(gè)理念,不要鉆牛角尖!


本次分享到此結(jié)束啦~

如果覺(jué)得文章對(duì)你有幫助,點(diǎn)贊、收藏、關(guān)注、評(píng)論,一鍵四連支持,你的支持就是我創(chuàng)作最大的動(dòng)力。

?? 技術(shù)交流可以 關(guān)注公眾號(hào):Lucifer三思而后行 ??

本文摘自 :https://blog.51cto.com/l

開(kāi)通會(huì)員,享受整站包年服務(wù)立即開(kāi)通 >