根據源庫表空間實際使用建立表空間指令碼
根據源庫表空間實際使用建立表空間指令碼
經常遷移資料庫,建立表空間還需要繼續建立幾個檔案,今寫個指令碼方便以後操作。
經常遷移資料庫,建立表空間還需要繼續建立幾個檔案,今寫個指令碼方便以後操作。
點選(此處)摺疊或開啟
-
declare
-
---根據表空間實際使用自動生成建立語句;
-
---如需要修改資料檔案建立路徑,修改v_path引數即可;
-
--2017.4.14 19:18
-
---Edit by Well
-
v_path varchar2(100) := '''/data/ciq/';
-
i integer;
-
j integer;
-
v_tbname varchar2(50);
-
v_tbused varchar2(50);
-
cursor c_tb is
-
SELECT d.tablespace_name,
-
ceil(NVL(a.bytes - NVL(f.bytes, 0), 0) / 1024 / 1024 / 1024) as usedgb
-
FROM sys.dba_tablespaces d,
-
(select tablespace_name, sum(bytes) bytes
-
from dba_data_files
-
group by tablespace_name) a,
-
(select tablespace_name, sum(bytes) bytes
-
from dba_free_space
-
group by tablespace_name) f
-
WHERE d.tablespace_name = a.tablespace_name(+)
-
AND d.tablespace_name = f.tablespace_name(+)
-
AND NOT (d.extent_management like 'LOCAL' AND
-
d.contents like 'TEMPORARY')
-
and d.TABLESPACE_NAME not in
-
('SYSAUX', 'UNDOTBS1', 'USERS', 'SYSTEM');
-
begin
-
for v_tb in c_tb loop
-
v_tbname := v_tb.tablespace_name;
-
v_tbused := v_tb.usedgb;
-
i := ceil(v_tbused / 30);
-
DBMS_OUTPUT.ENABLE(buffer_size => null);
-
j := 1;
-
dbms_output.put_line('create tablespace ' || v_tbname || ' datafile ' ||
-
v_path || v_tbname || '_' || j ||
-
'.dbf size 100M autoextend on next 1024M'';');
-
for j in 2 .. i loop
-
dbms_output.put_line('alter tablespace ' || v_tbname ||
-
' add datafile ' || v_path || v_tbname || '_' || j ||
-
'.dbf size 100M autoextend on next 1024M'';');
-
end loop;
-
end loop;
-
dbms_output.put_line('---for end---');
- end;
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29519108/viewspace-2137313/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 指令碼建立表空間、使用者、表指令碼
- Oracle 建立表空間和使用者指令碼Oracle指令碼
- 根據表空間的TSPITR恢復
- oracle建立表空間Oracle
- 建立加密表空間加密
- 計算表空間使用率指令碼指令碼
- 監控oracle表空間指令碼Oracle指令碼
- 移動表空間的指令碼指令碼
- 【儲存管理】建立臨時表空間組、建立臨時表空間組及使用
- 查詢表空間使用情況的指令碼指令碼
- 查詢數oracle據庫表空間使用率sqlOracleSQL
- oracle 建立表空間和使用者Oracle
- Oracle建立表空間和使用者Oracle
- DB2建立資料庫,建立表空間DB2資料庫
- oracle建立臨時表空間和資料表空間以及刪除Oracle
- 根據包名,在指定空間中建立物件物件
- 分析表空間空閒率並收縮表空間
- oracle 表空間,臨時表空間使用率查詢Oracle
- 複製建立已有資料庫使用者、表空間、許可權的指令碼資料庫指令碼
- PostgreSQL:表空間-->資料庫-->表SQL資料庫
- Oracle根據表名查詢表空間及資料檔案的地址Oracle
- Oracle RAC建立表空間和使用者Oracle
- linux 使用裸裝置建立表空間Linux
- oracle RAC 建立使用者和表空間Oracle
- 通過shell指令碼檢視資料庫表空間使用情況指令碼資料庫
- 透過shell指令碼檢視資料庫表空間使用情況指令碼資料庫
- MySQL InnoDB 共享表空間和獨立表空間MySql
- 管理表空間(表空間的屬性)轉貼
- 表空間管理之bigfile表空間設定
- 遷移SYSTEM表空間為本地管理表空間
- MySQL InnoDB 共享表空間和獨立表空間MySql
- oracle建立使用者,表空間,臨時表空間,分配許可權步驟詳解Oracle
- 查詢表空間已使用空間和空閒空間的簡單檢視
- windows下Oracle11G指令碼建使用者、表空間、表WindowsOracle指令碼
- Oracle OCP(47):表空間的建立Oracle
- 【儲存管理】建立永久表空間
- Oracle表空間建立引數解析Oracle
- Linux下建立Oracle表空間LinuxOracle