小さい頃はエラ呼吸

いつのまにやら肺で呼吸をしています。


Oracle

dbForge Data Compare for Oracleでテーブル間の差分を確認する

はじめに Oracle Databaseで2つのテーブル間の差分を確認したいときがあります。 片方のテーブルにしか存在しないレコードや値が異なるレコードを抽出したい場合、「dbForge Data Compare for Oracle」というツールを使うと、GUIで差分を表示することができ…

Oracleのダイレクトパスインサートを使ってDelete処理を高速化する

はじめに Oracle DBで大量のレコードを削除したいときに、delete文を使うと時間がかかります。 テーブル内のすべてのレコードを削除するならtruncateを使えば良いのですが、条件を指定して一部のレコードだけを削除したい場合にtruncateは使用できません。 O…

OracleでSQLの実行時間を計測する方法

photo credit: wwarby via photopin cc はじめに Oracle DBを使ったアプリケーション開発において、あるSQLの実行にどれくらいの時間がかかっているかを知りたいときがあると思います。 この記事では、SQLの実行時間を計測する方法を紹介します。新・門外不…

Oracleで大量データのinsertとdeleteを繰り返すと遅くなる理由

はじめに Oracle DBのテーブルに対して、ストレステストや性能テスト目的で大量のデータのinsert、deleteを繰り返すと、データ量が少ないにもかかわらず、レスポンスが極端に悪くなることがあります。 この記事では、その理由と対策についてまとめてみました…

SP2-0618: セッション識別子が見つかりません。PLUSTRACEロールが有効かを確認してください。

はじめに Oracle DBでset autotraceコマンドを実行した場合に、以下のエラーが発生することがあります。 SQL> set autotrace traceonly SP2-0618: セッション識別子が見つかりません。PLUSTRACEロールが有効かを確認してください。 SP2-0611: STATISTICSレポ…

Oracleのデータベースバッファキャッシュサイズ(db_cache_size)を調べる

はじめに Oracleのデータベースバッファキャッシュサイズ(db_cache_size)を調べる方法をメモしておきます。 db_cache_sizeを調べる SQL*Plusを起動して、管理者で接続します。 conn / as sysdba 以下のコマンドでdb_cache_sizeを調べることができます。 show…

Oracleでアカウントがロックされてしまった場合に解除する方法

はじめに Oracle DBでログイン時のパスワードを連続して一定回数以上*1間違えた場合、アカウントが強制的にロックされてしまいます。アカウントがロックされると、以下のようなエラーメッセージが出力されます。 ORA-28000: the account is locked ORA-28000…

Oracleでデータベースの中身をバイナリ形式で出力する方法

はじめに この記事では、Oracleデータベース内に格納したテキストデータを16進数のバイナリで出力する方法を紹介します。Oracleデータベースを使っていてデータベースの中に格納したテキストデータを16進数のバイナリ表示で確認したい場合、dump関数というの…

Oracle DBのバージョン番号の後ろのアルファベットはなんなの?

はじめに Oracle DBのバージョン番号の後ろのアルファベットの意味が気になったことはありませんか? Oracle9i、Oracle10g、Oracle11gのような感じです。今年リリースが予定されている12の場合はOracle12cです。何か規則性のようなものを疑ってしまいますが…

Oracle DBでアカウントロックとなる回数を確認する方法

はじめに oracleデータベースでログインに立て続けに失敗すると、アカウントがロックされてしまいます。 この記事では、アカウントロックとなる回数を確認する方法を紹介します。これならわかる Oracle 超入門教室 第2版 (DB Magazine SELECTION)posted with…

Oracleで既存のテーブルをコピーして別名のテーブルを作る方法

はじめに Oracle DBにおいて、すでに存在するテーブルをコピーして、別名のテーブルを作るときにcopyコマンドみたいなものがあるのかと思っていたら、ちょっと違いました。 この記事では、既存のテーブルをコピーして、別名のテーブルを作成する方法について…

Oracleのexpコマンドでワイルドカードを指定してエクスポートする

はじめに Oracle 11g XEでテーブルをエクスポートする場合、以下のコマンドを使ってエクスポートします。 exp ユーザID/パスワード tables=テーブルA,テーブルB複数のテーブルをエクスポート対象としたい場合、tables=パラメタにテーブルを1つずつ指定する…

EXP-00091: 不審な統計をエクスポートしています。

はじめに Oracleのexpコマンドで、以下の警告メッセージが表示されることがあります。 EXP-00091: 不審な統計をエクスポートしています。 このメッセージが表示される場合、以下のケースが想定されます。 テーブル全体ではなく、一部のテーブルのみエクスポ…

Oracleでテーブルの中身をCSVファイルに出力する方法

はじめに この記事では、Oracle SQL Developerのエクスポート機能を使って、OracleDBの任意のテーブルのデータをCSVファイル形式でエクスポートする方法を紹介します。10日でおぼえる Oracle11g入門教室(DVD付)posted with amazlet at 13.02.10井上 賢一郎 …

Oracle 11g XEでテーブルをエクスポートする

はじめに Oracle Database 11g Express Editionで、任意のテーブルをエクスポートする方法を紹介します。10日でおぼえる Oracle11g入門教室(DVD付)posted with amazlet at 13.02.11井上 賢一郎 翔泳社 売り上げランキング: 54,109Amazon.co.jpで詳細を見る O…

【初心者向け】VBScriptからOracle Databaseを操作する方法

はじめに VBScriptからOracle Databaseに接続して、データの操作(insert、update、select、delete)をやってみました。10日でおぼえる Oracle11g入門教室(DVD付)posted with amazlet at 13.02.05井上 賢一郎 翔泳社 売り上げランキング: 228,266Amazon.co.j…

Oracle 11g XEでテーブルをインポートする

はじめに Oracle Database 11g Express Editionで、任意のテーブルをインポートする方法を紹介します。10日でおぼえる Oracle11g入門教室(DVD付)posted with amazlet at 13.02.11井上 賢一郎 翔泳社 売り上げランキング: 54,109Amazon.co.jpで詳細を見る Ora…

Oracle 11g XEにおけるtnsnames.oraファイルの場所

Oracle 11g XEの環境でtnsnames.oraファイルを探してみたら、こんなところにあった。 C:\oraclexe\app\oracle\product\11.2.0\server\network\ADMIN

デバッグに便利!OracleのSQLトレースログを出力する方法

はじめに Oracle Databaseを使ったアプリケーション開発で、Oracleが実行したSQLをログ出力して確認したいときがあります。 Oracleのトレースログを有効にすると、実行したSQLをログに吐き出してあとから確認することができます。新・門外不出のOracle現場ワ…

Windows環境におけるORACLE_HOMEの調べ方

はじめに この記事では、Windows環境で動かしているOracle DatabaseのホームディレクトリであるORACLE_HOMEの場所を調べる方法について書いています。【オラクル認定資格試験対策書】ORACLE MASTER Bronze[Bronze DBA11g](試験番号:1Z0-018)完全詳解+…

OracleのSQL*Plusでコンソールをクリアする方法

SQL*Plusでコマンドを実行していると、画面が実行したコマンド履歴だらけになってなんとなく嫌な感じです。 SQL*Plusでコンソールをクリアする SQL*Plusでコンソールをクリアには、以下のコマンドを実行します。 CL SCR 関連エントリ Oracleでテーブルの中身…

Oracle DBをERMasterでリバースエンジニアリングしてみる

はじめに 今年から、あるシステムを引き継ぐことになりました。リレーショナルデータベースを使うシステムで、各テーブルの項目定義書のような資料があることは分かっています。しかし、テーブル間のリレーションに関する資料をみたことがないので、既存のデ…

Windows7にDBモデリングツールDB Designer 4をインストールしてみた。

はじめに Windows7にDBモデリングツールDB Designer 4をインストールしてみました。グラス片手にデータベース設計~販売管理システム編 (DBMagazine SELECTION)posted with amazlet at 13.01.05梅田 弘之 翔泳社 売り上げランキング: 40,622Amazon.co.jp で詳…

Oracleでは主キーを設定すると自動的にインデックスが作成される

主キーとインデックス Oracleデータベースは、テーブルの作成時に主キー(primary key)を設定すると、自動的にインデックスを貼ってくれるようです。 主キーを作成した時点で自動的に索引が作成されます。 これは主キーとしての制約を実現するために物理的な …

Oracle SQL Developerが起動できない場合の対処方法

はじめに Oracle SQL Developerをダウンロードして、いざ起動しようとすると以下のようなエラーがでて、起動できないケースがあります。 Unable to create an instance of the Java Virtual Machine Located at path: ..\..\jdk\jre\bin\client\jvm.dll この…

【脱SQL*Plus】Oracle SQL DeveloperでOracleDBを操作する

はじめに Oracle Databaseを操作するツールの代表格としてSQL*Plusがあります。 SQL*Plusは、Oracle Databaseに付属するツールで、特別な準備をすることなく使えますが、コマンドラインで操作するというツールの特性上、データをきれいに表示したりするのが…

Oracle 11g XEにおいて一般ユーザでcreate tableする方法

はじめに Oracle Data 11g Express Editionで、sysユーザ以外の一般ユーザでテーブルを作成する方法をまとめました。 機能で学ぶOracle Datebase入門 (DB Selection)posted with amazlet at 12.11.19一志 達也 翔泳社 売り上げランキング: 210964Amazon.co.j…

Oracle 11g XEでユーザ登録からテーブル作成までをやってみた。

はじめに Windows7にOracle Database 11g Express Edtion(XE)をインストールして、テーブル作成、ユーザ登録、データの取得までをやってみました。 機能で学ぶOracle Datebase入門 (DB Selection)posted with amazlet at 12.11.19一志 達也 翔泳社 売り上げ…

ORA-01045: user xxx lacks CREATE SESSION privilege; logon denied

はじめに Oracle Database 11g XEでユーザを登録して、ログインしようとしたら以下のエラーになり、ログインすることができませんでした。 ORA-01045: user xxx lacks CREATE SESSION privilege; logon denied CONNECTロールがないとログインできない ユーザ…

Oracle 11g XEでcreate databaseをしたらORA-01100のエラーがでる

はじめに 前回の記事Windows7にOracle Database 11g Express Editionをインストールしてみた。 では、Oracle Database 11g Express Editionのインストールまで実施しました。今回は、データベースを作成してみようと思います。 基礎からのOracle (DVD付) (プ…