本連載では、Oracleデータベースのパフォーマンス・チューニングの中から、特にSQLのチューニングに注目して、実践レベルの手法を解説する。読者はOracleデータベースのアーキテクチャを理解し、運用管理の実務経験を積んでいることが望ましい。対象とするバージョンは現状で広く使われているOracle9iの機能を基本とするが、Oracle 10gで有効な情報も随時紹介していく。(編集局) 連載目次 前編に引き続き、SQLチューニングを行うために必要な基礎知識として、アクセスするデータ・ブロック数に大きな影響を与える結合方法の種類と、オプティマイザの実行計画の決定に影響を与える統計情報、ヒントについて説明していきます。 結合方法の種類 正規化されたデータベースでは、必要なデータを得るために複数の表からデータを取得、ひも付ける(結合する)処理が数多く発生します。表を結合する方法にはいくつかの種類が
備忘録として、Oracle Database から SQL Azure Database への移行に関連する情報源をまとめておきます。 直接 Oracle Database から SQL Azure Database への移行を試みるよりは、まず Oracle Database から SQL Server に移行し、それから SQL Azure Database への移行を行う方がいいでしょう。SQL Server から SQL Azure Database への移行の際には、SQL Azure Database でサポートされていない機能に依存していないかどうか、注意してください。 まずは、Oracle Database から SQL Server への移行に関する情報から。 Guide to Migrating from Oracle to SQL Server 2008 http:/
Oracle: 文字コード(CHARACTER SET)の確認方法 サーバのOracle内部で扱われる文字コードを確認するには、次のSQL文を使います。 SELECT PARAMETER,VALUE FROM NLS_DATABASE_PARAMETERS これで、「PARAMETER」が「NLS_CHARACTERSET」のVALUEを確認します。 初めから、WHEREで指定しても良いと思いますが。 クライアント側は、環境変数やレジストリエディタで「NLS_LANG」の値を確認します。 両方に設定されている場合は、レジストリよりも環境変数が優先されます。 従って、クライアントのキャラクタセットを変更したいのであれば、 システム環境変数に登録するのが手っ取り早い方法です。 「NLS_LANG」の値として「JAPANESE_JAPAN.JA16SJISTILDE」というように記述します。
<IT技術の処方箋:NLS_LANGの設定> オラクルでクライアント側から接続するときは、 NLS_LANG の設定が必要になります。 以下、3つのNLS_LANGをおさえておきましょう。 例:LINUX の場合 ●UTF8 $export NLS_LANG=Japanese_Japan.AL32UTF8 ●SJIS $export NLS_LANG=Japanese_Japan.JA16SJIS ●EUC $export NLS_LANG=Japanese_Japan.JA16EUC ※参考 環境変数の設定 http://www.searchman.info/tips/1530.html オラクルの文字コードを調べる http://www.searchman.info/tips/1150.html
SQL バッファを表示し実行する RUN は画面に現在の SQL バッファの内容を表示した後、実行を行なうためのコマンド 短縮形は R RUN コマンド RUN コマンドの構文 RUN 短縮形 R RUN コマンドは list コマンドと スラッシュ(/) の合成コマンドのようなものである。 SQL バッファの内容を表示した後に SQL バッファの内容を実行する。 最後に入力する セミコロン(;) とスラッシュ(/) の意味 どちらも、SQL*Plus に SQL 文を実行させるためのトリガーになる文字であるが意味づけは若干異なる。 (これらの文字をパラメータで違う文字に設定することができるが、いまだかつて必要になった事はない。) -- セミコロン SELECT SYSDATE FROM DUAL ; -- スラッシュ その 1 SELECT SYSDATE FROM DUAL / --
sqlplusなどを使ってDBA権限でログオンし、登録しているバックアップ用のディレクトリの情報を確認する。 select * from dba_directories; 新しくディレクトリを登録するには下記コマンドを実行する。 create directory datapump_dir as ‘/usr/lib/oracle/xe/datapump’; ユーザに権限を付与する。 grant read,write on directory datapump_dir to hr; OSコマンドラインからexpdpを使用してバックアップを行う。 expdp hr/hr directory=DATA_PUMP_DIR dumpfile=hr.dmp impdpを使用したリストア方法。下記のようにスキーマや表領域などをリマップすることも可能。 impdp hr2/hr2 dimpfile=DATA
主な内容 --Page 1-- ▼Data Pump Export/Importユーティリティで論理バックアップ --Page 2-- ▼論理バックアップ処理を一時停止する --Page 3-- ▼ダンプ・ファイル・セットの使用ディスク容量を見積もる ▼データファイル、表領域、スキーマを変更してリカバリを行う ▼アンロード/ロード処理のパラレル実行 ▼覚えておくと便利なパラメータ一覧 第3回「Oracleの代表的なバックアップ方法」、第4回「Recovery Managerを使ったバックアップ方法」では、Oracleの代表的なバックアップ方法の概要について説明してきました。今回は、第3回で説明した論理バックアップ方法としてDataPumpに焦点を当て、具体的な使用方法やその際の注意点を説明します。 Data Pump Export/Importユーティリティで論理バックアップ Oracle
主な内容 --Page 1-- ▼論理バックアップと物理バックアップ ▼エクスポート・ユーティリティによるバックアップ --Page 2-- ▼OSコマンド、バックアップツールによる一貫性バックアップ --Page 3-- ▼OSコマンド、バックアップツールによる非一貫性バックアップ 前回はリカバリに焦点を絞り、どのような仕組みによってデータの整合性が保証され、リカバリが行われているかについて説明しました。今回と次回の2回では、Oracleで一般的に利用されるバックアップ方法の概要について説明します(詳細については、第5回以降にて説明します)。Oracleには、さまざまなバックアップ要件に対応できるように多くのバックアップ方法が用意されていますので、それらの特徴やメリット、デメリットを理解し、適切なバックアップ方法を選択することが大切です。 論理バックアップと物理バックアップ Oracle
ORA-01034とORA-27101エラーでSQLPlusでログインできない 2007.06.10 Oracle Oracle XEを使い始めてしばらくするとログインできなくなっていた。 JDBC経由だとなぜか接続できるが、SQLPlusだとORA-01034とORA-27101エラーが発生してログインできない。 ERROR: ORA-01034: ORACLE not available ORA-27101: shared memory realm does not exist Linux Error: 2: No such file or directory ORA-01034エラーの原因は、環境設定が変更されたときに発生するとのこと。 そういえば、NTPで日付を設定し直したので、それが原因と考えられる。 で、Oracle XEを再起動したところ、状況は変わらなかった。 # /etc
Get Oracle news, views, and how-tos delivered to your inbox.
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く