AWRレポート生成スクリプト

今回はAWRレポート生成について。マニュアルから調べるのが面倒なのでまとめてみた。スクリプトは以下の6つ:

スクリプト用途
awrrpt.sql 主にSIでAWRレポートを生成するときに使用する。
awrgrpt.sql Oracle RAC環境でAWRレポートを生成する。
awrrpti.sql 特定のデータベース・インスタンスのAWRレポートを生成する。awrrpt.sqlと違いインスタンスを指定できるできる。
awrgrpti.sql Oracle RAC環境の特定のデータベース・インスタンスのAWRレポートを生成する。
awrsqrpt.sql 特定のSQL文のAWRレポートを生成する。
awrsqrpti.sql 指定したデータベース・インスタンスで特定のSQL文のAWRレポートを生成する。

パッチ備忘録

パッチにはシングル・インスタンスのDBに当てるケース、RACに当てるケース、Grid Infrastructureに当てるケースなど、様々なパターンが存在するが、今回はRACのDBにのみ当てるケース。オプティマイザの検証などに使用することが多いので、忘れないように備忘録。

  1. パッチをMy Oracle Supportから取得する。ログイン後、「パッチと更新版」タブをクリックし、パッチを検索しダウンロードする。
  2. DBのある環境でダウンロードしたzipファイルを展開する。
  3. DBを止める。
    $ srvctl stop database -d DB名
  4. 2で展開したディレクトリに移動。
  5. パッチを当てる。
    $ $ORACLE_HOME/OPatch/opatch apply
  6. パッチが当たっているか確認。
    $ $ORACLE_HOME/OPatch/opatch lsinventory | grep applied
  7. DBを起動する。検証開始。
    $ srvctl start database -d DB名
  8. 検証が終了したら、DBを止めてからパッチをロールバックする。
    $ srvctl stop database -d DB名
    $ $ORACLE_HOME/OPatch/opatch rollback -id パッチ番号
  9. パッチがロールバックされているか確認。
    $ $ORACLE_HOME/OPatch/opatch lsinventory | grep applied

Gridなどに当てるケースはマニュアルを確認する。

以上

実行統計の取得

EXPLAIN PLAN FORでは取得できない実行統計を取得する手順。

  1. セッション単位でstatistics_level=allを設定する。
    SQL> alter session set statistics_level=all;
  2. 実行統計を取得したいSQLを実行する。実行する際、SQLを特定するコメントなどを入れておくとベター。
    SQL> SELECT /* 特定用コメント */ ... 
  3. v$sqlを使用して実行したsqlのSQLIDを特定する。
    SQL> SELECT sql_id,sql_text from v$sql where sql_text like '%特定用コメント%'; 
  4. v$sqlを使用して実行したsqlのSQLIDを特定する。
    SQL> SELECT sql_id,sql_text from v$sql where sql_text like '%特定用コメント%'; 
  5. dbms_xplan.display_cursorを使用して実行計画の情報を取得する。
    SQL> select * from table(dbms_xplan.display_cursor('3で特定したSQLID',null,'allstats last')); 

以上

USBでCentOS 6.5以降をインストールする方法

現在UnetbootinFedora LiveUSB Createrなど、USBを使用してCentOSをインストールする方法が存在しているが、意外と落とし穴が多い。インストール画面で"Unable to read package metadata. This may be due to missing repodata directory. Please ensure that your install tree has been correctly generated."と表示されて失敗したり。そのエラーを乗り越えてインストールできたと思ったらリブート時に"error: file '/grub/i386-pc/normal.mod' not found."と表示されてgrub rescueモードに入ったり。

それらの問題はddコマンドを使用してUSBを作成すれば避けられた。Unetbootinとかよりは確実。自分はMacでUSBを作成して問題なくいけた。

というわけで今回はMac OSCentOSインストール用のusbを作成する。当然他のLinuxUnix系OSでも出来る。Windowsの人はツールが沢山あるから頑張って。俺は諦めた。

手順は以下の通り:

  1. 前提準備
    • Macの場合、rootユーザーを有効にする。こちらのサイトの手順が分かりやすかった。
    • isoイメージの入手。今回はCentOS-7-x86_64-DVD-1611.isoを選択。
  2. 次はMacにUSBを挿す。Terminalを開いてdfなどのコマンドでデバイスが認識されていることを確認。diskutil listでも可。
    $ df
    Filesystem    512-blocks      Used Available Capacity  iused    ifree %iused  Mounted on
    /dev/disk0s2   975093952 608778224 365803728    63% 76161276 45725466   62%   /
    devfs                361       361         0   100%      626        0  100%   /dev
    map -hosts             0         0         0   100%        0        0  100%   /net
    map auto_home          0         0         0   100%        0        0  100%   /home
    /dev/disk1s1     7823296   4447136   3376160    57%        0        0  100%   /Volumes/SHIOYAMA
    
  3. USBをMS-DOS(FAT)形式で初期化
    $ diskutil eraseDisk MS-DOS UNTITLED /dev/disk1
    
  4. 次にUSBをアンマウントする。
    $ sudo diskutil umount "/Volumes/SHIOYAMA"
    
    この手順を飛ばすとddコマンド実行時に以下のエラーが発生する。
    $ sudo dd if=/Users/shioyama/Downloads/CentOS-7-x86_64-DVD-1611.iso of=/dev/disk1 bs=512k
    dd: /dev/disk1: Resource busy
  5. 次にddコマンドでisoファイルを書き込む。以下がフォーマット:
    $ sudo dd if=/isoファイルへのパス of=/USBのデバイス bs=ブロックサイズ。マニュアルなどに推奨値が書いてある。
    
    ※コマンドが終わるまでUSBを抜かないように!
    実行例:
    $ sudo dd if=/Users/shioyama/Downloads/CentOS-7-x86_64-DVD-1611.iso of=/dev/disk1 bs=512k
    
    ※of=/dev/disk1s1ではなくof=/dev/disk1と指定する。パーティションを指定してしまうとブート時に「error: file '/grub/i386-pc/normal.mod' not found.」と表示される。
  6. 最後に以下のコマンドを実行。USBを抜く前データが書かれているか確認する。正直やらなくても良い。
    $ sync
    $ eject /dev/disk1

以上

オフラインの環境でyumを使用する

使用した環境はOracle Linux。当然RHELCentOSでも同じことが出来る。

オフラインの環境でisoイメージをマウントし、rpmを使用してパッケージインストールをしていたが依存関係にうんざりした。しかし、yumのlocalinstallを実行したら以下のエラーが発生:

[root@shioyama Packages]# yum localinstall パッケージ名.rpm 
Loaded plugins: ulninfo
Examining パッケージ名.rpm: パッケージ名
Marking パッケージ名.rpm to be installed
Resolving Dependencies
--> Running transaction check
---> Package expect.x86_64 0:5.45-14.el7_1 will be installed
--> Processing Dependency: 依存関係のあるパッケージ for package: パッケージ名
http://public-yum.oracle.com/repo/OracleLinux/OL7/UEKR3/x86_64/repodata/repomd.xml: [Errno 14] curl#6 - "Could not resolve host: public-yum.oracle.com; Temporary failure in name resolution"
Trying other mirror.


 One of the configured repositories failed (Latest Unbreakable Enterprise Kernel Release 3 for Oracle Linux 7Server (x86_64)),
 and yum doesn't have enough cached data to continue. At this point the only
 safe thing yum can do is fail. There are a few ways to work "fix" this:

     1. Contact the upstream for the repository and get them to fix the problem.

     2. Reconfigure the baseurl/etc. for the repository, to point to a working
        upstream. This is most often useful if you are using a newer
        distribution release than is supported by the repository (and the
        packages for the previous distribution release still work).

     3. Disable the repository, so yum won't use it by default. Yum will then
        just ignore the repository until you permanently enable it again or use
        --enablerepo for temporary usage:

            yum-config-manager --disable ol7_UEKR3

     4. Configure the failing repository to be skipped, if it is unavailable.
        Note that yum will try to contact the repo. when it runs most commands,
        so will have to try and fail each time (and thus. yum will be be much
        slower). If it is a very temporary problem though, this is often a nice
        compromise:

            yum-config-manager --save --setopt=ol7_UEKR3.skip_if_unavailable=true

failure: repodata/repomd.xml from ol7_UEKR3: [Errno 256] No more mirrors to try.
http://public-yum.oracle.com/repo/OracleLinux/OL7/UEKR3/x86_64/repodata/repomd.xml: [Errno 14] curl#6 - "Could not resolve host: public-yum.oracle.com; Temporary failure in name resolution"

まあネットに繋がっていないから当たり前か。disablerepoとnogpgcheckを指定してもだめ:

[root@shioyama Packages]# yum localinstall パッケージ名.rpm --disablerepo=*  --nogpgcheck
Loaded plugins: ulninfo
Examining パッケージ名.rpm: パッケージ名
Marking パッケージ名.rpm to be installed
Resolving Dependencies
--> Running transaction check
---> Package expect.x86_64 0:5.45-14.el7_1 will be installed
--> Processing Dependency: libtcl8.5.so()(64bit) for package: パッケージ名
--> Finished Dependency Resolution
Error: Package: パッケージ名 (/パッケージ名)
           Requires: 依存関係のあるパッケージ
 You could try using --skip-broken to work around the problem

あきらめて地道にrpmで複数パッケージを指定しようとしていたが、以下を発見。

日本語:http://docs.oracle.com/cd/E77565_01/e73581/ol7-create-repo.html
英語:https://docs.oracle.com/cd/E52668_01/E54669/html/ol7-create-repo.html

isoイメージを使用してyumでパッケージインストールをする。
  1. インストーインストールメディアをコピーしてマウントする。
    # cp /media/USB_stick/V33411-01.iso /ISOs #メディアをコピー
    # mkdir -p /var/OSimage/OL7.2_x86_64 #マウントポイントの作成
    # mount -o loop,ro /ISOs/V100083-01.iso /var/OSimage/OL7.2_x86_64 #マウント
    本来は上記手順で問題ないが、今回のケースではすでにマウントをしているので、マウントポイントを変更するのみ。
    # mkdir -p /var/OSimage/OL7.2_x86_64 #マウントポイントを作成
    # cp -pr /media/iso/. /var/OSimage/OL7.2_x86_64/ #/media/isoから/var/OSimage/OL7.2_x86_64/へマウントポイントを変更
  2. リポジトリファイルを編集。今回はなかったので作成した。
    # vi /etc/yum.repos.d/local-yum-ol72.repo
    [ol72_local]
    name=Oracle Linux 7.2 x86_64
    baseurl=file:///var/OSimage/OL7.2_x86_64
    gpgkey=file:///var/OSimage/OL7.2_x86_64/RPM-GPG-KEY
    gpgcheck=1
    enabled=1
  3. リポジトリを認識しているかテスト
    # yum --disablerepo=\* --enablerepo=ol72_local list 2>&1 | head
    Loaded plugins: ulninfo
    Installed Packages
    # インストールされたパッケージの最初の8個が表示される
  4. パッケージをインストール
    # yum --disablerepo=\* --enablerepo=ol72_local install パッケージ名
    途中で依存関係のあるパッケージをインストールするかなどを聞かれるのでyと入力する。

以下が実行例:

[root@shioyamaPackages]# yum --disablerepo=\* --enablerepo=ol72_local install libXi-1.7.4-2.el7.i686.rpm 
Loaded plugins: ulninfo
Examining libXi-1.7.4-2.el7.i686.rpm: libXi-1.7.4-2.el7.i686
Marking libXi-1.7.4-2.el7.i686.rpm to be installed
Resolving Dependencies
--> Running transaction check
---> Package libXi.i686 0:1.7.4-2.el7 will be installed
--> Processing Dependency: libX11 >= 1.5.99.902 for package: libXi-1.7.4-2.el7.i686
--> Processing Dependency: libX11.so.6 for package: libXi-1.7.4-2.el7.i686
--> Processing Dependency: libXext.so.6 for package: libXi-1.7.4-2.el7.i686
--> Running transaction check
---> Package libX11.i686 0:1.6.3-2.el7 will be installed
--> Processing Dependency: libX11-common >= 1.6.3-2.el7 for package: libX11-1.6.3-2.el7.i686
--> Processing Dependency: libxcb.so.1 for package: libX11-1.6.3-2.el7.i686
---> Package libX11.x86_64 0:1.6.3-2.el7 will be installed
--> Processing Dependency: libxcb.so.1()(64bit) for package: libX11-1.6.3-2.el7.x86_64
---> Package libXext.i686 0:1.3.3-3.el7 will be installed
--> Running transaction check
---> Package libX11-common.noarch 0:1.6.3-2.el7 will be installed
---> Package libxcb.i686 0:1.11-4.el7 will be installed
--> Processing Dependency: libXau.so.6 for package: libxcb-1.11-4.el7.i686
---> Package libxcb.x86_64 0:1.11-4.el7 will be installed
--> Processing Dependency: libXau.so.6()(64bit) for package: libxcb-1.11-4.el7.x86_64
--> Running transaction check
---> Package libXau.i686 0:1.0.8-2.1.el7 will be installed
---> Package libXau.x86_64 0:1.0.8-2.1.el7 will be installed
--> Finished Dependency Resolution

Dependencies Resolved

=============================================================================================================================================================================================================================================
 Package                                                 Arch                                             Version                                                    Repository                                                         Size
=============================================================================================================================================================================================================================================
Installing:
 libXi                                                   i686                                             1.7.4-2.el7                                                /libXi-1.7.4-2.el7.i686                                            68 k
Installing for dependencies:
 libX11                                                  i686                                             1.6.3-2.el7                                                ol72_local                                                        609 k
 libX11                                                  x86_64                                           1.6.3-2.el7                                                ol72_local                                                        605 k
 libX11-common                                           noarch                                           1.6.3-2.el7                                                ol72_local                                                        161 k
 libXau                                                  i686                                             1.0.8-2.1.el7                                              ol72_local                                                         28 k
 libXau                                                  x86_64                                           1.0.8-2.1.el7                                              ol72_local                                                         28 k
 libXext                                                 i686                                             1.3.3-3.el7                                                ol72_local                                                         38 k
 libxcb                                                  i686                                             1.11-4.el7                                                 ol72_local                                                        201 k
 libxcb                                                  x86_64                                           1.11-4.el7                                                 ol72_local                                                        189 k

Transaction Summary
=============================================================================================================================================================================================================================================
Install  1 Package (+8 Dependent packages)

Total size: 1.9 M
Total download size: 1.8 M
Installed size: 5.7 M
Is this ok [y/d/N]: y #ここでyと入力
Downloading packages:
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Total                                                                                                                                                                                                        112 MB/s | 1.8 MB  00:00:00     
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  Installing : libX11-common-1.6.3-2.el7.noarch [                                                                                                                                                                                      ] 1/9  Installing : libX11-common-1.6.3-2.el7.noarch [#####                                                                                                                                                                                 ] 1/9  Installing : libX11-common-1.6.3-2.el7.noarch [#######                                                                                                                                                                               ] 1/9  Installing : libX11-common-1.6.3-2.el7.noarch [############                                                                                                                                                                          ] 1/9  Installing : libX11-common-1.6.3-2.el7.noarch [####################                                                                                                                                                                  ] 1/9  Installing : libX11-common-1.6.3-2.el7.noarch [#############################                                                                                                                                                         ] 1/9  Installing : libX11-common-1.6.3-2.el7.noarch [######################################                                                                                                                                                ] 1/9  Installing : libX11-common-1.6.3-2.el7.noarch [#############################################                                                                                                                                         ] 1/9  Installing : libX11-common-1.6.3-2.el7.noarch [######################################################                                                                                                                                ] 1/9  Installing : libX11-common-1.6.3-2.el7.noarch [###############################################################                                                                                                                       ] 1/9  Installing : libX11-common-1.6.3-2.el7.noarch [########################################################################                                                                                                              ] 1/9  Installing : libX11-common-1.6.3-2.el7.noarch [#################################################################################                                                                                                     ] 1/9  Installing : libX11-common-1.6.3-2.el7.noarch [###########################################################################################                                                                                           ] 1/9  Installing : libX11-common-1.6.3-2.el7.noarch [##################################################################################################                                                                                    ] 1/9  Installing : libX11-common-1.6.3-2.el7.noarch [#######################################################################################################                                                                               ] 1/9  Installing : libX11-common-1.6.3-2.el7.noarch [#########################################################################################################                                                                             ] 1/9  Installing : libX11-common-1.6.3-2.el7.noarch [#############################################################################################################                                                                         ] 1/9  Installing : libX11-common-1.6.3-2.el7.noarch [###############################################################################################################                                                                       ] 1/9  Installing : libX11-common-1.6.3-2.el7.noarch [##################################################################################################################                                                                    ] 1/9  Installing : libX11-common-1.6.3-2.el7.noarch [######################################################################################################################                                                                ] 1/9  Installing : libX11-common-1.6.3-2.el7.noarch [########################################################################################################################                                                              ] 1/9  Installing : libX11-common-1.6.3-2.el7.noarch [###########################################################################################################################                                                           ] 1/9  Installing : libX11-common-1.6.3-2.el7.noarch [###############################################################################################################################                                                       ] 1/9  Installing : libX11-common-1.6.3-2.el7.noarch [###################################################################################################################################                                                   ] 1/9  Installing : libX11-common-1.6.3-2.el7.noarch [####################################################################################################################################                                                  ] 1/9  Installing : libX11-common-1.6.3-2.el7.noarch [######################################################################################################################################                                                ] 1/9  Installing : libX11-common-1.6.3-2.el7.noarch [##########################################################################################################################################                                            ] 1/9  Installing : libX11-common-1.6.3-2.el7.noarch [#############################################################################################################################################                                         ] 1/9  Installing : libX11-common-1.6.3-2.el7.noarch [###############################################################################################################################################                                       ] 1/9  Installing : libX11-common-1.6.3-2.el7.noarch [#################################################################################################################################################                                     ] 1/9  Installing : libX11-common-1.6.3-2.el7.noarch [##########################################################################################################################################################                            ] 1/9  Installing : libX11-common-1.6.3-2.el7.noarch [############################################################################################################################################################                          ] 1/9  Installing : libX11-common-1.6.3-2.el7.noarch [#################################################################################################################################################################                     ] 1/9  Installing : libX11-common-1.6.3-2.el7.noarch [###################################################################################################################################################################                   ] 1/9  Installing : libX11-common-1.6.3-2.el7.noarch [#####################################################################################################################################################################                 ] 1/9  Installing : libX11-common-1.6.3-2.el7.noarch [#######################################################################################################################################################################               ] 1/9  Installing : libX11-common-1.6.3-2.el7.noarch [#########################################################################################################################################################################             ] 1/9  Installing : libX11-common-1.6.3-2.el7.noarch [###########################################################################################################################################################################           ] 1/9  Installing : libX11-common-1.6.3-2.el7.noarch [############################################################################################################################################################################          ] 1/9  Installing : libX11-common-1.6.3-2.el7.noarch [####################################################################################################################################################################################  ] 1/9  Installing : libX11-common-1.6.3-2.el7.noarch                                                                                                                                                                                          1/9 
  Installing : libXau-1.0.8-2.1.el7.x86_64 [                                                                                                                                                                                           ] 2/9  Installing : libXau-1.0.8-2.1.el7.x86_64 [##################################################                                                                                                                                         ] 2/9  Installing : libXau-1.0.8-2.1.el7.x86_64 [####################################################                                                                                                                                       ] 2/9  Installing : libXau-1.0.8-2.1.el7.x86_64 [########################################################                                                                                                                                   ] 2/9  Installing : libXau-1.0.8-2.1.el7.x86_64 [###########################################################################################################################################################                                ] 2/9  Installing : libXau-1.0.8-2.1.el7.x86_64 [#########################################################################################################################################################################################  ] 2/9  Installing : libXau-1.0.8-2.1.el7.x86_64                                                                                                                                                                                               2/9 
  Installing : libxcb-1.11-4.el7.x86_64 [                                                                                                                                                                                              ] 3/9  Installing : libxcb-1.11-4.el7.x86_64 [#                                                                                                                                                                                             ] 3/9  Installing : libxcb-1.11-4.el7.x86_64 [###                                                                                                                                                                                           ] 3/9  Installing : libxcb-1.11-4.el7.x86_64 [#####                                                                                                                                                                                         ] 3/9  Installing : libxcb-1.11-4.el7.x86_64 [#########                                                                                                                                                                                     ] 3/9  Installing : libxcb-1.11-4.el7.x86_64 [#############                                                                                                                                                                                 ] 3/9  Installing : libxcb-1.11-4.el7.x86_64 [##########################                                                                                                                                                                    ] 3/9  Installing : libxcb-1.11-4.el7.x86_64 [##################################                                                                                                                                                            ] 3/9  Installing : libxcb-1.11-4.el7.x86_64 [######################################                                                                                                                                                        ] 3/9  Installing : libxcb-1.11-4.el7.x86_64 [#################################################                                                                                                                                             ] 3/9  Installing : libxcb-1.11-4.el7.x86_64 [#####################################################                                                                                                                                         ] 3/9  Installing : libxcb-1.11-4.el7.x86_64 [############################################################                                                                                                                                  ] 3/9  Installing : libxcb-1.11-4.el7.x86_64 [################################################################                                                                                                                              ] 3/9  Installing : libxcb-1.11-4.el7.x86_64 [##################################################################                                                                                                                            ] 3/9  Installing : libxcb-1.11-4.el7.x86_64 [######################################################################                                                                                                                        ] 3/9  Installing : libxcb-1.11-4.el7.x86_64 [##########################################################################                                                                                                                    ] 3/9  Installing : libxcb-1.11-4.el7.x86_64 [###############################################################################                                                                                                               ] 3/9  Installing : libxcb-1.11-4.el7.x86_64 [#################################################################################                                                                                                             ] 3/9  Installing : libxcb-1.11-4.el7.x86_64 [#####################################################################################                                                                                                         ] 3/9  Installing : libxcb-1.11-4.el7.x86_64 [#############################################################################################                                                                                                 ] 3/9  Installing : libxcb-1.11-4.el7.x86_64 [###############################################################################################                                                                                               ] 3/9  Installing : libxcb-1.11-4.el7.x86_64 [############################################################################################################                                                                                  ] 3/9  Installing : libxcb-1.11-4.el7.x86_64 [#####################################################################################################################                                                                         ] 3/9  Installing : libxcb-1.11-4.el7.x86_64 [###################################################################################################################################                                                           ] 3/9  Installing : libxcb-1.11-4.el7.x86_64 [############################################################################################################################################                                                  ] 3/9  Installing : libxcb-1.11-4.el7.x86_64 [##################################################################################################################################################                                            ] 3/9  Installing : libxcb-1.11-4.el7.x86_64 [######################################################################################################################################################                                        ] 3/9  Installing : libxcb-1.11-4.el7.x86_64 [###########################################################################################################################################################                                   ] 3/9  Installing : libxcb-1.11-4.el7.x86_64 [###############################################################################################################################################################                               ] 3/9  Installing : libxcb-1.11-4.el7.x86_64 [############################################################################################################################################################################                  ] 3/9  Installing : libxcb-1.11-4.el7.x86_64 [##########################################################################################################################################################################################    ] 3/9  Installing : libxcb-1.11-4.el7.x86_64 [############################################################################################################################################################################################  ] 3/9  Installing : libxcb-1.11-4.el7.x86_64                                                                                                                                                                                                  3/9 
  Installing : libX11-1.6.3-2.el7.x86_64 [                                                                                                                                                                                             ] 4/9  Installing : libX11-1.6.3-2.el7.x86_64 [#########                                                                                                                                                                                    ] 4/9  Installing : libX11-1.6.3-2.el7.x86_64 [##################                                                                                                                                                                           ] 4/9  Installing : libX11-1.6.3-2.el7.x86_64 [############################                                                                                                                                                                 ] 4/9  Installing : libX11-1.6.3-2.el7.x86_64 [#####################################                                                                                                                                                        ] 4/9  Installing : libX11-1.6.3-2.el7.x86_64 [###############################################                                                                                                                                              ] 4/9  Installing : libX11-1.6.3-2.el7.x86_64 [########################################################                                                                                                                                     ] 4/9  Installing : libX11-1.6.3-2.el7.x86_64 [##################################################################                                                                                                                           ] 4/9  Installing : libX11-1.6.3-2.el7.x86_64 [###########################################################################                                                                                                                  ] 4/9  Installing : libX11-1.6.3-2.el7.x86_64 [#####################################################################################                                                                                                        ] 4/9  Installing : libX11-1.6.3-2.el7.x86_64 [############################################################################################                                                                                                 ] 4/9  Installing : libX11-1.6.3-2.el7.x86_64 [######################################################################################################                                                                                       ] 4/9  Installing : libX11-1.6.3-2.el7.x86_64 [###############################################################################################################                                                                              ] 4/9  Installing : libX11-1.6.3-2.el7.x86_64 [########################################################################################################################                                                                     ] 4/9  Installing : libX11-1.6.3-2.el7.x86_64 [##################################################################################################################################                                                           ] 4/9  Installing : libX11-1.6.3-2.el7.x86_64 [###########################################################################################################################################                                                  ] 4/9  Installing : libX11-1.6.3-2.el7.x86_64 [#####################################################################################################################################################                                        ] 4/9  Installing : libX11-1.6.3-2.el7.x86_64 [##############################################################################################################################################################                               ] 4/9  Installing : libX11-1.6.3-2.el7.x86_64 [########################################################################################################################################################################                     ] 4/9  Installing : libX11-1.6.3-2.el7.x86_64 [#################################################################################################################################################################################            ] 4/9  Installing : libX11-1.6.3-2.el7.x86_64 [###########################################################################################################################################################################################  ] 4/9  Installing : libX11-1.6.3-2.el7.x86_64                                                                                                                                                                                                 4/9 
  Installing : libXau-1.0.8-2.1.el7.i686 [                                                                                                                                                                                             ] 5/9  Installing : libXau-1.0.8-2.1.el7.i686 [#####################################                                                                                                                                                        ] 5/9  Installing : libXau-1.0.8-2.1.el7.i686 [#######################################                                                                                                                                                      ] 5/9  Installing : libXau-1.0.8-2.1.el7.i686 [#############################################                                                                                                                                                ] 5/9  Installing : libXau-1.0.8-2.1.el7.i686 [##########################################################################################################################################################                                   ] 5/9  Installing : libXau-1.0.8-2.1.el7.i686                                                                                                                                                                                                 5/9 
  Installing : libxcb-1.11-4.el7.i686 [                                                                                                                                                                                                ] 6/9  Installing : libxcb-1.11-4.el7.i686 [#                                                                                                                                                                                               ] 6/9  Installing : libxcb-1.11-4.el7.i686 [###                                                                                                                                                                                             ] 6/9  Installing : libxcb-1.11-4.el7.i686 [#####                                                                                                                                                                                           ] 6/9  Installing : libxcb-1.11-4.el7.i686 [#########                                                                                                                                                                                       ] 6/9  Installing : libxcb-1.11-4.el7.i686 [###########                                                                                                                                                                                     ] 6/9  Installing : libxcb-1.11-4.el7.i686 [##########################                                                                                                                                                                      ] 6/9  Installing : libxcb-1.11-4.el7.i686 [##################################                                                                                                                                                              ] 6/9  Installing : libxcb-1.11-4.el7.i686 [####################################                                                                                                                                                            ] 6/9  Installing : libxcb-1.11-4.el7.i686 [#################################################                                                                                                                                               ] 6/9  Installing : libxcb-1.11-4.el7.i686 [#####################################################                                                                                                                                           ] 6/9  Installing : libxcb-1.11-4.el7.i686 [#############################################################                                                                                                                                   ] 6/9  Installing : libxcb-1.11-4.el7.i686 [#################################################################                                                                                                                               ] 6/9  Installing : libxcb-1.11-4.el7.i686 [###################################################################                                                                                                                             ] 6/9  Installing : libxcb-1.11-4.el7.i686 [#######################################################################                                                                                                                         ] 6/9  Installing : libxcb-1.11-4.el7.i686 [########################################################################                                                                                                                        ] 6/9  Installing : libxcb-1.11-4.el7.i686 [##############################################################################                                                                                                                  ] 6/9  Installing : libxcb-1.11-4.el7.i686 [################################################################################                                                                                                                ] 6/9  Installing : libxcb-1.11-4.el7.i686 [####################################################################################                                                                                                            ] 6/9  Installing : libxcb-1.11-4.el7.i686 [############################################################################################                                                                                                    ] 6/9  Installing : libxcb-1.11-4.el7.i686 [##############################################################################################                                                                                                  ] 6/9  Installing : libxcb-1.11-4.el7.i686 [###########################################################################################################                                                                                     ] 6/9  Installing : libxcb-1.11-4.el7.i686 [#####################################################################################################################                                                                           ] 6/9  Installing : libxcb-1.11-4.el7.i686 [##################################################################################################################################                                                              ] 6/9  Installing : libxcb-1.11-4.el7.i686 [############################################################################################################################################                                                    ] 6/9  Installing : libxcb-1.11-4.el7.i686 [###################################################################################################################################################                                             ] 6/9  Installing : libxcb-1.11-4.el7.i686 [#####################################################################################################################################################                                           ] 6/9  Installing : libxcb-1.11-4.el7.i686 [###########################################################################################################################################################                                     ] 6/9  Installing : libxcb-1.11-4.el7.i686 [###############################################################################################################################################################                                 ] 6/9  Installing : libxcb-1.11-4.el7.i686 [############################################################################################################################################################################                    ] 6/9  Installing : libxcb-1.11-4.el7.i686 [############################################################################################################################################################################################    ] 6/9  Installing : libxcb-1.11-4.el7.i686 [##############################################################################################################################################################################################  ] 6/9  Installing : libxcb-1.11-4.el7.i686                                                                                                                                                                                                    6/9 
  Installing : libX11-1.6.3-2.el7.i686 [                                                                                                                                                                                               ] 7/9  Installing : libX11-1.6.3-2.el7.i686 [#########                                                                                                                                                                                      ] 7/9  Installing : libX11-1.6.3-2.el7.i686 [###################                                                                                                                                                                            ] 7/9  Installing : libX11-1.6.3-2.el7.i686 [############################                                                                                                                                                                   ] 7/9  Installing : libX11-1.6.3-2.el7.i686 [######################################                                                                                                                                                         ] 7/9  Installing : libX11-1.6.3-2.el7.i686 [###############################################                                                                                                                                                ] 7/9  Installing : libX11-1.6.3-2.el7.i686 [#########################################################                                                                                                                                      ] 7/9  Installing : libX11-1.6.3-2.el7.i686 [##################################################################                                                                                                                             ] 7/9  Installing : libX11-1.6.3-2.el7.i686 [############################################################################                                                                                                                   ] 7/9  Installing : libX11-1.6.3-2.el7.i686 [#####################################################################################                                                                                                          ] 7/9  Installing : libX11-1.6.3-2.el7.i686 [###############################################################################################                                                                                                ] 7/9  Installing : libX11-1.6.3-2.el7.i686 [#########################################################################################################                                                                                      ] 7/9  Installing : libX11-1.6.3-2.el7.i686 [##################################################################################################################                                                                             ] 7/9  Installing : libX11-1.6.3-2.el7.i686 [############################################################################################################################                                                                   ] 7/9  Installing : libX11-1.6.3-2.el7.i686 [#####################################################################################################################################                                                          ] 7/9  Installing : libX11-1.6.3-2.el7.i686 [###############################################################################################################################################                                                ] 7/9  Installing : libX11-1.6.3-2.el7.i686 [########################################################################################################################################################                                       ] 7/9  Installing : libX11-1.6.3-2.el7.i686 [##################################################################################################################################################################                             ] 7/9  Installing : libX11-1.6.3-2.el7.i686 [###########################################################################################################################################################################                    ] 7/9  Installing : libX11-1.6.3-2.el7.i686 [#####################################################################################################################################################################################          ] 7/9  Installing : libX11-1.6.3-2.el7.i686 [#############################################################################################################################################################################################  ] 7/9  Installing : libX11-1.6.3-2.el7.i686                                                                                                                                                                                                   7/9 
  Installing : libXext-1.3.3-3.el7.i686 [                                                                                                                                                                                              ] 8/9  Installing : libXext-1.3.3-3.el7.i686 [##############################################################################################################################################                                                ] 8/9  Installing : libXext-1.3.3-3.el7.i686 [###################################################################################################################################################################                           ] 8/9  Installing : libXext-1.3.3-3.el7.i686 [#####################################################################################################################################################################                         ] 8/9  Installing : libXext-1.3.3-3.el7.i686 [############################################################################################################################################################################################  ] 8/9  Installing : libXext-1.3.3-3.el7.i686                                                                                                                                                                                                  8/9 
  Installing : libXi-1.7.4-2.el7.i686 [                                                                                                                                                                                                ] 9/9  Installing : libXi-1.7.4-2.el7.i686 [##################################################################################################################################################################################              ] 9/9  Installing : libXi-1.7.4-2.el7.i686 [##############################################################################################################################################################################################  ] 9/9  Installing : libXi-1.7.4-2.el7.i686                                                                                                                                                                                                    9/9 
  Verifying  : libX11-common-1.6.3-2.el7.noarch                                                                                                                                                                                          1/9 
  Verifying  : libXext-1.3.3-3.el7.i686                                                                                                                                                                                                  2/9 
  Verifying  : libxcb-1.11-4.el7.i686                                                                                                                                                                                                    3/9 
  Verifying  : libX11-1.6.3-2.el7.x86_64                                                                                                                                                                                                 4/9 
  Verifying  : libX11-1.6.3-2.el7.i686                                                                                                                                                                                                   5/9 
  Verifying  : libXau-1.0.8-2.1.el7.x86_64                                                                                                                                                                                               6/9 
  Verifying  : libXau-1.0.8-2.1.el7.i686                                                                                                                                                                                                 7/9 
  Verifying  : libxcb-1.11-4.el7.x86_64                                                                                                                                                                                                  8/9 
  Verifying  : libXi-1.7.4-2.el7.i686                                                                                                                                                                                                    9/9 

Installed:
  libXi.i686 0:1.7.4-2.el7                                                                                                                                                                                                                   

Dependency Installed:
  libX11.i686 0:1.6.3-2.el7  libX11.x86_64 0:1.6.3-2.el7  libX11-common.noarch 0:1.6.3-2.el7  libXau.i686 0:1.0.8-2.1.el7  libXau.x86_64 0:1.0.8-2.1.el7  libXext.i686 0:1.3.3-3.el7  libxcb.i686 0:1.11-4.el7  libxcb.x86_64 0:1.11-4.el7 

Complete!
[root@adm-ora-30 Packages]# yum --disablerepo=\* --enablerepo=ol72_local install libxXi-1.7.4-2.el7.x86_64.rpm 
Loaded plugins: ulninfo
Examining libXi-1.7.4-2.el7.x86_64.rpm: libXi-1.7.4-2.el7.x86_64
Marking libXi-1.7.4-2.el7.x86_64.rpm to be installed
Resolving Dependencies
--> Running transaction check
---> Package libXi.x86_64 0:1.7.4-2.el7 will be installed
--> Processing Dependency: libXext.so.6()(64bit) for package: libXi-1.7.4-2.el7.x86_64
--> Running transaction check
---> Package libXext.x86_64 0:1.3.3-3.el7 will be installed
--> Finished Dependency Resolution

Dependencies Resolved

=============================================================================================================================================================================================================================================
 Package                                             Arch                                               Version                                                  Repository                                                             Size
=============================================================================================================================================================================================================================================
Installing:
 libXi                                               x86_64                                             1.7.4-2.el7                                              /libXi-1.7.4-2.el7.x86_64                                              68 k
Installing for dependencies:
 libXext                                             x86_64                                             1.3.3-3.el7                                              ol72_local                                                             38 k

Transaction Summary
=============================================================================================================================================================================================================================================
Install  1 Package (+1 Dependent package)

Total size: 106 k
Total download size: 38 k
Installed size: 153 k
Is this ok [y/d/N]: y #もう一度yと入力
Downloading packages:
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  Installing : libXext-1.3.3-3.el7.x86_64 [                                                                                                                                                                                            ] 1/2  Installing : libXext-1.3.3-3.el7.x86_64 [###########################################################################################################################################                                                 ] 1/2  Installing : libXext-1.3.3-3.el7.x86_64 [#################################################################################################################################################################                           ] 1/2  Installing : libXext-1.3.3-3.el7.x86_64 [###################################################################################################################################################################                         ] 1/2  Installing : libXext-1.3.3-3.el7.x86_64 [##########################################################################################################################################################################################  ] 1/2  Installing : libXext-1.3.3-3.el7.x86_64                                                                                                                                                                                                1/2 
  Installing : libXi-1.7.4-2.el7.x86_64 [                                                                                                                                                                                              ] 2/2  Installing : libXi-1.7.4-2.el7.x86_64 [################################################################################################################################################################################              ] 2/2  Installing : libXi-1.7.4-2.el7.x86_64 [############################################################################################################################################################################################  ] 2/2  Installing : libXi-1.7.4-2.el7.x86_64                                                                                                                                                                                                  2/2 
  Verifying  : libXext-1.3.3-3.el7.x86_64                                                                                                                                                                                                1/2 
  Verifying  : libXi-1.7.4-2.el7.x86_64                                                                                                                                                                                                  2/2 

Installed:
  libXi.x86_64 0:1.7.4-2.el7                                                                                                                                                                                                                 

Dependency Installed:
  libXext.x86_64 0:1.3.3-3.el7                                                                                                                                                                                                               

Complete!

以上

SQLHCを使用した性能分析

SQLHCのライセンスは無料。オラクル社の製品サポートサイトからダウンロード可能

使用手順:

  1. ダウンロードしたzipファイルを展開。
  2. sqlplusでログインし、スクリプトを実行:
    $ sqlplus /nolog
    SQL> conn /as sysdba
    SQL> START sqlhc.sql [T|D|N] SQL_ID
    [T|D|N]:ライセンスパックの指定⇒T:Tuning、D:Diagnostics、N:None
  3. カレントディレクトにzipファイルが出来ているので、展開する。

sqlhcレポートの内容:

レポート名概要
health_check 使用されている表や索引のサマリなど
diagnostics SQLの統計情報、オブジェクトの情報、初期化パラメータなど
execution_plans 実際の実行計画。health_checkに書かれていた全ての実行計画が表示される。
sql_detail EMのSQL詳細画面に似た内容

sqlhcで複数の実行計画を比較する際はdiagnosticsのHistorical Plans SummaryとActive Session History by Planで 実行計画の情報を分析し、execution_planで実際の実行計画を比較する。

最終更新:2017/02/03

STAT_TABLEを使用して統計情報を移行する

Oracle 11gで表のデータは移行せず、統計情報だけを他のデータベースへ移行する方法

マニュアル:https://docs.oracle.com/cd/E16338_01/appdev.112/b56262/d_stats.htm

  1. STAT_TABLEを作成する。下記の例ではSHIOYAMAスキーマ上にSTAT_TABLEという表を作成:
    begin
       DBMS_STATS.CREATE_STAT_TABLE (
          ownname =>'SHIOYAMA',
          stattab =>'STAT_TABLE',
          tblspace =>'USERS');
    end;
    /
  2. STAT_TABLEに統計情報を格納する。下記の例ではテーブル単位で格納:
    begin
       DBMS_STATS.EXPORT_TABLE_STATS (
          ownname => 'SHIOYAMA',   --格納する表が存在するスキーマ名
          tabname => 'TEMP',       --格納する表名
          stattab => 'STAT_TABLE', --格納先STAT_TABLE
          cascade => TRUE);        --表の列と索引の統計情報もエクスポート
    end;
    /
    • 他にも列統計や索引の統計もエクスポート可能。スキーマ単位での移行も可能。
    • もしstattabが別スキーマにある場合、statownでスキーマを指定する。
  3. 作成した統計格納表をエクスポート:
    $ expdp shioyama/XXXXX directory=test_dir tables=stat_table
  4. 邪魔であれば作成した統計格納表を削除:
    begin
       DBMS_STATS.DROP_STAT_TABLE (
           ownname => 'SHIOYAMA',
           stattab => 'STAT_TABLE');
    end;
    /
  5. 統計情報を移したいデータベースへエクスポートした表をインポート:
    $ impdp shioyama/XXXXX directory=test_dir dumpfile=exp.dmp tables=stat_table
  6. バージョンが違う場合は統計格納表をアップグレート:
    exec DBMS_STATS.UPGRADE_STAT_TABLE ('SHIOYAMA', 'STAT_TABLE');
  7. 統計情報のインポート:
    begin
       DBMS_STATS.IMPORT_TABLE_STATS (
          ownname => 'SHIOYAMA',
          tabname => 'TEST',
          stattab => 'STAT_TABLE',
          no_invalidate => FALSE,  --依存カーソルを無効化する
          force => TRUE,           --表の統計情報がロックされていても、統計情報をインポート
          cascade => TRUE);
    end;
    /

追記: STAT_TABLEもデータベースからすると表のひとつなのでUPDATEなどで更新できる。推奨はされていないが、定義が同じ表であれば表名を持つ列を更新して別の表にインポートすることも可能。

以上