JDKのインストール
- jdk-7u60-windows-i586.exeを実行してjdkをインストール
- 特に変更箇所はないので、順次「次へ」で進める。
- JDKのインストールが終わると、続いてJREのインストールが始まる。
- こちらも特に変更せず、「次へ」
Oracle SQL Developerのインストール
- sqldeveloper-4.0.2.15.21-no-jre.zipを解凍する。
- 解凍してできたsqldeveloperディレクトリをCドライブ直下に配置する。
- C:\sqldeveloper\sqldeveloper.exeを実行する。
- JDKのパスを聞かれるので、「C:\Program Files\Java\jdk1.7.0_60」を指定する。
Oracle SQL DeveloperでSQL Serverのデータベースを開く方法
- jtds-1.3.1-dist.zipを解凍する。
- 解凍してできた「jtds-1.3.1-dist」ディレクトリをCドライブ直下に配置する。
- Oracle SQL Developer->ツール->プリファレンス->データベース->サード・パーティJDBCドライバ画面の「エントリの追加」から2のディレクトリを指定する。
- データベース接続の作成画面にSQLServerのタブが表示されていることを確認する。
※Oracle SQL DeveloperでSQL Serverに接続できるだけで、Oracleのデータベースと連携しているわけではない。
Oracle と SQL Serverを連携する方法
- %ORACLE_HOME%\hs\initdg4odbc.oraを下記の内容に編集する。
- %ORACLE_HOME%\NETWORK\listner.oraを下記の内容に編集する。
- %ORACLE_HOME%\NETWORK\transname.oraを下記の内容に編集する。
- 管理->ツール->サービスよりOracleリスナーを再起動
- Oracle SQL Developerより任意のデータベースに接続し、「データベースリンク」で右クリックして、「新規データベース・リンク」を開く。
- 名前、ユーザー名、パスワード、サービス名(dg4odbc)を入力してOKをクリックする。
- 作成されたデータベースリンクを選択し、右クリックし、データベース・リンクのテストをクリックする。
- 適用ボタンをクリックし、正常にテストされた旨のメッセージが表示されることを確認する。
- データベースを右クリックし、SQLワークシートを開く。
- select * from <テーブル名>@<データベースリンク名>を実行して結果が取得できることを確認する。
※%ORACLE_HOME%はオラクルのルートディレクトリ
※データベースリンクを作成するにはCREATE DATABASE LINK権限が必要。
※リンク先は基本参照用なので、リンク先に対して追加や編集はできない。参照した結果をOracleのテーブルに追加するselect insert文を利用するのが一般的なよう。
# initdg4odbc.ora
...
#
# HS init parameters
#
HS_FDS_CONNECT_INFO = sqlserver \#任意の文字列
HS_FDS_TRACE_LEVEL = OFF
...
# listner.ora
...
SID_LIST_LISTENER =
(SID_LIST =
...
(SID_DESC =
(SID_NAME = dg4odbc)
(ORACLE_HOME = %ORACLE_HOME%)
(PROGRAM = dg4odbc)
)
)
...
# transname.ora
...
DG4ODBC =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
)
(CONNECT_DATA =
(SID = dg4odbc)
)
(HS = OK)
)
...
マテリアライズドビューについて
- 名前はビューだが実体はテーブル(SQLの結果をキャッシュしておくテーブル)。
- テーブル同様、表領域に格納され、インデックスも作成できる。
- 元のテーブルとの同期が必要で、リフレッシュのタイミングを設定できる。
- 8iまで?はスナップショットという呼び名だった。
- create snapshot も create materiarized view も11gではマテリアライズドビューが作成される。
- Oracle SQL Developer のマテリアライズド・ビューで右クリックして新規作成できる。
- 通常のビューを使用するよりもパフォーマンスが向上するため、使用が推奨されている。
- この機能はSQL Serverにはない。
ストアドプロシージャ(PL/SQL)について
- 基本知識や文法はhttp://www.shift-the-oracle.com/plsql/を参照
- Transact-SQL(SQL Serverのプロシージャー言語)との違いは下記参照