2013年6月30日日曜日

Oracle 12c の EM Express はメモリ表示がきれい。

Oracle Database 12cの
Enterprise Manager Database Express(旧 DBConteol。通称 EM Express?)を眺めていたら、
メモリグラフがあまりに美麗だったのでポストしてみました。

EM Expressの「構成」→「メモリー」で、メモリー構成画面を開きました。
※DBには特に処理が走っているわけではなく、インスタンスはただ起動されているだけです。


メモリの「割り当ての内訳」グラフです。
グラフにカーソルをあてると、値(何MB割り当てているか)とパーセンテージ表示されます。


凡例にカーソルをあてると、グラフの対応部分がハイライトされます。


「割り当て履歴」には、「ホスト・メモリーの表示」というチェックボックスがあります。
デフォルトではチェックOFFで、DBインスタンスの使用量に合わせて
グラフ表示が自動調整されています。


「ホスト・メモリーの表示」をONにすると、OSが認識しているメモリ容量が、赤線で表示されます。
ちなみに、この Oracle 12c はVMにインストールしているので
ホスト・メモリー として表示されているのは、
「物理ホスト」ではなく、「VMに割り当ててある(ゲストOSが認識している)」メモリ容量です。
※VMにはメモリを4GB割り当ててあります。


よい感じのグラデーションだと思います。

以上、EM Expressのメモリ表示の話でした。

2013年6月27日木曜日

とうとう Oracle Database 12c でました。

待望の Oracle Database 12c がDLできるようになりました。

http://www.oracle.com/technetwork/jp/database/enterprise-edition/downloads/index.html
日本語サイトでもDLできるようになったみたいです。

さっそくインストールしてみました。
いくつか気づいたことを・・・(以下、インストールのキャプチャをいくつか)

インストーラは 11g R2 と似ています。
うわさのプラガブル・データベースとして作成してみます。
「orcl」というコンテナ・データベースに、「pdborcl」というプラガブル・データベースを
作成しようとしています。


DBに付属する Enterprise Manager (旧 DB Control) は、
Enterprise Manager Database Express (通称EM Express ?)になりました。
Cloud Control(旧 Grid Control)への登録画面です。(今回はEM Expressにします)


インストール中に指定するOSシステムグループには、
「Data Guard管理者(OSDGDBA)」 などが追加されています。


EM Database Express のログイン画面です。
11g のときより、さらに青くなりました。


DB Expressの画面は、EM 12c Cloud Control に似ています。
勢いでホスト名に rac~などとつけてしまいましたが、今回はシングルインスタンスです。


画面の左側には、
CDB(1 PDBs)
= コンテナデータベースに1つのプラガブルデータベースがある
と見えます。

パフォーマンスチャートにも、
プラガブルデータベースの「PDB」タブが用意されています。



以上、Oracle 12c を試しにインストールしてみた話でした。
検証はぜひ Oracle VM で・・・

2013年6月22日土曜日

Oracle VM Manager 3.2 のDBバックアップについて

Oracle VM Manager 3 (OVMM)で、リポジトリのDBとして
同梱の MySQL を使用すると、
「MySQL Enterprise Backup」(MEB)というユーティリティでDBが自動バックアップされます。

Oracle VM
インストレーションおよびアップグレード・ガイド リリース3.2.1
4.12. Oracle VM Managerのバックアップ
http://docs.oracle.com/cd/E40528_01/b71927/vmiug-manager-backup.html

バックアップの設定は /etc/sysconfig/ovmm に記載されています。
とはいっても、バックアップの出力先と、バックアップで使用するコマンドが
記載されているだけです。
[root@ovmm31 ~]# cat /etc/sysconfig/ovmm
RUN_OVMM=YES
JVM_MEMORY_MAX=4096m
JVM_MAX_PERM=512m
DBBACKUP=/u01/app/oracle/mysql/dbbackup ★バックアップ出力先
DBBACKUP_CMD=/opt/mysql/meb-3.8/bin/mysqlbackup ★バックアップコマンド(MEB)
UUID=0004fb000001000012738a647a8d2b17

基本的には「DBBACKUP」の場所を変更するだけで、
「DBBACKUP_CMD」は、MEBのバージョンアップでコマンドのパスが変わったりしない限り
変更しない想定のようです。

手元の環境(OVMM 3.2.1)では、バックアップ先ディレクトリは下記のような感じです。
基本的には 24時間ごと に自動バックアップされます。
※結構OVMMを停止しているので、取得データはとびとびです。
[root@ovmm31 ~]# ls /u01/app/oracle/mysql/dbbackup
AutoFullBackup-20130218_012721  AutoFullBackup-20130429_003433
AutoFullBackup-20130223_104153  AutoFullBackup-20130503_003622
AutoFullBackup-20130302_104554  AutoFullBackup-20130504_003647
AutoFullBackup-20130308_104846  AutoFullBackup-20130505_003708
AutoFullBackup-20130315_115906  AutoFullBackup-20130523_001038
AutoFullBackup-20130317_140001  AutoFullBackup-20130528_001205
AutoFullBackup-20130331_002411  AutoFullBackup-20130530_001241
AutoFullBackup-20130404_002528  AutoFullBackup-20130531_001258
AutoFullBackup-20130415_002916  AutoFullBackup-20130608_194157
AutoFullBackup-20130418_003016  AutoFullBackup-20130610_194232
AutoFullBackup-20130421_003113


OVMM リポジトリDBのバックアップを手動実行してみる

ためしに、スクリプトを実行してみたところ、
マニュアル通り、バックアップが実行されました。
[root@ovmm31 ~]# /u01/app/oracle/ovm-manager-3/bin/createBackup.sh

Backing up the Oracle VM Manager MySQL Database...

Please enter the Oracle VM manager user name: admin
Please enter the Oracle VM manager user password: ★パスワード入力

INFO: Succesfully backed up database as AutoFullBackup-20130620_005307

取得されたバックアップを一つ見てみます。
[root@ovmm31 ~]# ls -lh /u01/app/oracle/mysql/dbbackup/AutoFullBackup-20130620_010105
合計 132M
-rw-r----- 1 oracle oinstall 5.5K  6月 20 01:01 AutoBackup.log
-rw-r----- 1 oracle oinstall 132M  6月 20 01:01 OVMManagerDB.mbi
-rw-r----- 1 oracle oinstall  189  6月 20 01:01 backup-my.cnf
drwx------ 2 oracle oinstall 4.0K  6月 20 01:01 datadir
drwx------ 2 oracle oinstall 4.0K  6月 20 01:01 meta

SQL文のエクスポートではなく、バイナリファイルでバックアップされているようです。
MySQLの設定ファイルも取得してくれています。
[root@ovmm31 ~]# cd /u01/app/oracle/mysql/dbbackup/AutoFullBackup-20130620_010105/
[root@ovmm31 AutoFullBackup-20130620_010105]# file *
AutoBackup.log:   ASCII English text
OVMManagerDB.mbi: data
backup-my.cnf:    ASCII text
datadir:          directory
meta:             directory
[root@ovmm31 AutoFullBackup-20130620_010105]# file datadir/* meta/*
datadir/ibbackup_logfile:  data
meta/backup_content.xml:   XML 1.0 document text
meta/backup_create.xml:    XML 1.0 document text
meta/backup_variables.txt: ASCII text
meta/image_files.xml:      XML 1.0 document text


MySQL Enterprise Backup(MEB)の実体

MEBは、通常では MySQL の Enterprise Edition で提供されるユーティリティらしいです。
これはRPMでインストールされています。
[root@ovmm31 ~]# rpm -q meb
meb-3.8.0-rhel5
[root@ovmm31 ~]# rpm -qi meb
Name        : meb                          Relocations: /opt/mysql
Version     : 3.8.0                             Vendor: Oracle
Release     : rhel5                         Build Date: 2012年07月28日 01時14分07秒
Install Date: 2013年02月18日 00時19分23秒      Build Host: frigg35
Group       : Applications/Databases        Source RPM: meb-3.8.0-rhel5.src.rpm
Size        : 5318939                          License: Copyright (c) 2011 Oracle. All rights reserved.
Signature   : DSA/SHA1, 2012年07月28日 01時52分19秒, Key ID 8c718d3b5072e1f5
Packager    : MySQL Release Engineering <mysql-build@oss.oracle.com>
Summary     : MySQL Enterprise Backup 3.8.0
Description :
MySQL Enterprise Backup 3.8.0 is Oracle's enterprise-class backup solution for MySQL Server.

MEB 自体のファイルはそんなに多くありません。
これを、OVMM独自のスクリプトから実行しています。
[root@ovmm31 ~]# rpm -ql meb
/opt
/opt/mysql
/opt/mysql/meb-3.8
/opt/mysql/meb-3.8/README.txt
/opt/mysql/meb-3.8/bin/ibbackup
/opt/mysql/meb-3.8/bin/innobackup
/opt/mysql/meb-3.8/bin/mysqlbackup
/opt/mysql/meb-3.8/manual.html
/opt/mysql/meb-3.8/mysql-html.css

以上、OVMM3.2 のDBバックアップについてでした。

2013年6月12日水曜日

Oracle VM 3 のVM名とUUIDのひもづけを見てみる

前回に引き続き、Oracle VM 3.x がオブジェクトをUUID管理することについてです。
今回は、VM名のUUIDのひもづけを見てみたいと思います。

Oracle VM Manager(OVMM) で見てみる。

OVMMで管理されるオブジェクトは、VMに限らずUUIDを持っていますが、
とりあえずVMのUUIDは下記に表示されます。

例では、「oemdb1」というVMが、
「0004fb0000060000f624f492159dff28」 というIDで管理されています。



Oracle VM CLI で見てみる。

Oracle VM CLI では、簡単にVMのIDを見ることができます。

例では、OVMMをインストールしたLinuxで、
自分自身のOVMMインスタンスにCLI 接続しています。
[root@ovmm31 ~]# ssh -p 10000 -l admin localhost
admin@localhost's password:
OVM> list vm
Command: list vm
Status: Success
Time: 2013-06-12 23:40:03,464 JST
Data:
  id:0004fb00000600001e52345b53095ef8  name:vm01
  id:0004fb0000060000f624f492159dff28  name:oemdb1
  id:0004fb0000060000f35e350e6a00225c  name:oem12c1
OVM>

Oracle VM Server(OVS)で見てみる。

OVSにSSH等でログインしてVMのUUIDを確認したい場合は、
VMの設定ファイル(vm.cfg)を見ると記載されています。
[root@ovs2 0004fb0000060000f624f492159dff28]# cat vm.cfg
vif = ['mac=00:21:f6:00:00:17,bridge=xenbr0']
OVM_simple_name = 'oemdb1'
guest_os_type = 'linux'
disk = ['file:/OVS/Repositories/0004fb0000030000cb5f6d6c030152f1/VirtualDisks/0004fb00001200000a84a56577326586.img,xvda,w', 'file:/OVS/Repositories/0004fb0000030000cb5f6d6c030152f1/VirtualDisks/0004fb000012000030d31a229e6376d2.img,xvdb,w', 'file:/OVS/Repositories/0004fb0000030000cb5f6d6c030152f1/VirtualDisks/0004fb00001200007e189dabb773eaeb.img,xvdc,w', 'file:/OVS/Repositories/0004fb0000030000cb5f6d6c030152f1/ISOs/0004fb00001500004f16c6f8e3d1accf.iso,xvdd:cdrom,r']
bootargs = ''
uuid = '0004fb00-0006-0000-f624-f492159dff28'
on_reboot = 'restart'
cpu_weight = 27500
OVM_os_type = 'Oracle Linux 5'
cpu_cap = 0
maxvcpus = 1
OVM_high_availability = False
memory = 2048
OVM_description = ''
on_poweroff = 'destroy'
on_crash = 'restart'
bootloader = '/usr/bin/pygrub'
name = '0004fb0000060000f624f492159dff28'
usbdevice = 'tablet'
vfb = ['type=vnc,vncunused=1,vnclisten=127.0.0.1,keymap=ja']
vcpus = 1
OVM_cpu_compat_group = ''
OVM_domain_type = 'xen_pvm'
ただし、vm.cfgファイル自体、見つけるのが大変です。
けっこう深いパスにあり、途中のディレクトリ名にもUUIDがありわかりにくいです。
たとえば、上記の vm.cfg のフルパスは
/OVS/Repositories/0004fb0000030000cb5f6d6c030152f1/VirtualMachines/0004fb0000060000f624f492159dff28/vm.cfg
でした。

OVMM や、Oracle VM CLI で十分なため あまり使い道ありませんが、
下記のような感じでスクリプト(orコマンド)を作成して実行してみると
VM と UUID のひもづけが見やすいのではないかと思います。
get_vmlist.sh
find /OVS -name vm.cfg | while read L
do
 echo -n `grep ^name $L | awk '{print $3}'`
 echo -n ' '
 echo `grep OVM_simple_name $L | awk '{print $3}'`
done

実行してみるとこんな感じです。
[root@ovs2 ~]# sh get_vmlist.sh
'0004fb00000600001e52345b53095ef8' 'vm01'
'0004fb0000060000f35e350e6a00225c' 'oem12c1'
'0004fb0000060000f624f492159dff28' 'oemdb1'

以上、VMとUUIDのひもづけ確認でした。

2013年6月9日日曜日

Oracle VM 3 での「xm top」のVM名をフルネーム表示する方法について。

Oracle VM Manager 3.x系(OVMM)で Oracle VM Server(OVS) を管理していると、
オブジェクトが内部的にUUIDで管理されます。

そのため、OVSの記憶域リポジトリでは、Oracle VM 2.xでは
VM名がそのまま使用されていたフォルダ名がUUIDになっていたりして、とても見にくいです。
OVMMで管理する分には、そこまで気になりませんが、
Xen的にsshログインしてコマンドラインで操作しようとすると大変です。

たとえば、VM名が「vm1」や「oel01」としていても、OVS内では、下記のように見えます。
※VMが8つある状態です。
[root@ovs2 ~]# ls -1 /OVS/Repositories/0004fb0000030000cb5f6d6c030152f1/VirtualMachines/
0004fb00000600004c995b54667d0005
0004fb00000600004e403fde3aa41136
0004fb000006000055b6f6fe47e6a8c9
0004fb0000060000a1c9b21aeff3e1cc
0004fb0000060000a56518eb949796f8
0004fb0000060000f35e350e6a00225c
0004fb0000060000f624f492159dff28
0004fb0000060000f6c4d0459c0d085f

OVMMで管理されるIDは、上16文字が共通になってしまうようです。
そんな中で 「xm top」 や「xentop」を実行してみると、
そのままでは、名前ではどれがどの VM か判別できません。
# xm top

そのまま xm top を実行しただけでは、
Domain-0 以外は 「0004fb0000」 と表示されてしまいます。



この場合、xentopに 「-f」または「--full-name」をつけて実行すると
VM名の全体が表示されます。
# xentop -f



以上、Oracle VM 3 での xm top 表示についてでした。