2013年4月8日 星期一
[SHELL]搜尋檔案中的字串
案例1:
搜尋哪幾個sql檔中有用到某個table
方法:
1.find + grep
ex:
find ./ -name "*.sql" -exec grep -l "item_no" {} \; 2>/dev/null
(find 路徑 -name "檔案名稱" -exec grep -l "文件內容" {} \; 2>/dev/null)
2.find + xargs
ex:
find ./ -name "*.sql" | xargs grep "item_no" 2>/dev/null
備註:
2>/dev/null :
檔案描述元 - 標準輸入(STDIN),0/標準輸出(STDOUT),1/標準錯誤輸出(STDERR),2
/dev/null - 「訊息黑洞」,一般用來關閉程式的輸出訊息,只要把訊息往/dev/null丟,就不會顯示訊息
grep -l:只列出檔名。
grep -i:不分大小寫。
find -exec:對符合條件的檔案執行特定指令
xargs:將其他指令的輸出當成另一個指令的輸入參數
案例2:
搜尋哪幾個sql檔中有用到某些table
方法:
(利用for迴圈讀取資料表清單)
vDatFileName="vDataTable.txt"
vTableName=`cat ${vDatFileName}`
vLogFile="/home/tmp/DataTable.log"
for list in ${vTableName}
do
echo $list >>$vLogFile
find /home/tmp -name "*.sql" -exec grep -l $list {} \; >>$vLogFile 2>/dev/null;
#--find /home/tmp -name "*.sql" | xargs grep $list >>$vLogFile 2>/dev/null
done
[轉]grep參數
[轉]http://huenlil.pixnet.net/blog/post/26326320-%5B%E8%BD%89%5Dgrep%E5%91%BD%E4%BB%A4%E4%BB%8B%E7%B4%B9
◎grep -- print lines matching a pattern (將符合樣式的該行列出)
◎語法: grep [options] PATTERN [FILE...] grep用以在file內文中比對相對應的部分,或是當沒有指定檔案時,
由標準輸入中去比對。 在預設的情況下,grep會將符合樣式的那一行列出。 此外,還有兩個程式是grep的變化型,egrep及fgrep。其中egrep就等同於grep -E ,fgrep等同於grep -F 。
◎參數
1. -A NUM,--after-context=NUM
除了列出符合行之外,並且列出後NUM行。
ex: http://www.haoxiai.net/caozuoxitong/unixcaozuoxitong/89229.html
XXnbsp;grep -A 1 panda file
(從file中搜尋有panda樣式的行,並顯示該行的後1行)
◎grep -- print lines matching a pattern (將符合樣式的該行列出)
◎語法: grep [options] PATTERN [FILE...] grep用以在file內文中比對相對應的部分,或是當沒有指定檔案時,
由標準輸入中去比對。 在預設的情況下,grep會將符合樣式的那一行列出。 此外,還有兩個程式是grep的變化型,egrep及fgrep。其中egrep就等同於grep -E ,fgrep等同於grep -F 。
◎參數
1. -A NUM,--after-context=NUM
除了列出符合行之外,並且列出後NUM行。
ex: http://www.haoxiai.net/caozuoxitong/unixcaozuoxitong/89229.html
XXnbsp;grep -A 1 panda file
(從file中搜尋有panda樣式的行,並顯示該行的後1行)
2013年4月3日 星期三
建立資料庫使用者create user[轉]
http://horace1123.pixnet.net/blog/post/26534906-oracle-create-user-%E6%96%B0%E5%A2%9Euser
http://bloodsucker.pixnet.net/blog/post/38649657-oracle-%E6%AC%8A%E9%99%90-(privileges)
1. 新增帳號: CREATE USER 使用者名稱 IDENTIFIED BY 密碼;
2. 權限設定: GRANT 權限 ON 資料庫物件 TO 使用者名稱;
GRANT 角色 TO 使用者名稱
3. 取消權限: REVOKE 權限 ON 資料庫物件 FROM 使用者名稱;
4. 新增角色: CREATE ROLE 角色名稱 [ NOT IDENTIFIED | IDENTIFIED { BY 密碼 | USING [ 鋼要 .] PACKAGE | EXTERNALLY | GLOBALLY } ] ;
5. 取消角色: DROP ROLE 角色名稱
6. 更改密碼: ALTER USER 使用者名稱 IDENTIFIED BY 密碼;
7. 強制變更密碼: ALTER USER 使用者名稱 PASSWORD EXPIRE;
8. 鎖住現有的使用者: ALTER USER 使用者名稱 ACCOUNT LOCK;9. 解鎖現有的使用者: ALTER USER 使用者名稱 ACCOUNT UNLOCK;10. 刪除現有的使用者: DROP USER 使用者名稱;
一些針對 privileges 常用的 view
The views for Oracle object privileges USER_TAB_PRIVS
ALL_TAB_PRIVS
ROLE_TAB_PRIVS
DBA_TAB_PRIVS
Additionally there are Oracle object privileges that pertain to the whole system called system privileges.USER_SYS_PRIVS
ALL_SYS_PRIVS
ROLE_SYS_PRIVS
DBA_SYS_PRIVS
ALL_SYS_PRIVS
ROLE_SYS_PRIVS
DBA_SYS_PRIVS
Then the VIEWS that contain information about the users in the database are:USER_USERS
ALL_USERS
DBA_USERS
--得知user授予哪些腳色
SELECT * FROM DBA_role_privs where grantee = 'P111';
訂閱:
文章 (Atom)