標籤:shell
游標移動指令
? 對應方向鍵移動
h 左移一字元 k 上移一行 j 下移一行 l 右移一字元
? 按行單位移動
0 移到行首 $ 移到行尾
nG 移到第n行 G 移到最後一行
? 按頁單位移動
^ f 下卷一屏 ^ b 上卷一屏
^ d 下卷半屏 ^ u 上卷半屏
--將記錄檔catlina.out中最後100行資料 取出
tail -100 catlina.out >> 20141214log.txt
--檢測是否有用
head -10 20141214log.txt
--在hwcsp6檔案夾下,將檔案hwcsp6打包複製為hwcsp6_201500807.tar
tar -cvzf hwcsp6_201500807.tar hwcsp6
tar -xvzf hwcsp6_201500807.tar
--從linux到ftp
ftp 地址
cd 所要儲存的地址
bin --切換到2進位
put
--從ftp到linux
ftp 地址
cd 檔案所在的地址
bin --切換到2進位
get 當前檔案夾下
--查看當前檔案夾下各個檔案的大小
linux:du -sh *
aix:du -sg *
--查看盤符使用方式
df -h G為單位
df -m M為單位
文檔許可權命令
--可執行許可權,即 x 許可權
chmod +x script.sh
--改變檔案群組許可權 要切換到當前檔案許可權的使用者下
chgrp(change group 縮寫) -R (該參數表示,被改檔案夾下的所有檔案和檔案夾群組同時被改)group file
--改變檔案使用者權限
chown(change owner 縮寫) -R (該參數表示,被改檔案夾下的所有檔案和檔案夾群組同時被改)owner file
--也可以使用chown改變使用者和群組的許可權
chown -R user:grop file 變更檔的使用者和群組的許可權
tar -cvf csp_20151008_bak.tar csp
--將檔案夾從本地傳入到linux
先壓縮成zip格式,放在ftp上,通過get得到zip檔案
再使用unzip -o解壓
unzip -o csp.zip
--cp命令
cp [參數] 當前檔案 需要複製的檔案
r:用於複製檔案夾
P:連同原檔案屬性一起複製過去,不是預設複製
i:若被複製檔案已經存在時,在覆蓋時會先問是否需要繼續複製
mv
rm
--tar
打包某個檔案夾下所有檔案(不包括該檔案夾目錄)
1、先進入這個檔案夾
2、在這個檔案夾下執行:tar -czvf filename.tar.gz *
3、cd到需要解壓的檔案夾下執行:tar -xzvf filename.tar.gz
cd
ps -ef | grep java
---------------------------
磁碟空間清理
磁碟空間清理(理想化保持75%)
1.10.70.211.68 etl/nIj2Sy5,
一般清理WORK01和WORK02
1.WORK01:zjjavg09/work01/vgopbk/vgopbass/data/bass/mode
2.WORK02: zjjavg09/work02/vgopbk/vgopzj/bossop
2.10.70.211.76 etl/Sp7%ox(j
一般清理WORK01和WORK02,清理原則
例如:WORK01:zjjavg03/work01/vgopbk/vgopckm/all_content/read
空間多的可以酌情清理。
例如:WORK02:zjjavg03/work02/vgopbk/vgopwap/data/data_bak 都可以清理
--查看當前檔案夾下各個檔案的大小
linux:du -sh *
aix:du -sg *
--查看盤符使用方式
df -h G為單位
df -m M為單位
資料庫資料表空間清理步驟:
刪除分區的原則是:
日保留2+1月資料
特殊:閱讀保留3+1月,TB_DW_WAP_CLIENT_DAY保留最近一星期
月保留6+1月資料
TB_DW_ORDER_INFO_BASS_579_D
TB_DW_ORDER_INFO_ONE_579_D
這類表可以保留少一點的資料,最少10天
第一步:查出空間利用率
SELECT TABLESPACE_NAME "資料表空間",
To_char(Round(BYTES / 1024, 2), ‘99990.00‘)
|| ‘G‘ "實有",
To_char(Round(FREE / 1024, 2), ‘99990.00‘)
|| ‘G‘ "現有",
To_char(Round(( BYTES - FREE ) / 1024, 2), ‘99990.00‘)
|| ‘G‘ "使用",
To_char(Round(10000 * USED / BYTES) / 100, ‘99990.00‘)
|| ‘%‘ "比例"
FROM (SELECT A.TABLESPACE_NAME TABLESPACE_NAME,
Floor(A.BYTES / ( 1024 * 1024 )) BYTES,
Floor(B.FREE / ( 1024 * 1024 )) FREE,
Floor(( A.BYTES - B.FREE ) / ( 1024 * 1024 )) USED
FROM (SELECT TABLESPACE_NAME TABLESPACE_NAME,
Sum(BYTES) BYTES
FROM DBA_DATA_FILES
GROUP BY TABLESPACE_NAME) A,
(SELECT TABLESPACE_NAME TABLESPACE_NAME,
Sum(BYTES) FREE
FROM DBA_FREE_SPACE
GROUP BY TABLESPACE_NAME) B
WHERE A.TABLESPACE_NAME = B.TABLESPACE_NAME)
/*WHERE TABLESPACE_NAME LIKE ‘UNDO%‘ --這一句用於指定資料表空間名稱*/
ORDER BY Floor(10000 * USED / BYTES) DESC;
第二步:找出佔用空間的大表
select * from (select t.segment_name, sum(t.bytes) / 1024 / 1024/ 1024 as tab_size
from user_segments t
group by t.segment_name
)
where tab_size>=50
order by tab_size desc ;
第三步:刪除分區
----------------------------------------------------------
select ‘alter table ‘ || t.segment_name || ‘ drop partition ‘ ||
t.partition_name || ‘;‘
from user_segments t
where t.segment_name = upper(‘TB_MK_RING_DAY_JF‘);
--附加語句,重要!!!
select distinct t.segment_name,
‘alter table ‘ || t.segment_name || ‘ drop partition ‘ ||
substr(t.partition_name, 1, 13) || ‘;‘,
t1.tab_size,
substr(t.partition_name, 6, 14)
from user_segments t,
(select segment_name, tab_size
from (select t.segment_name,
sum(t.bytes) / 1024 / 1024 / 1024 as tab_size
from user_segments t
group by t.segment_name)
where tab_size >= 50
order by tab_size desc) t1
where t.segment_name = t1.segment_name
and t.partition_name LIKE ‘%PART_201602%‘
and t.partition_name <> ‘PART_201602‘
-- and to_number(substr(t.partition_name, 6, 14))<‘20160206‘
and substr(t.partition_name, 6, 14)<‘20160211‘
and t.segment_name like ‘TB_%‘
--and t.partition_name = ‘PART_201508‘
-- group by substr(t.partition_name, 1, 13)
order by t1.tab_size desc
本文出自 “司馬囧” 部落格,謝絕轉載!
shell和SQL