當前位置:首頁 » 網頁前端 » oracle表空間管理腳本
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

oracle表空間管理腳本

發布時間: 2023-01-24 04:36:23

1. Oracle11g如何將sql腳本在指定的表空間運行

比如說你在D盤下創建一個USERS表空間
create tablespace USERS
datafile 'D;\users01.dbf'
size 10M 表空間大小10M
autoextend on next 1M maxsize 20M //自動增長,每次1M
extent management local autoallocate //區管理,本地,自動
segment space management auto //段管理 ,自動

2. 怎麼寫一個腳本檢查oracle資料庫表空間,如果利用率超過80%,就執行一條加表空間的SQL

您好
SELECT UPPER(F.TABLESPACE_NAME) "表空間名",
D.TOT_GROOTTE_MB "表空間大小(M)",
D.TOT_GROOTTE_MB - F.TOTAL_BYTES "已使用空間(M)",
TO_CHAR(ROUND((D.TOT_GROOTTE_MB - F.TOTAL_BYTES) / D.TOT_GROOTTE_MB * 100,2),'990.99') || '%' "使用比",
F.TOTAL_BYTES "空閑空間(M)",
F.MAX_BYTES "最大塊(M)"
FROM (SELECT TABLESPACE_NAME,
ROUND(SUM(BYTES) / (1024 * 1024), 2) TOTAL_BYTES,
ROUND(MAX(BYTES) / (1024 * 1024), 2) MAX_BYTES
FROM SYS.DBA_FREE_SPACE
GROUP BY TABLESPACE_NAME) F,
(SELECT DD.TABLESPACE_NAME,
ROUND(SUM(DD.BYTES) / (1024 * 1024), 2) TOT_GROOTTE_MB
FROM SYS.DBA_DATA_FILES DD
GROUP BY DD.TABLESPACE_NAME) D
WHERE D.TABLESPACE_NAME = F.TABLESPACE_NAME
ORDER BY 1;

3. 如何在Oracle伺服器端用腳本創建表空間,實例

1、月底我用來創建TS(表空間)的shell,
現在的TS是VIEWER_DATA_TS,要將其改名為VIEWER_DATA_TS_201410,再創建一個VIEWER_DATA_TS,文件名包含下個月信息201411。
2、為了保證硬碟有足夠的空間,我保留了2年的數據
old_ym=$(date -d -24month +%Y%m)
3、為了確保刪除TS,先刪除TS包含的tables
truncate table VIEWER_${old_ym};
drop table VIEWER_${old_ym} purge;
DROP TABLESPACE VIEWER_DATA_TS_${old_ym} INCLUDING CONTENTS AND DATAFILES;
4、腳本實例
#!/bin/sh

. ~/.bash_profile

this_ym=`date +%Y%m`
next_ym=`date -d 1month +%Y%m`
old_ym=$(date -d -24month +%Y%m)

vts_src=VIEWER_DATA_TS
vts_dst=VIEWER_DATA_TS_${this_ym}
viewer_data_ts1=/data1/oracle/viewer_data_ts_${next_ym}_1.dbf
viewer_data_ts2=/data1/oracle/viewer_data_ts_${next_ym}_2.dbf

sqlplus viewer/user123456 << EOF
alter tablespace $vts_src rename to $vts_dst;
CREATE TABLESPACE $vts_src DATAFILE '$viewer_data_ts1' SIZE 512M AUTOEXTEND ON NEXT 256M MAXSIZE UNLIMITED BLOCKSIZE 16k;
alter TABLESPACE $vts_src add DATAFILE '$viewer_data_ts2' SIZE 512M AUTOEXTEND ON NEXT 256M MAXSIZE UNLIMITED;
truncate table VIEWER_${old_ym};
drop table VIEWER_${old_ym} purge;
DROP TABLESPACE VIEWER_DATA_TS_${old_ym} INCLUDING CONTENTS AND DATAFILES;
EOF
5、計劃任務crontab -l,每月28號執行。
0 3 28 * * /home/oracle/prepare_viewer_ts.sh;
或者
0 4 28-31 * * [ `date -d tomorrow +\%e` -eq 1 ] && /home/oracle/prepare_viewer_ts.sh;