2015年3月25日 星期三

Oracle DBA Admin SQLs to check tablespace sizes and table sizes (Untested)

select
   srt.tablespace,
   srt.segfile#,
   srt.segblk#,
   srt.blocks,
   a.sid,
   a.serial#,
   a.username,
   a.osuser,
   a.status
from   
   v$session    a,
   v$sort_usage srt
where
   a.saddr = srt.session_addr
   order by
srt.tablespace, srt.segfile#, srt.segblk#,
 srt.blocks;


 select * from v$sort_usage;

 select * from v$sort_segment;



SELECT
   A.tablespace_name tablespace,
   D.mb_total,
   SUM (A.used_blocks * D.block_size) / 1024 / 1024 mb_used,
   D.mb_total - SUM (A.used_blocks * D.block_size) / 1024 / 1024 mb_free
FROM
   v$sort_segment A,
(
SELECT
   B.name,
   C.block_size,
   SUM (C.bytes) / 1024 / 1024 mb_total
FROM
   v$tablespace B,
   v$tempfile C
WHERE
   B.ts#= C.ts#
GROUP BY
   B.name,
   C.block_size
) D
WHERE
   A.tablespace_name = D.name
GROUP by
   A.tablespace_name,
   D.mb_total
  
select * from v$tablespace;
select * from v$datafile;
select * from v$tempfile;
select * from v$sort_segment;
select * from dba_data_files where TABLESPACE_NAME like 'PULSE%';

select SEGMENT_NAME, bytes/(1024*1024) datasize from dba_segments where TABLESPACE_NAME ='PULSETABLESPACE' order by bytes desc;

select df.tablespace_name "Tablespace",
totalusedspace "Used MB",
(df.totalspace - tu.totalusedspace) "Free MB",
df.totalspace "Total MB",
round(100 * ( (df.totalspace - tu.totalusedspace)/ df.totalspace))
"Pct. Free"
from
(select tablespace_name,
round(sum(bytes) / 1048576) TotalSpace
from dba_data_files
group by tablespace_name) df,
(select round(sum(bytes)/(1024*1024)) totalusedspace, tablespace_name
from dba_segments
group by tablespace_name) tu
where df.tablespace_name = tu.tablespace_name ;

Best  regards,

Kelvin Lo


2015年3月23日 星期一

Install GitLab on Linux 超簡單,用 gitlab 自架一個像 github 的平台



1. Uninstall Https because of future nginx

$ sudo yum erase httpd httpd-tools apr apr-util

2.

http://www.pigo.idv.tw/archives/2779



超簡單,用 gitlab 自架一個像 github 的平台


Share on Facebook0Share on Google+6Tweet about this on Twitter0Share on LinkedIn0
gitlab 是一套開放原始碼專案,使用 ruby on rails 開發的 git 管理平台,簡單來說,就如大家常見的 github 那樣,可以由 web 介面管理 git server ,寫 issue, wiki , milestone , web hooks 都有,而且不用做太繁雜的設定就可以自動架起一個具備 https 及 ssh 傳輸的 git server。如果再搭配 gitlab ci 還可以做到自動化測試呢。
不多說,直接來。

安裝環境說明

gitlab 有兩個版本, GitLab Community Edition (CE) 及 GitLab Enterprise Edition (EE),CE 版就是 Free 的,我們這裡就介紹 gitlab-ce 架設的方式,官方網站已經提供了 CentOS/Debian/Ubuntu 的直接安裝套件,我就介紹我比較熟的 CentOS 6 環境了。
我是使用 openvz 的虛擬化技術建議至少配置 2G ,因為官方是這麼建議的,我個人裝完之後也發現至少會吃掉 800MB RAM,也挺恐怖的。

安裝步驟

官方網站已經提供了下載 rpm 的安裝方式 , 基本上照上面網址下載對應的 OS 版本就會顯示出安裝方法,我這邊就是以 CentOS 6 為範例,最好弄個乾淨的 CentOS 專門做原始碼控管伺服器,中途不需安裝 git , ruby 或 web server 了,因為官方提供的有整合了大部分的套件(nginx,ruby & rails , git , redis , postgresql …)。
前置工作我會先把 httpd 移除,因為 gitlab 已經有內建 nginx,而且預設 port 是 80,為了能順利安裝就先移掉了,然後依照官方提供的安裝方式繼續安裝。

下載 gitlab 並用以下方式安裝

修改設定檔

這個設定檔的內容,裡面有一行 external_url 的設定改成要對外開放 web 的 url ,例如我只想內部使用也許改成  http://192.168.0.10 這樣子。

安裝並執行 gitliab

如果上述命令沒有 lokkit,可以自己用 yum install lokkit 安裝。事實上 lokkit 也只是設定 iptables 把 http 和 ssh 打開,如果原本就有開了也不用執行或手動自己設定 iptables 也可以。
如果一切順利,以上述我設定的 external_url 的網址,由流覽器打開 http://192.168.0.10 應該就如下圖的網站畫面出現了。

gitlab
這時候輸入預設的帳號及密碼就可以登入
  • 帳號 : root
  • 密碼 : 5iveL!fe
恭喜,這樣就安裝完畢了,完全不用自己搞 git server 和 web server 超簡單的。
而且 github 有的功能,gitlab 幾乎都有,在網站介面中可以自己創建 user 多人使用,可以 ssh or http 傳輸,可以寫 issue , 寫 markdown 語法的 wiki,簡直就和 github 一樣嘛。

補充

  1. 若要停止 gitlab,可以輸入 gitlab-ctl stop,若要啟動就執行 gitlab-ctl start
  2. gitlab 存放所有資料的地方是 /var/opt/gitlab,若要備份可以針對此目錄備,不過官方網站有介紹正規的方法來備份比較保險,否則就要先停止 gitlab 然後再備份。




3.

2015年3月20日 星期五

Git Usage Example in Linux



[root@development-ricky git]# git init
Initialized empty Git repository in /home/ricky/NetBeansProjects/git/.git/
[root@development-ricky git]# git remote add eras git@10.32.26.205:eras/eras.git
[root@development-ricky git]# git pull eras development
remote: Counting objects: 6136, done.
remote: Compressing objects: 100% (3306/3306), done.
remote: Total 6136 (delta 3091), reused 5395 (delta 2529)
Receiving objects: 100% (6136/6136), 16.17 MiB | 30.23 MiB/s, done.
Resolving deltas: 100% (3091/3091), done.
From 10.32.26.205:eras/eras
 * branch            development -> FETCH_HEAD
[root@development-ricky git]# git branch
* master
[root@development-ricky git]# git checkout -b development
Switched to a new branch 'development'
[root@development-ricky git]# git branch
* development
  master

git commit -m 'temp commit'
git rebase -i HEAD~2

git push -f origin DEVELOPMENT


http://blog.gogojimmy.net/2012/02/29/git-scenario/


Git 情境劇

 | COMMENTS

Git 情境劇

這篇主要是給自己做個記錄,因為 Git 指令實在太多了…
  1. Git 教學(1):Git的基本使用
  2. Git 教學(2):Git Branch 的操作與基本工作流程
  3. 如何安裝 Git
    • Mac : 安裝 Homebrew
        brew install git
      
    • Linux(Debian) : apt-get install git-core
    • Linux(Fedora) : yum install git-core
    • Windows : 下載安裝 msysGit
  4. 如何設定 Git
  5. 如何開始一個 Git Respository
    • 在專案底下使用 git init 開始一個新的 Git repo.
    • 使用 git clone 複製一個專案
  6. 如何將檔案加入 Stage
    • 使用 git add 將想要的檔案加入 Stage.
    • git add . 會將所有編修過的檔案加入 Stage (新增但還沒 Commit 過的檔案並不會加入)
  7. 如何將檔案從 Stage 中移除(取消add)
    • git reset HEAD 檔案名稱
  8. 如何將檔案提交(commit)
    • 使用 git commit會將 Stage 狀態的檔案做 Commit 動作
    • git commit -m "commit訊息" 可以略過編輯器直接輸入 commit 訊息完成提交。
    • git commit -am "commit訊息" 等同於先git add .後略過編輯器提交 commit。
  9. 如何修改/取消上一次的 commit
    • git commit --amend 修改上一次的 commit 訊息。
    • git commit --amend 檔案1 檔案2... 將檔案1、檔案2加入上一次的 commit。
    • git reset HEAD^ --soft 取消剛剛的 commit,但保留修改過的檔案。
    • git reset HEAD^ --hard 取消剛剛的 commit,回到再上一次 commit的 乾淨狀態。
  10. 分支基本操作(branch)
    • git branch 列出所有本地端的 branch。
    • git branch -r 列出所有遠端的 branch。
    • git branch -a 列出所有本地及遠端的 branch。
    • git branch "branch名稱" 建立一個新的 branch。
    • git checkout -b "branch名稱" 建立一個新的 branch 並切換到該 branch。
    • git branch branch名稱 起始點 以起始點作為基準建立一個新的 branch,起始點可以是一個 tag,branch 或是 commit。
    • git branch --track branch名稱 遠端branch 建立一個 tracking 遠端 branch 的 branch,這樣以後 push/pull都會直接對應到該遠端的branch。
    • git branch --set-upstream branch 遠端branch 將一個已存在的 branch 設定成 tracking 遠端的branch。
    • git branch -d "branch 名稱" 刪除 branch。
    • git -r -d 遠端branch 刪除一個 tracking 的遠端 branch,例如git branch -r -d wycats/master
    • git push repository名稱 :遠端branch 刪除一個 repository 的 branch,通常用在刪除遠端的 branch,例如git push origin :old_branch_to_be_deleted
    • git checkout branch名稱 切換到另一個 branch(所有修改過程會被保留)。
  11. 遠端操作(remote)
    • git remote add remote名稱 remote網址 加入一個 remote repository,例如 git remote add github git://github.com/gogojimmy/test.git
    • git push remote名稱 :branch名稱 刪除遠端 branch,例如 git push origin :somebranch
    • git pull remote名稱 branch名稱 下載一個遠端的 branch 並合併(注意是下載遠端的 branch 合併到目前本地端所在的 branch)。
    • git push 類似於 pull 操作,將本地端的 branch 上傳到遠端。
  12. 合併操作(merge)
    • git merge branch名稱 合併指定的 branch 到目前的 branch。
    • git merge branch名稱 --no-commit 合併指定的 branch 到目前的 branch 但是不會產生合併的 commit。
    • git cherry-pick SHA 將某一個 commit 的內容合併到目前 branch,指定 commit 是使用該 commit 的 SHA 值,例如 git cherry-pick 7300a6130d9447e18a931e898b64eefedea19544
  13. 暫存操作(stash)
    • git stash 將目前所做的修改都暫存起來。
    • git stash apply 取出最新一次的暫存。
    • git stash pop 取出最新一次的暫存並將他從暫存清單中移除。
    • git stash list 顯示出所有的暫存清單。
    • git stash clear 清除所有暫存。
  14. 常見問題:
    • 我的 code 改爛了我想全部重來,我要如何快速回到乾淨的目錄?
      • git reset --hard 這指令會清除所有與最近一次 commit 不同的修改。
    • merge 過程中發生 confict 我想放棄 merge,要如何取消 merge?
      • 一樣使用 git reset --hard 可以取消這次的 merge。
    • 如何取消這次的 merge 回到 merge 前的狀態?
      • git reset --hard ORIG_HEAD 這指令會取消最近一次成功的 merge 以及所有你在這次 merge 後所做的修改。
    • 如何回復單獨檔案到原本 commit 的狀態?
      • git checkout 檔案名稱 這指令會將已經被修改過的檔案回復到最近一次 commit 的樣子。
  15. 其他連結:
  16. Git 教學(2):Git Branch 的操作與基本工作流程
  17. Git 情境劇:告訴你使用 Git 時什麼情況該下什麼指令

   git

2023 Promox on Morefine N6000 16GB 512GB

2023 Promox on Morefine N6000 16GB 512GB Software Etcher 100MB (not but can be rufus-4.3.exe 1.4MB) Proxmox VE 7.4 ISO Installer (1st ISO re...