kenken0807_DBメモ

つば九郎が好きなDBAです。Oracle Standard Editionでの運用やツールとかとかの備忘録。特に記載がない場合はoracle11gR2です。時々MySQL

Oracle常駐接続プーリング(DRCP)を導入して苦労したメモ(2)

2. 初期プールサーバ数ではまったこと 初期プールサーバ数デフォルトで検証 DBA_CPOOL_INFOビューで確認すると、 maxsizeがデフォルト40であり、これは変更しなくてはいけないものだというのはわかるが、 minsizeがデフォルト4で接続が足りないとincrsizeが…

Oracle常駐接続プーリング(DRCP)を導入して苦労したメモ(1)

うちのシステムでPHPを使用していて専用サーバ接続で結構な頻度で接続切断を繰り返しているので、サーバリプレースのタイミングでDRCPを導入することになり、いろいろと嵌ったのでメモ。 環境は11.2.0.4 SEone。 インストール方法と設定値確認方法 初期プー…

Oracleでカラムの順序が重複したインデックスの検索の違いを見る

カラム順序が重複したインデックスが存在していると、検索にどのような違いがでるのか、また不要であれば削除すればよいか確認する。 環境は11.2.0.4 SEone。 読み込みブロック数を確認する まず、以下テーブル(行10000件)を用意。 SQL> desc INDTEST; 名…

OracleからMySQLへODBC経由のデータベースリンクで接続したメモ

Oracle Standard Editionで可能なDatabase Gateway for ODBC (DG4ODBC)を使用してMySQLに接続したのでメモ。 Database Gateway for ODBC (DG4ODBC)を使用すれば ODBC接続でOracleから他のDB(MySQL)などにデータベースリンク経由で接続可能となる。 環境 DB…

Oracleでページング処理を高速化する方法

oracleでのページング処理を行う場合、指定した件数のみのフェッチ回数で処理終了するようにSQLを記述してあげることで高速に処理できます。 mysqlのlimit句のような動きが可能になります。 そのためには必要なことは ・ 適切なカラムに対してインデックスを…

Oracle SEでINSERT TRIGGERとVIEWで作るパーティション

oracleのパーティション機能はoracle EE+optionで使用可能です。 これをなんとかstandard editionで実現できないかと模索。。。 insertとselectのみであればtriggerとviewを使用し、 パーティション風の機能の実現可能だったのでメモ。 バージョンはoracle 1…

Oracle SEでインデックス圧縮について考える

oracleの運用をしていると問題になることの一つは容量不足。 特に頻繁にupdateされるインデックスの容量増加率は激しい。 EE+Oracle Advanced Compressionを使用すれば色々できるが。。。。 それは私にとっては夢の話なのでw oracle SEで可能な圧縮について…

Oracle SEでできるパラレルupdate処理

ご存知パラレルSQLはEEしか使用できないが、SEでもPL/SQLを使用すれば簡単にパラレルで処理することができる。 それがDBMS_PARALLEL_EXECUTE 11gR2以降から使用できるみたい。 Oracle® Database PL/SQLパッケージおよびタイプ・リファレンス このパッケージ…

OracleでMySQLのshow processlistっぽいやつ

ふと、oracleのセッション情報もmysqlのshow processlistみたいにSQL文やクエリの実行時間を表示させたいなと考えた。 その場合はv$sessionとv$sqlをsql_idで結合させて表示させればいいんだけど、v$sqlに問い合わせるのは、なんせ共有プールにアクセスする…