Oracle」カテゴリーアーカイブ

先日、仕事でイベントに参加させていただいた際にOracleが提供している MySQL Heat Waveなるものを知った

Heat Wave

MySQL HeatWaveは、HeatWave In-Memory Query Acceleratorを搭載したフルマネージドのデータベース・サービスです。トランザクション、データウェアハウスやデータレイクをまたいだリアルタイム分析、機械学習を1つのMySQL Databaseに統合し、ETLの重複による複雑さ、レイテンシ、リスク、コストを排除した唯一のクラウド・サービスです。

HeatWave – 組み込みのMLによるインメモリ・クエリ・アクセラレータhttps://www.oracle.com/jp/mysql/heatwave/

ということで、DBとDataLakeが合体したような感じなのかしら。
OracleCloudだけでなく、AzureやAWSでも動作するとある。
そういう意味ではSnowFlakeの対抗になるものなんだろう

そう思ったら、あからさまに対抗意識を燃やしている記事があった

5 reasons why MySQL HeatWave on OCI is better than Snowflake
https://www.oracle.com/mysql/heatwave/heatwave-vs-snowflake/

こういった公式で出している比較がどれほど意味があるのか。
都合がいい条件での比較担っている可能性もあるので、なんとも言えないところはあるけど、AWSでも動作するというのであれば試してみても面白いのかもしれない。

ただし、こちらの記事を読むと、AWSで使う場合にもOracleCloudの契約が必要になるようだ

東京リージョンにやってきた MySQL HeatWave on AWS を試す (1) 初期設定編https://qiita.com/hmatsu47/items/8f202eef64ea57e7d948

うーん、それは結構面倒そうだ。

OracleとMicrosoft

色々とHeatWaveに関して調べていると、こんな記事も見つけた

Ellison氏は、OracleとMicrosoftの連携についても改めて語った。「Oracle Cloud」とAzureのマルチクラウドでは、データのイグレス/エグレスの料金がかからないほか、AzureのアプリケーションとOracle Cloudのデータベース間は非常に低遅延だという。また、Oracle Cloud/Azureにおける大半のサービスは双方のコンソールからアクセスできる

「ウォールドガーデンは崩壊した」–エリソン氏が語る、顧客を“庭の主”にするマルチクラウド
https://japan.zdnet.com/article/35194867/

マルチクラウドで業務を回しているユーザーも、なんでそうなったのかはベンダーがそれぞれそう構築したという後ろ向きな理由も多分にあるだろうが、それなりに増えている気がする。

その中で、クラウド間でのデータ連携は日常で発生していることを考えると、こういう動きというのは歓迎されるべきもので、現状で他はどうなんだ?というのは気になるところだけど、うまく見つけることができなかった。

OCI(Oracle Cloud Infrastructure)はこれまであまり気にしてこなかった面もあるので、ちょっと気に留めておいてもいいかもと、思ったです。

ちなみに、OCIと聞くとどうしてもOracle Call Interfaceを思い浮かべてしまうんですよね。。。あれ、今でもあるよね、きっと。

Surface Pro 3 での Virtual Box 起動エラー

開発環境を少しずつ整理している Surface Pro 3 ですが、仮想環境としては Hyper-V ではなく Virtual Box を利用しようとしています。
理由としては、Vagrant とかいじりたいからです。

仮想環境の用途としては、主に実行・テスト環境的な形ですね。

Windows で動作させるのが結構面倒なものもあるので仮想環境上に開発環境を持っている人も多くいるようですが、
一番の懸念は、適当にあれこれと試した結果、レジストリやらフォルダやらが滅茶苦茶になってしまうのが嫌なんですよ。

あれこれと試してみたいんだけど、試した結果どんどんと OS が重くなってしまうのでは困りものですから。

まぁ、そんな理由で仮想環境を建てようとしたのですが・・・・

20140827_vvox_error

こんな感じでエラーになってしまいます。

環境としては、

Surface Pro 3
Virtual Box 4.3.14
Ubuntu

という条件です。

Ubuntu は、公式のVHDからでも、手動でHDD作ってISOからやろうとしても同じエラーが表示されます。
というか、そもそも仮想PCの起動が出来ていない感じがするのでOSとか関係ないかもしれません。

ただ、別のPCでWindows8.1 環境があるのですが、そちらでは問題なく Virtual Box が動作している。ちょっとバージョンは失念してしまっているけど。
なので、単純なホストOS側の問題とは限らないと思うんだけどなぁ~。

これにずっと躓いていて、一向に Surface 上で物事が進まずに苛立ちを感じていました。

あれこれ公式のフォーラムを探していたのですが、よく解決方法がわからず、検索の方向性を変えて「Surfaceで」という感じで調べてみたら…

VirtualBoxのインストールエラー
http://qiita.com/nmatsui/items/80aff4e7f085d8d6de83

ヒットした。

そして、指示に従って 4.3.12 で試してみたところあっさりと起動しました。

うーん、Surface の何に引っかかったんだろう?
いずれにしても、ずいぶんと時間がかかってしまったな。

久々に

Oracle設定でつまづいてしまい、帰るのが遅くなってしまった。
いくつか納得のいくことと納得のいかないことがあるのでもう少し調べてみて、納得がいけば記事にしたいところだ。

最終的にはOracleのバグっぽい雰囲気になったのだが。。。
Oracleセットアップだけは相変わらず信じられねェ・・・

ServerCoreに対応しているDB

セキュリティに対する意識を高め、必要とするリソースも少なくてすむServerCoreですが、アプリケーションとしてのプラットフォームとして使えないかな?と思ってOracleの対応状況を見てみたのですが・・・

Windows Server System Center
http://www.oracle.com/technology/global/jp/tech/windows/index.html

確認してみると、最新の11g ClientですらServerCoreには対応していない。PowerShellが対応を予定していることから考えてみると、アプリケーションプラットフォームとしての土台がまだ出来上がってない。もちろん、そういう用途としての将来がないのかもしれないけど。。。IISを役割として乗っけるのであればそれはそれで中途半端だなぁと思う。OracleってJava使ってたよなぁ・・・。うーん、まだしばらくは安定しないのかな。その存在として。

Oracle VM

ZDNetJapanのサイトにOracleのVMに関する記事が載っていました

Oracle VMの実力を試そう
http://builder.japan.zdnet.com/news/story/0,3800079086,20369653,00.htm

以前、時々参加させていただいていたOracleの無料セミナー
OracleTwirightでVMの話があって、行きたかったのですが気がついたのが遅く
すでに満席になってしまっていました。
OracleTwirightは夕方に行う無料セミナーなのでやっぱり人気なのはすぐに埋まってしまうなあぁ

Oracle Japan イベント・セミナー情報
http://www.oracle.co.jp/events/

で、早速読んでみたのですが。。。
うーむ。Oracleをアプリケーションサーバーとして使用している場合には
VMとしての使い道もあるのかもしれないけど、現在のところ私は
あくまでデータベースとしての用途でしか使っていない。
そうなると、基本的にはOracleユーザーを切り替えればいいだけの話
になりそうだなぁ~。

今回のOracleVMは、直接的にすぐに使用することはあまりないかもしれないけど
Xenのような仮想化技術はちょっと押さえておきたいところ。

VMWareやVirualPC、WindowsServer2008もVirtualization機能も含めて
これからはこういった仮想化技術。充実してきそう。
開発者としてはこれらの技術をうまく組み合わせて自分の作業を
快適にしていきたいですね!

意外と難関!? Oracle Migration Workbench

AccessからOracleへのデータ移行

先輩から引き継いだAccessで作られたツールが、ちょっと性能的な限界を迎えたので社内のOracleサーバーにデータを移行しようと思った。調べてみるとOracleがAccessからのMigration用のツールを提供しているのでとても簡単

意外と簡単!? Oracle Migration WorkbenchによるMS-Access→Oracle移行
http://otndnld.oracle.co.jp/easy/access/shift_manual/index.html

だと思ったら、実はものすごくめんどくさかったのでメモ。

不思議なツール構成

AccessからOracleに移行するには上記の手順に従うと大きく2つのステップが必要となる。

  1. Accessの情報を吸い出す
  2. 吸い出した情報を使ってOracleへ移行

ツールとしては、Accessで作られたExporterと呼ばれるエクスポートツールと、MigrationWorkbenchと呼ばれるデータをインポートするためのツールを使うのだが…。なぜかExporterは表の情報をXMLファイルにエクスポートするのみ(正確にはデータをDATファイルに落とすこともできるのだが、是術した手順では使用しない。使いづらいのか?)。実際にデータを移行するのはMigrationWorkbenchがAccessに直接アクセスして移行しているようだ。表の情報を別に出力している理由が分からない。

なんとか情報を吸い出して、Migrationを実行しようとするが、ここでも注意が必要だ。
WorkbenchがサポートしているMigrationは、ユーザーやテーブルスペースが固定されてしまっている。スキーマ情報を出力したXMLファイルを修正することで変更をすることができるには出来るのだが、ユーザー名=テーブルスペース名という制限がついてしまう。
つまり、Migrationを実行するには専用の環境を用意する必要があるという事だ。

移行する時の注意点

Oracleと違ってAccessは結構なんでもありの世界になっている。テーブル設計がある程度の常識を持って作られていれば特に問題はないのかもしれないが、中途半端に”ユーザーに分かりやすく”を目指しているととても色々と出来てしまう。

  • 禁止文字の使用
    • Oracleではテーブル名やフィールド名に使う事が出来る文字列に制限がある。ところがAccessには制限が無い(もしくは緩い)ために、ここで齟齬が生じる。Workbenchではこれを自動変換して対応を使用とするのだが、これがどうもイマイチ中途半端のように見受けられる。
  • テーブルの長さが20まで
    • Oracleのテーブル名やフィールド名のサイズ長は30バイトのはずなのだが、Migrationツールで情報を吸い出すと20バイトまでしか取り扱ってくれずに切れてしまう。半角カナは2バイトとしてカウントされてしまうようだ。多くの場合は問題ないかもしれないが、フィールド名が「かえる用のフィールド1」「かえる用のフィールド2」なんてつけ方をすると途中で切れてしまって、フィールド名重複のエラーが出る

しかも、Office2007でやってみたらうまくいかなかった。うまくいかなかった原因がOfficeにあるのか設定にあるのか。このあたりは定かではないのだが、あれこれと制約や制限。出来ない事が多すぎて結局今回はOracleへの移行にWorkbenchを使用するのをあきらめ、自分で移行用のプログラムを書いてしまうことにした。

前々からそうなのだが、Oracleはあまりにもユーザーインターフェースがずさんなように感じる。パッチをあてるにしろインストールにしろ、あまりにもひどい場合が多い。
DBの性能がいいことに胡坐をかいてしまっているのではないだろうかと思ってしまう。何とかしてほしいものだ

今月のDBマガジンが面白かった

今月のDBマガジン、特集が2つとも個人的にはヒットして面白かった

DB Magazine (マガジン) 2008年 09月号 [雑誌]

DB Magazine (マガジン) 2008年 09月号 [雑誌]

特集1 リッチクライアント技術最前線
特集2 失敗しないOracleRAC構築ノウハウ
特集3 Python開発フレームワーク

●リッチクライアント最前線
ここでは「Ajax」、「WPF」、「AIR」に対して実際にWebサービスと組み合わせたサンプルを手ほどき。Silverlightに関しては照会のみで終わっていますが、WPF自体にも興味があったのでこのサンプルはとてもうれしい。ちょっとかじってみようかしら。DBマガジン、やるじゃないか

●失敗しないOracleRAC
OracleRAC・・・。すでに失敗したことがあります。可用性という意味では非常に効果があるのはわかっているのですが、この構築。全然すんなりと行ってくれませんでした。実際にはハード側の問題等もあいまってセットアップが全然進まなかった苦い思い出があります。

今回の記事では、OracleRACを構築する上での注意点だけでなく、実際に運用フェーズに入った場合の問題点早期発見のために、何に気をつけて考えていかないといけないのか。このあたりにも踏み込んで話がされています。個人的にはハードに対する考察だけでなく、OSに対する設定だとかに関しても言及してほしかったところ。このあたりは広げようと思えばどこまでも広がる話なのかもしれないのでしょうがないところか。

Pythonに関しては・・・すいません。ほとんど知りませんでした。。。どちらかというと今から勉強するくらいならPowerShell勉強したいと思っています。