Oracle
はじめに Oracleには自動コミットという機能があり、明示的にcommit命令を発行しなくても変更を確定してくれる機能があります。 この自動コミットはデフォルトOFFなのですが、SQL*Plusでは自動コミットの設定にかかわらずコミットされるケースがあるため、注…
はじめに Oracle Database Express Edition 11g(XE)でSQLの実行計画を取得する方法について、まとめてみました。 オラクル実行計画メモ(Hishidama's Oracle Explain Memo) 新・門外不出のOracle現場ワザ エキスパートが明かす運用・管理の極意 (DB Selection…
はじめに Oracleで一定時間処理をsleepさせたいことがあると思います。 PL/SQLのDBMS_LOCK.SLEEPを使うと、指定した時間だけ処理を待機させることができます。 事前準備(DBMS_LOCK権限を付与する) DBMS_LOCK.SLEEPを使うには、実行ユーザにDBMS_LOCKの権限…
photo credit: dzarro72 via photopin cc はじめに Oracleで行または表に対して他のプロセスからの参照/更新をブロックするには、select文の最後にfor updateを指定します。 以下の例ではtable01テーブルに対してテーブルロックがかかります。 select * fro…
はじめに PL/SQLでDBMS_LOCKを使って以下のエラーが発生した場合、実行ユーザに対してDBMS_LOCKの権限を付与する必要があります。 PLS-00201: 識別子DBMS_LOCKを宣言してください。 DBMS_LOCK権限を付与する 以下の例ではhogeユーザに対して、DBMS_LOCKの権…
はじめに DBViewerというプラグインを使うと、EclipseからOracle DBに接続してテーブルの参照やSQLの実行を行うことができます。 この記事では、DBViewerのインストールからOracle DBへの接続までの手順をまとめています。新・門外不出のOracle現場ワザ エキ…
一般ユーザでv_$sessionを参照するには 一般ユーザでv_$sessionを参照するには、sysユーザでgrant文を実行して、v_$sessionのselect権限を付与してあげれば良い。 Oracle Technology Network (OTN) Japan - 掲示板 : v$sessionのSELECT権限 ... connect sys/…
はじめに Windows8にOracle Database 11g Express Editionをインストールしてみました。はじめてのOracle 11g データベース構築・管理入門編 (TECHNICAL MASTER)posted with amazlet at 12.11.18長岡 秀明 秀和システム 売り上げランキング: 312687Amazon.co…
はじめに Oracleを使ったアプリケーションにおいて、ある操作によって実行されたSQLとそのとき渡されたバインド変数の値を調べたいときがあります。 ソースコードを見れば実行されるであろうSQLは推測することができますが、実際にどんな値がSQLに渡っている…
はじめに この記事ではOracleに接続しているセッションの数を調べる方法について書いています。Oracleの基本 ~データベース入門から設計/運用の初歩までposted with amazlet at 19.09.29渡部 亮太 相川 潔 日比野 峻佑 岡野 平八郎 宮川 大地 技術評論社 売…
photo credit: guidosportaal via photopin cc はじめに Oracleでlike句を使ったあいまい検索をする際、気をつけなければいけない特殊文字に%と_があります。 この記事では、特殊文字の動作とエスケープの仕方をまとめてみました。検索エンジンはなぜ見つけ…
photo credit: naoyafujii via photopin cc はじめに Oracle DBに対してinsert/update/deleteを繰り返していると、Undo表領域が肥大化していきます。ディスクの空き容量が枯渇してしまわないよう、Undo表領域を再作成して縮小する方法をまとめてみました。 …
はじめに Oracle 11g XEで、SYSAUX表領域とUNDO表領域のデータファイルが逆になっているのに気がつきました。 col tablespace_name for a10 col file_name for a60 col mb for 999999 select tablespace_name,file_name,bytes/1024/1024 mb from dba_data_fi…
アーカイブログモードを確認する方法1 connect sys/oracle as sysdba ARCHIVE LOG LIST アーカイブログモードを確認する方法2 connect sys/oracle as sysdba SELECT LOG_MODE FROM V$DATABASE; 関連エントリ Oracle 11gのLike検索における特殊文字%と_の違…
はじめに Oracle 11g XEでパフォーマンス分析ツールSTATSPACKによる分析レポートを出力する方法をまとめてみました。 この記事を書くにあたり、以下の記事を参考にしました。 STATSPACKのインストールと使用 - とあるSIerの憂鬱 パフォーマンス改善と事前対…
photo credit: SalFalko via photopin cc はじめに Oracle DBの性能分析ができるSTATSPACKというツールがあることを知り、Oracle 11g XEにインストールしてみました。新・門外不出のOracle現場ワザ エキスパートが明かす運用・管理の極意 (DB Selection)post…
photo credit: Silvia Sala via photopin cc はじめに Oracleでページング処理を実装するときに、rownumの性質を正しく理解していなかったため、ソート指定した際にハマりました。 この記事では、Oracleでrownumを使ったページング処理の書き方を調べてまと…
photo credit: nickwheeleroz via photopin cc はじめに Oracle DBは、SQLの結果を一時的なメモリ領域(バッファキャッシュ)に記憶して、次に同じような問い合わせがあった場合に、いちいちディスクを読みに行かずにバッファキャッシュから結果を取得するこ…
アーカイブログの出力先を確認する方法1 connect sys/oracle as sysdba show parameter db_recovery_file_dest アーカイブログの出力先を確認する方法2 connect sys/oracle as sysdba select name from v$recovery_file_dest; 関連エントリ Oracle 11gのLi…
はじめに Oracleのtkprofユーティリティを使うと、トレースログファイルを見やすい形で整形することができます。 tkprofコマンドを毎回入力するのが面倒なので、ドラッグ&ドロップでtrcファイルをtxtファイルに変換するバッチファイルを書いてみました。 Or…
はじめに Oracleに付属しているtkprofユーティリティを使うと、トレースログを整形し、見やすくすることができます。 この記事では、トレースログの出力からtkprofによる変換までの手順について書いています。新・門外不出のOracle現場ワザ エキスパートが明…
はじめに Oracleでtkprofコマンドを実行しようとしたら、以下のエラーが出てしまい、インストールされていないのかなと思って調べてみたら、大きな勘違いをしてしまいました。 SP2-0042: 不明なコマンドです("tkprof")。行の残りは無視されました。 tkprofは…
はじめに Oracleで外部表に対してinsert文を発行したら、以下のようなエラーになりました。 ORA-30657: 外部構成表で操作がサポートされていません 1週間でORACLE MASTERの基礎が学べる本 (徹底攻略) 外部表に対する更新はできない Oracleの外部表はWindows…
はじめに Oracleの外部表という機能を使うと、Windows上に存在するファイルを取り込んであたかもテーブルが存在しているかのように、SQLから操作することができます。パフォーマンス改善と事前対策に役立つ Oracle SQLチューニングSQLチューニング (DB SELEC…
はじめに Oracle DBで外部表を取り込もうとしたら、以下のようなエラーになってしまいました。 SQLエラー: ORA-29913: ODCIEXTTABLEFETCHコールアウトの実行中にエラーが発生しました。 ORA-30653: 拒否の制限に到達しました 29913. 00000 - "error in execu…
photo credit: koalazymonkey via photopin cc はじめに Oracle DBで任意のテーブルを検索するSQLを実行する際、インデックスを使った高速な検索が行われているか確認する方法を紹介します。 インデックスが効いているか確認する インデックスを使った検索が…
OracleでCURSOR_SHARINGの設定値を確認する connect sys/oracle as sysdba; SHOW PARAMETER CURSOR_SHARING CURSOR_SHARINGの設定値を変更する --システムレベルの変更 ALTER SYSTEM SET cursor_sharing = EXACT; --セッションレベルの変更 ALTER SESSION SE…
Oracle DBの共有プールをクリアする Oracle DBの共有プールをクリア(フラッシュ)するには、sysユーザで以下のコマンドを実行する。 connect / as sysdba; ALTER SYSTEM FLUSH SHARED_POOL; >system FLUSHが変更されました。
はじめに Oracle DBのレコードを検索する際に、カラムの値がNULLであれば、何か別の文字に置き換えて出力する方法を紹介します。【オラクル認定資格試験対策書】ORACLE MASTER Silver[Silver DBA11g](試験番号:1Z0-052)完全詳解+精選問題集 (オラクル…
はじめに Oracleで次のようなメッセージが出た場合、 SP2-0749: シノニム"xx"の循環パスを解決できません。 考えられる原因としては以下の2つがあります。 あるシノニムを指す、同じ名前のシノニムを作成した シノニムをつけた先のテーブルが存在しないか、…