無償のDB開発ツールOracle SQL Developer 3.1が正式リリースされました (オラクルエンジニア通信) というわけでSQL Developer 3.1 New Featuresを基に3.1の新機能をためしてみた。以下「 」でくくった部分はリリースノートの俺訳です。なお、このエントリは俺個人の試行錯誤の結果であるため、必ずしも正確かつ網羅的な情報が書かれているとは限らない点に注意してください。また、特に断りが無い限りOracleのバージョンは11g XEです。
DBA Utilities
「RMANがDBAナビゲーターに加わった」というわけで、表示 -> DBAで表示されるビューからRMANバックアップ/リカバリが追加された(のだと思う。前バージョンと比較してないから何とも言えないが)
とりあえず、DBAビューからRMAN関連の設定情報やらなんやらが見れる。
RMANバックアップ/リカバリを右クリック -> バックアップの作成ウィザードなるものがあるので、そんなカンタンにバックアップ取れるようになったのか? と期待したが、いまのところはRMAN用のスクリプトを生成してくれるだけのようだ。まぁそこら辺までGUIでやりたければEM使ってね、といったところでしょうか。
Data Pump
なんかエラー出て動かない……DATA_PUMP_DIRディレクトリオブジェクトの追加&権限付与とかしたけど状況変わらずで試せなかった。Data PumpがXEだとダメってワケでも無さそうなんだけど良くわからん。まぁでもデモ動画を見る限り、Data PumpをSQL Developerから出来るようにGUI付けましたよ程度の機能だとは思うのだけど。
Database Diff
DB間でDDL単位での差分が取れる、というもの。さすがに表データの差異を取ってくれるわけではなかった。下記はdiffのオプションと、実際に実行してみた画面のスクショ。下記は、ASEのサンプルDBをマイグレーションしたDBとそうでないものとの比較*1なので、マイグレーション関連のオブジェクト有無がdiff結果として現れています。
ただし、この機能の動作はなんかちょっと微妙な感じ。ソースと宛先を入れ替えると全然別の結果になるし、ALTERで列を加えた表がDIFFの差分として出てこなかったりする。前者の動きはまぁワカランでもないが、後者はちょっと……オブジェクトの有無しか見ていないような気がしないでもないし、名前別・定義別の動作の違いも今ひとつ謎いので、今の段階では個人的にはあんまこの機能を信用する気にはなれない。
Database Copy
「Database Copyはパフォーマンスと柔軟性のために再設計しました」てなことで、ツール -> データベース・コピーの画面は下記のようになっている。
とりあえず動かした内容としては、Oracle SQL Developerのマイグレーション機能を使ってみる - kagamihogeのblogでASEのサンプルDBを11gにマイグレーションしたものを10gのDBにコピーを試しましたが普通にDDLとデータ内容が全部コピーされました。
Migrations
これは機能の性質上、環境用意するのが面倒なので試してないです。リリースノート読む限り、TeradataとSybase固有の機能のいくつかをOracleにマイグレーション出来るようにしましたよ、的なことが書かれている。
PDF Reports
これはそのまんまでエクスポートでPDFファイル出力のカスタマイズ性を上げたよ、というもの。具体的には、セルや列のレイアウト(幅とかフォントとか)、ヘッダーフッター、PDFに暗号化したパスワード付与など。この機能について知りたい場合はデモ動画を見た方が、機能の性質上、手っ取り早い。
ただちょっとクセもんなのは、表示 -> レポートで設定したクエリの結果のエクスポート時にしか利かないらしい。とりあえず試す分には、レポートのユーザー定義レポートで適当な新規レポートを作成(このときに適当なSQLを設定する)、そのレポートを右クリック -> 編集 -> PDFで設定ができる。下記の画像はセキュリティを選択したところ。
PDFレポートを出したいときは、上記で作成したレポートを実行して、結果データの上で右クリック -> エクスポートする。下記の画像はエクスポートするところとPDFにパスがかかってる様子のもの。