昨日は峯岸隆一さんの「 Trace File Analyzer(TFA)に含まれている oratop コマンドを使ってみた」 でした。
charade_oo4oと申します。昨年に引き続き、今年も参加致します。
<2016年リリース>
今年はOracleもMicrosoftもサーバ向けの主力製品を一新した年でした。
なのにいまいち気分が盛り上がりませんでした。
「Windows Server 2016」は、まだ使わなくても良い理由を探してしまう事が多いです。
・Nano Server…CBBモデルでSA必須。
・Server Core…(2008からの機能)Oracle Databaseではサポート対象外。
・Docker…Nano Server、Server Coreと同じ理由。PDBとの機能重複。
・Storage Space Direct…H/Wがサポートしていない場合有。ASMとの機能重複。
・Storage Replica…Data Guardとの機能重複。
そもそもOracle Databaseはまだ動作保証されていません。
「Oracle Database 12c Release 2」は、まだOracle Database Cloud Service上のみのリリースです。
DDD2016で初めて知った12.2新機能も多かったので、オンプレミス向けにリリースされた際に検証したいと思います。
特に「INMEMORY JOIN GROUP」は面白そうだと思いました。
「インメモリカラムストアをディスクに保存出来れば、再ポピュレーションの負荷を削減できるのに。」という半年前の妄想は、Securefile LOBへ保存する「In-Memory Fast-Start」で実装される様です。
気になる点は、異なるバージョン間の互換性サポートです。
12.2のサーバに対して、11.2.0.3以降のクライアントが必要でした。
一つ前の11.2のサーバでは、9.2.0.4以降のクライアントと接続可能でした(但し一部バージョンは除く)。
12.2は大胆に切り捨てたと思います。
新旧サーバ移行では、DataPumpのNETWORK_LINK以外でも、旧クライアントから新サーバ、新クライアントから旧サーバの相互接続 が必要な場合が多いです。
新バージョンのサーバと旧バージョンのクライアント間の検証は、Premier SupportかExtended Support開始後2年以内のものについて実施するとの事でした。
12.1のES開始は2018年8月なので、13.1が2020年8月までにリリースされないと、12.1も切り捨てられる可能性があります。
13.1が先か、東京オリンピックが先か、予断を許しません。
12.2.0.1へ移行した場合も、初期リリースは相互接続可能なバージョンに制約が出る事が多いです。
次々期移行を考えると、次期移行は11.2.0.4か、12.1.0.2か、12.2.0.1か、結構悩ましいです。
<今年のネタ>
昨年までHyper-V上でのOracleの試行錯誤をテーマにしていましたが、2016年はネタが思いつきませんでした。
2016年に試した事は、ようやく12.1.0.2RACを構築した位でした。
基本的にはOTNの12.1.0.1RACの資料を参考にHyper-Vで構築しました。2014年のネタと同様です。
http://www.oracle.com/technetwork/jp/database/enterprise-edition/documentation/raconvbox-db12101onol6u4-2080481-ja.pdf
Oracle VM VirtualBox を用いた Oracle Real Application Clusters (RAC) 12c Release 1 環境の構築
注意点はメモリ割当が2.5Gでは足りなくなった事でした。
メモリ不足でOS自体が突然再起動してしまう事がありました。
12.1.0.2RACからmgmtdb(グリッド・インフラストラクチャ管理リポジトリ)がどちらかのノードで実行されます。
alertlogから確認すると、sga_target = 752M、pga_aggregate_target = 325Mでした。
その他は12.1.0.1RAC同様、OS自体で1G弱、DBに1G、ASMに1G必要でした。
合計すると、mgmtdb有のノードでは4G弱、mgmtdb無のノードでは3G弱必要となります。
今回は起動メモリは2.5Gのまま、動的メモリの上限を4Gへ変更して対応しました。
その他の注意点としては、dbcaを実行する前にはOSを再起動して、別ノードへmgmtdbを移動させた方が良さそうでした。
mgmtdb有のノードでdbcaを実行すると、リソース不足の為かdbca実行中に固まる事もありました。
![]() |
rc1,rc2:2ノードRAC rcd:DNS |
![]() |
rc1:mgmtdb有 メモリ要求:5529MB |
![]() |
rc2:mgmtdb無 メモリ要求:4177MB |
![]() |
rcd:DNS&iSCSI(共有ディスク用) メモリ要求:1638MB |
<VHDXブートの勧め>
ネタが少ないので検証用PCの環境説明します。
私が自宅で使用しているPCは、Hyper-Vで使用される仮想ディスクのVHDXファイルで物理環境を起動するVHDXブートで使用していま す。
更に同一VHDXで、物理起動(VHDXブート)とHyper-V起動を実行しています。
VHDXブートのメリットは下記の通りです。
○1台のPCで複数OSを検証可能。
○別VHDXから起動すると、他のVHDXをファイルベースでバックアップ・リストア可能。
VHDXブートの最大のデメリットは下記の通りです。
×OSのアップグレードが実行不能。
このデメリットを補う為に、同一VHDXでのHyper-V起動を併用しています。
環境構築の手順や注意点は、下記の通りです。
No |
手順・注意点 |
1 |
物理環境でHyper-Vを有効化。 |
2 |
同じ名称で仮想スイッチを作成。PowerShellを管理者として実行。 New-VMSwitch -Name "外部" -NetAdapterName アダプタ名 New-VMSwitch -Name "内部" -SwitchType Internal New-VMSwitch -Name "プライベート" -SwitchType Private rem 内部向けにJumboPacket設定 netsh interface ipv4 set subinterface interface="vEthernet (内部)" mtu=9000 store=persistent netsh interface ipv4 show interfaces rem 内部向けにIPアドレス設定 netsh interface ip set address name="vEthernet (内部)" source=static address=192.168.xxx.xxx mask=255.255.xxx.xxx netsh interface ip show address |
3 |
構築済の仮想マシンをインポート。PowerShellを管理者として実行。 import-vm -path "?:\???\Virtual Machines\???.vmcx" -Register |
4 |
VHDXブート用の仮想マシンは第二世代で作成。 C:の容量が足りない場合、第二世代ではオンライン拡張可能。 |
5 |
OSのアップグレードはHyper-Vの仮想マシンで実施。 |
6 |
VHDXブート設定。コマンドプロンプトを管理者として実行。 仮想マシンをシャットダウン後、対象のVHDXを物理環境にマウント (例 F:)。 bcdedit /copy {current}等 /d "description" bcdedit /set {identifier} device partition=F: bcdedit /set {identifier} osdevice partition=F: ※vhd=[?:]\???\???.vhdx の指定では、再インストール時にパーティションを切り直すとVHDXブート不能となる場合有。 |
7 |
再起動時のブートメニューで、VHDXブート対象のOSを選択。 |
8 |
初回VHDXブート時に物理環境のドライバインストール。 |
9 |
ドライブレター変更時にエラーが出る場合、仮想メモリを無効化(ページングファイルなし)。 |
10 |
1に戻る。 |
VHDXブートで2つのWindows10環境を交互にアップグレードして、Active-Standby方式での復旧を可能としています。
Insider ProgramのFast Ringは1-2週間に一度位のペースでアップグレードされます。
時には不安定なBuildが落ちてきます。最近はHyper-Vのコンソールが不安定です。
最近のWindows10は、ネイティブ4KセクタのVHDXにもインストール可能です。
新規格のデバイスには、MicrosoftもOracleも当時の最新版でも対応していない事があります。
対応していても、機能制限や運用回避が必要な場合があります。
特にOracleは、上限テスト、別製品組合せ・新旧バージョン組合せテストが弱いと感じる事も多いです。
複数端末に同一構成を用意する場合も、VHDXブートは役立ちます。
研修環境でVHDXブートを活用している所もありました。
<まとめ>
・11.2.0.4か、12.1.0.2か、12.2.0.1か。
・12.1.0.2RACはメモリ喰らい。
・VHDXブートは便利。
明日はKenichi Miharaさんです。