Hatena::ブログ(Diary)

ablog このページをアンテナに追加 RSSフィード Twitter

2014-09-24

Oracle Database のパフォーマンスに関する落書き

f:id:yohei-a:20140925003851j:image


Data Structures

  • Heap-Organized Tables
  • B-Tree Indexes and IOTs
  • Bitmap Indexes
  • Table Clusters

Algorithm

Query Transformations
  • OR Expansion
  • View Merging
  • Predicate Pushing
  • Subquery Unnesting
  • Query Rewrite with Materialized Views
  • Star Transformation
  • In-Memory Aggregation
  • Table Expansion
  • Join Factorization
Access Paths
  • Table
    • Full Table Scans
    • Table Access by Rowid
    • Sample Table Scans
  • Index
    • Index Unique Scans
    • Index Range Scans
    • Index Full Scans
    • Index Fast Full Scans
    • Index Skip Scans
    • Index Join Scans
  • Bitmap Index
    • Bitmap Index Single Value
    • Bitmap Index Range Scans
    • Bitmap Merge
    • Bitmap Index Range Scans
  • Cluster
Join
  • Join Methods
    • Nested Loops Joins
    • Hash Joins
    • Sort Merge Joins
    • Cartesian Joins
  • Join Types
    • Inner Joins
    • Outer Joins
    • Semijoins
    • Antijoins
  • Join Optimizations
    • Bloom Filters
    • Partition-Wise Joins

Statistics Types

  • Table Statistics
  • Column Statistics
  • Index Statistics
  • Session-Specific Statistics for Global Temporary Tables
  • System Statistics
  • User-Defined Optimizer Statistics

参考

2014-09-23

NeoBundle をインストールしてみた

Oracle Linux 6.4 に NeoBundle をインストールしてみた。


$ curl https://raw.githubusercontent.com/Shougo/neobundle.vim/master/bin/install.sh | sh
  • ~/.vimrc に以下を追記する
set laststatus=2
set t_Co=256
let g:Powerline_symbols = 'fancy'

let g:lightline = {
      \ 'colorscheme': 'wombat',
      \ 'component': {
      \   'readonly': '%{&readonly?"⭤":""}',
      \ },
      \ 'separator': { 'left': '⮀', 'right': '⮂' },
      \ 'subseparator': { 'left': '⮁', 'right': '⮃' }
      \ }

if has('vim_starting')
  set runtimepath+=~/.vim/bundle/neobundle.vim/
endif

call neobundle#rc(expand('~/.vim/bundle/'))

" Let NeoBundle manage NeoBundle
NeoBundleFetch 'Shougo/neobundle.vim'

" add plugins
NeoBundle 'Shougo/unite.vim'
NeoBundle 'Shougo/neomru.vim'
NeoBundle 'alpaca-tc/alpaca_powertabline'
NeoBundle 'Lokaltog/powerline', { 'rtp' : 'powerline/bindings/vim'}
NeoBundle 'Lokaltog/powerline-fontpatcher'
NeoBundle 'itchyny/lightline.vim'

filetype plugin on

vim を起動すると bundle をインストールするか聞かれるので、y と入力する。

$ vim   
Not installed bundles: ...
Install bundles now?
(y)es, [N]o: y

f:id:yohei-a:20140923091833p:image:w640


参考

oh-my-zsh をインストールしてみた

Oracle Linux 6.4 に oh-my-zshインストールしてみた。

oh-my-zshインストールする

% curl -L http://install.ohmyz.sh | sh

oh-my-zsh のテーマを変更する

  • ~.zshrc を以下の通り編集する
#ZSH_THEME="robbyrussell"
ZSH_THEME="agnoster"

Powerline をインストールする

f:id:yohei-a:20140923073238p:image:w640

% wget https://github.com/Lokaltog/powerline/raw/develop/font/PowerlineSymbols.otf
% wget https://github.com/Lokaltog/powerline/raw/develop/font/10-powerline-symbols.conf
% mv PowerlineSymbols.otf ~/.fonts/
% fc-cache -vf ~/.fonts/
% mkdir -p ~/.config/fontconfig/conf.d/
% mv 10-powerline-symbols.conf ~/.config/fontconfig/conf.d/

f:id:yohei-a:20140923074409p:image:w640


参考

2014-09-21

Perlスクリプトから sudo でコマンドを実行する

事象

Perl スクリプトから sudo で xentop を実行したら、

@xentopout = `/usr/bin/sudo /usr/sbin/xentop -bf -i 2 -d 2 2>&1`;

以下の通り怒られた。

sudo: sorry, you must have a tty to run sudo

対処方法

# visudo
#Defaults    requiretty

参考

一般ユーザーからxentopを実行できるようにする

事象

一般ユーザーで xentop を実行したら、権限がないと怒られた

$ /usr/sbin/xentop
xc: error: Could not obtain handle on privileged command interface (13 = Permission denied): Internal error
xc_interface_open: Permission denied
Failed to initialize xenstat library

other に実行権限はあるのだが

$ ls -l /usr/sbin/xentop
-rwxr-xr-x 1 root root 55238 May 29  2013 /usr/sbin/xentop

対処策

visudo で /etc/sudoer の設定を編集すると

# /usr/sbin/visudo
yoheia ALL=(ALL)       NOPASSWD: /usr/sbin/xentop

一般ユーザーで xentop を実行できるようになった

$ sudo /usr/sbin/xentop -b -i 1
      NAME  STATE   CPU(sec) CPU(%)     MEM(k) MEM(%)  MAXMEM(k) MAXMEM(%) VCPUS NETS NETTX(k) NETRX(k) VBDS   VBD_OO   VBD_RD   VBD_WR  VBD_RSECT  VBD_WSECT SSID
  Domain-0 -----r        757    0.0     606208    5.8     606208       5.8     2    0        0        0    0        0        0        0          0          0    0

参考

tree コマンドをインストールした

今更、マイPC(Oracle Linux 6.4)に tree コマンドがインストールされてないことに気づいたのでインストールした。

# yum install tree

2014-09-20

テーマを変更する

config.py の html_theme を変更して make html すればOK

$ vim config.py
#html_theme = 'default'
html_theme = 'traditional'
$ make html

参考

curlでファイルをダウンロードする

自分もいつもオプションを忘れるのでメモ

Webからファイルをダウンロードするときwgetを使います。

wgetは、リダイレクトに対応していないので、リダイレクトを使っているサイトの場合には、curlを使います。

オプションをいつも忘れてしまうので、書いておきます。

$ curl -L -O [URL]
curlでファイルをダウンロードする - ksaitoの日記

2014-09-16

VirtualBox を 4.3.10 から 4.3.16 にアップグレードしたメモ

f:id:yohei-a:20140916145240p:image

VirtualBox を 4.3.10 から 4.3.16 にアップグレードした。ゲストの Windows 7 でフルスクリーンモードのときにタスクバーにマウスポインタを合わせようとすると、VirtualBox のミニツールバーが反応するのがストレスフルだったが、ついに改善されているようだ!

VirtualBox 4.3.16 (released 2014-09-09)

(中略)

GUI: mini-toolbar should provoke less artifacts/conflicts with 3D guest rendering

Changelog ? Oracle VM VirtualBox

環境

yazekats% cat /etc/issue
Oracle Linux Server release 6.4
Kernel \r on an \m
yazekats% uname -r
2.6.39-400.17.1.el6uek.x86_64

VirtualBox 4.3.10 アンインストール

# yum remove VirtualBox-4.3

VirtualBox 4.3.16 インストール

ダウンロード
VirtualBox 4.3.16 をインストールする
# yum install VirtualBox-4.3

あれ、yum で update すればよかった?w


VirtualBox Extension Pack をインストールする
  • racle_VM_VirtualBox_Extension_Pack-4.3.16-95972.vbox-extpack を右クリックして"Open With Oracle VirtualBox"を選択する。
  • 確認ダイアログ("VirtualBox - Question")が開くので"Install"ボタンを押す。
  • "VirtualBox License"というダイアログが出るので、読んで"I Agree"を押す。
  • スクロールバーを一番下まで ひっぱらないと"I Agree"ボタンが押せるようにならない。
  • root ユーザーのパスワード入力を求められるので入力する。
Guest Additions をインストールする
  • ゲストOSを起動する。
  • メニューから[Devices]-[Install Guest Additions...]を選択する。
  • インストーラがマウントされるので、マウントされたドライブを開いて、VboxWindowsAdditions.exe を実行する。
  • ウイザードに従ってインストールする。
  • Choose Components で Direct3D Support は選択不要。
  • ゲストOS再起動する。

関連