おらくるのいる生活

OracleのDBAとしての、障害対応やらパフォーマンス・チューニングやらの日々を綴っています

SQLのアウトライン・ヒントを利用したチューニング方法

今回はSQLのアウトライン・ヒントを利用したチューニング方法をご紹介します。

事の発端は10.1のStandard Editionで性能問題が発生し、調査を依頼されたのですが、Standard Editionだと使えるチューニング手法がかなり限られます。

バージョン的にもやはり限りがあります。

勿論、Enterprise EditionでもTuningパックを購入していないとライセンス的に使える手段は限られますが。

10.1のStandard Editionでも使える手段が、アウトラインヒントの利用になります。

続きを読む

CREATE MATERIALIZED VIEWでORA-600が発生

リリースを間近に控えた環境で、2つの MATERIALIZED VIEWの作成で以下のエラーが発生するとの連絡を受けました。

ORA-00600: 内部エラー・コード, 引数: [KGL-heap-size-exceeded], [0x303FBFEA10]

 

環境は以下の通りです。

Oracle RAC(2ノード) EE 19.9

Oracle Linux 7.9

続きを読む

RHEL 8にOracle19cをインストールする方法(2)

前回の続きです。

bismarc256.hateblo.jp

結論から言うと、RHEL 8にOracle19cをインストールする時のポイントは以下の4点になります。

  • 19.3にはRHEL 8に固有の前提条件チェックは含まれていない為、OSが RHEL 8 であると想定して関連するチェックを実行させる為、環境変数をセットする
  • RHEL 8上に19.3はそのままではインストールできない為、-applyRUモードを使用して19.6以降のRUをインストールと同時に適用する
  • -applyRUモードは19.3に同梱のopatchでは実行できない為、最新のopatchを使用する
  • SELinux を "permissive" または "disabled"に設定する。

 

まず環境変数ですが、以下の様に設定します。

$ export CV_ASSUME_DISTID=OL7

次に-applyRUモード。

適用するRUをunzipし、unzip先のディレクトリを以下の様に指定します。

検証機ではGIもインストールする為、

「パッチ31750108: GI RELEASE UPDATE 19.9.0.0.0」を使用しました。

$ /u01/app/19.0.0/grid/oui/bin/runInstaller -applyRU /work/patch/31750108

 使用するopatchが古いと、以下のエラーが発生します。オプションが不正だと怒られてますね…

$ /u01/app/19.0.0/grid/oui/bin/runInstaller -applyRU /work/patch/31750108 -silent -responseFile /work/gridsetup.rsp
Starting Oracle Universal Installer...

Checking swap space: must be greater than 500 MB. Actual 6056 MB Passed
Preparing to launch Oracle Universal Installer from /tmp/OraInstall2021-05-31_02-45-03AM. Please wait ...
Oracle Universal Installer, Version 12.2.0.7.0 Production
Copyright (C) 1999, 2018, Oracle. All rights reserved.

The command line arguments '-applyRU', '/work/patch/31750108' are not valid options. Type 'runInstaller -help' at the command line for instructions on appropriate command line usage.
SEVERE:The command line arguments '-applyRU', '/work/patch/31750108' are not valid options. Type 'runInstaller -help' at the command line for instructions on appropriate command line usage.

アップデート後のopatchのバージョンは以下の通りです。

$ /u01/app/oracle/product/19.0.0/dbhome_1/OPatch/opatch version
OPatch Version: 12.2.0.1.17

SE Linuxについては古いバージョンでは"permissive" または "disabled"の設定が必要でしたが、その後、不要になりましたね(どのバージョンからだったか忘れましたが)

しかしながらLinux8ではこの条件が復活しており、正しく設定されていないとGIのセットアップ(root.shの実行)がエラーになります。

 

インストールが終了すると、その時点で19.9になっています。

$ sqlplus / as sysasm

SQL*Plus: Release 19.0.0.0.0 - Production on Mon May 31 19:25:42 2021
Version 19.9.0.0.0

Copyright (c) 1982, 2019, Oracle. All rights reserved.


Connected to:
Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
Version 19.9.0.0.0

SQL> exit

DBも同様にインストールします。

$ export CV_ASSUME_DISTID=OL7

$ /u01/app/oracle/product/19.0.0/dbhome_1/runInstaller -applyRU /work/patch/31750108 -silent  -responseFile /work/db_install.rsp

無事、19.9でインストール出来ました。

$ sqlplus /nolog

SQL*Plus: Release 19.0.0.0.0 - Production on Mon May 31 19:53:30 2021
Version 19.9.0.0.0

Copyright (c) 1982, 2019, Oracle. All rights reserved.

SQL> exit

この時点で適用されているのは以下のパッチになります。

Patch description: "OCW RELEASE UPDATE 19.9.0.0.0 (31772784)"
Patch description: "Database Release Update : 19.9.0.0.201020 (31771877)"

OJVMパッチも適用する事が推奨されているので、OJVMパッチを適用。

データベース作成後にはデータパッチも適用して終了です。

 ここまでRHEL 8として説明してきましたが、OracleLinux8でも同様です。 

RHEL 8にOracle19cをインストールする方法(1)

とある案件でRHEL 8上にOracle19cをインストールする事になりました。

RHEL 7の時とは異なる制約がいくつかあるので、以下にインストール方法を記載します。

検証に使用した環境は以下の通りです。

Oracle Restart(SIHA) EE 19.9

RHEL 8.3

続きを読む

messagesにorachkメッセージが出力される

最近、構築した環境で、/var/log/messagesに以下のメッセージが定期的に出力されていると指摘を受けました。
journal <user:info> orachk @cee:XXXXXXXXXXXXXXX

環境は以下の通りです。

Oracle Restart(SIHA) EE 19.7

RHEL 7.5

続きを読む

アラートログ、トレースファイルにテストメッセージを出力する方法

DBシステムを保守・運用する際、アラートログを監視してエラー検知する事があります。

検知の仕組みは様々ですが、仕組みを導入する際、正常に検知できるかテストする必要がありますよね。

アラートログにテストメッセージを出力させる簡単な方法についてまとめてみました。

続きを読む