Search This Blog

Total Pageviews

Saturday, 25 December 2021

bash: xclock: command not found...

xclock: command not found...


[root@ora19c dbhome_1]# ssh -X oracle@192.168.1.160
oracle@192.168.1.160's password:
Last login: Sat Dec 25 18:28:16 2021 from 192.168.1.160
[oracle@ora19c ~]$ xclock
bash: xclock: command not found...
Similar command is: 'clock'
[oracle@ora19c ~]$ xeye
bash: xeye: command not found...
[oracle@ora19c ~]$ xeye
bash: xeye: command not found...

if required set 
export DISPLAY=:0
[root@ora19c ~]# cat /etc/redhat-release
Red Hat Enterprise Linux release 8.5 (Ootpa)


bash: xclock: command not found...


[root@ora19c ~]# yum whatprovides xclock
Last metadata expiration check: 1:18:01 ago on Sat 25 Dec 2021 17:11:26 GMT.


[root@ora19c ~]# yum groupinstall "X Window System"
Last metadata expiration check: 0:02:25 ago on Sat 25 Dec 2021 18:34:50 GMT.
Module or Group 'X Window System' is not available.
Error: Nothing to do.


[root@ora19c ~]# yum list | grep -i xorg


yum list | grep -i xorg
xorg-x11-docs.noarch                                   1.7.1-7.el8                                           @ol8_appstream
xorg-x11-drivers.x86_64                                7.7-30.el8                                            @ol8_appstream
xorg-x11-drv-ati.x86_64                                19.1.0-1.el8                                          @AppStream
xorg-x11-drv-dummy.x86_64                              0.3.7-6.el8.1                                         @ol8_appstream
xorg-x11-drv-evdev.x86_64                              2.10.6-2.el8                                          @ol8_appstream
xorg-x11-drv-evdev-devel.x86_64                        2.10.6-2.el8                                          @ol8_appstream
xorg-x11-drv-fbdev.x86_64                              0.5.0-2.el8                                           @AppStream
xorg-x11-drv-intel.x86_64                              2.99.917-39.20200205.el8                              @AppStream
xorg-x11-drv-libinput.x86_64                           0.29.0-1.el8                                          @AppStream
xorg-x11-drv-nouveau.x86_64                            1:1.0.15-4.el8.1                                      @AppStream
xorg-x11-drv-qxl.x86_64                                0.1.5-11.el8                                          @AppStream
xorg-x11-drv-v4l.x86_64                                0.3.0-2.el8                                           @ol8_appstream
xorg-x11-drv-vesa.x86_64                               2.4.0-3.el8                                           @AppStream
xorg-x11-drv-vmware.x86_64                             13.2.1-8.el8                                          @AppStream
xorg-x11-drv-wacom.x86_64                              0.38.0-1.el8                                          @AppStream
xorg-x11-drv-wacom-serial-support.x86_64               0.38.0-1.el8                                          @AppStream
xorg-x11-font-utils.x86_64                             1:7.5-41.el8                                          @ol8_appstream
xorg-x11-fonts-100dpi.noarch                           7.5-19.el8                                            @ol8_appstream
xorg-x11-fonts-75dpi.noarch                            7.5-19.el8                                            @ol8_appstream
xorg-x11-fonts-ISO8859-1-100dpi.noarch                 7.5-19.el8                                            @ol8_appstream
xorg-x11-fonts-ISO8859-1-75dpi.noarch                  7.5-19.el8                                            @ol8_appstream
xorg-x11-fonts-ISO8859-14-100dpi.noarch                7.5-19.el8                                            @ol8_appstream
xorg-x11-fonts-ISO8859-14-75dpi.noarch                 7.5-19.el8                                            @ol8_appstream
xorg-x11-fonts-ISO8859-15-100dpi.noarch                7.5-19.el8                                            @ol8_appstream
xorg-x11-fonts-ISO8859-15-75dpi.noarch                 7.5-19.el8                                            @ol8_appstream
xorg-x11-fonts-ISO8859-2-100dpi.noarch                 7.5-19.el8                                            @ol8_appstream
xorg-x11-fonts-ISO8859-2-75dpi.noarch                  7.5-19.el8                                            @ol8_appstream
xorg-x11-fonts-ISO8859-9-100dpi.noarch                 7.5-19.el8                                            @ol8_appstream
xorg-x11-fonts-ISO8859-9-75dpi.noarch                  7.5-19.el8                                            @ol8_appstream
xorg-x11-fonts-Type1.noarch                            7.5-19.el8                                            @ol8_appstream
xorg-x11-fonts-cyrillic.noarch                         7.5-19.el8                                            @ol8_appstream
xorg-x11-fonts-ethiopic.noarch                         7.5-19.el8                                            @ol8_appstream
xorg-x11-fonts-misc.noarch                             7.5-19.el8                                            @ol8_appstream
xorg-x11-proto-devel.noarch                            2020.1-3.el8                                          @ol8_appstream
xorg-x11-server-Xdmx.x86_64                            1.20.11-2.el8                                         @ol8_appstream
xorg-x11-server-Xephyr.x86_64                          1.20.11-2.el8                                         @ol8_appstream
xorg-x11-server-Xnest.x86_64                           1.20.11-2.el8                                         @ol8_appstream
xorg-x11-server-Xorg.x86_64                            1.20.11-2.el8                                         @ol8_appstream
xorg-x11-server-Xspice.x86_64                          0.1.5-11.el8                                          @ol8_appstream
xorg-x11-server-Xvfb.x86_64                            1.20.11-2.el8                                         @ol8_appstream
xorg-x11-server-Xwayland.x86_64                        21.1.1-6.el8                                          @ol8_appstream
xorg-x11-server-common.x86_64                          1.20.11-2.el8                                         @ol8_appstream
xorg-x11-server-utils.x86_64                           7.7-27.el8                                            @AppStream
xorg-x11-utils.x86_64                                  7.5-28.el8                                            @AppStream
xorg-x11-xauth.x86_64                                  1:1.0.9-12.el8                                        @AppStream
xorg-x11-xbitmaps.noarch                               1.1.1-13.el8                                          @ol8_appstream
xorg-x11-xinit.x86_64                                  1.3.4-18.el8                                          @AppStream
xorg-x11-xinit-session.x86_64                          1.3.4-18.el8                                          @AppStream
xorg-x11-xkb-utils.x86_64                              7.7-28.el8                                            @AppStream
abrt-addon-xorg.x86_64                                 2.10.9-21.0.1.el8                                     ol8_appstream
xorg-sgml-doctools.noarch                              1.11-6.el8                                            ol8_appstream
xorg-sgml-doctools.src                                 1.11-6.el8                                            ol8_appstream
xorg-x11-apps.src                                      7.7-21.el8                                            ol8_codeready_builder
xorg-x11-apps.x86_64                                   7.7-21.el8                                            ol8_codeready_builder <<<<<<<<<< install this one !!!!!!!!!!!!!!!!!!!!!!
xorg-x11-docs.src                                      1.7.1-7.el8                                           ol8_appstream
xorg-x11-drivers.src                                   7.7-30.el8                                            ol8_appstream
xorg-x11-drv-ati.src                                   19.1.0-1.el8                                          ol8_appstream
xorg-x11-drv-dummy.src                                 0.3.7-6.el8.1                                         ol8_appstream
xorg-x11-drv-evdev.src                                 2.10.6-2.el8                                          ol8_appstream
xorg-x11-drv-evdev-devel.i686                          2.10.6-2.el8                                          ol8_appstream
xorg-x11-drv-fbdev.src                                 0.5.0-2.el8                                           ol8_appstream
xorg-x11-drv-intel.i686                                2.99.917-39.20200205.el8                              ol8_appstream
xorg-x11-drv-intel.src                                 2.99.917-39.20200205.el8                              ol8_appstream
xorg-x11-drv-libinput.src                              0.29.0-1.el8                                          ol8_appstream
xorg-x11-drv-libinput.src                              0.29.0-1.el8                                          ol8_codeready_builder
xorg-x11-drv-libinput-devel.i686                       0.29.0-1.el8                                          ol8_codeready_builder
xorg-x11-drv-libinput-devel.x86_64                     0.29.0-1.el8                                          ol8_codeready_builder
xorg-x11-drv-nouveau.src                               1:1.0.15-4.el8.1                                      ol8_appstream
xorg-x11-drv-qxl.src                                   0.1.5-11.el8                                          ol8_appstream
xorg-x11-drv-v4l.src                                   0.3.0-2.el8                                           ol8_appstream
xorg-x11-drv-vesa.src                                  2.4.0-3.el8                                           ol8_appstream
xorg-x11-drv-vmware.src                                13.2.1-8.el8                                          ol8_appstream
xorg-x11-drv-wacom.src                                 0.38.0-1.el8                                          ol8_appstream
xorg-x11-drv-wacom.src                                 0.38.0-1.el8                                          ol8_codeready_builder
xorg-x11-drv-wacom-devel.i686                          0.38.0-1.el8                                          ol8_codeready_builder
xorg-x11-drv-wacom-devel.x86_64                        0.38.0-1.el8                                          ol8_codeready_builder
xorg-x11-font-utils.src                                1:7.5-41.el8                                          ol8_appstream
xorg-x11-fonts.src                                     7.5-19.el8                                            ol8_appstream
xorg-x11-proto-devel.src                               2020.1-3.el8                                          ol8_appstream
xorg-x11-server.src                                    1.20.11-2.el8                                         ol8_appstream
xorg-x11-server.src                                    1.20.11-2.el8                                         ol8_codeready_builder
xorg-x11-server-Xwayland.src                           21.1.1-6.el8                                          ol8_appstream
xorg-x11-server-devel.i686                             1.20.11-2.el8                                         ol8_codeready_builder
xorg-x11-server-devel.x86_64                           1.20.11-2.el8                                         ol8_codeready_builder
xorg-x11-server-source.noarch                          1.20.11-2.el8                                         ol8_codeready_builder
xorg-x11-server-utils.src                              7.7-27.el8                                            ol8_appstream
xorg-x11-util-macros.noarch                            1.19.2-1.el8                                          ol8_codeready_builder
xorg-x11-util-macros.src                               1.19.2-1.el8                                          ol8_codeready_builder
xorg-x11-utils.src                                     7.5-28.el8                                            ol8_appstream
xorg-x11-xauth.src                                     1:1.0.9-12.el8                                        ol8_appstream
xorg-x11-xbitmaps.src                                  1.1.1-13.el8                                          ol8_appstream
xorg-x11-xinit.src                                     1.3.4-18.el8                                          ol8_appstream
xorg-x11-xkb-utils.src                                 7.7-28.el8                                            ol8_appstream
xorg-x11-xkb-utils.src                                 7.7-28.el8                                            ol8_codeready_builder
xorg-x11-xkb-utils-devel.i686                          7.7-28.el8                                            ol8_codeready_builder
xorg-x11-xkb-utils-devel.x86_64                        7.7-28.el8                                            ol8_codeready_builder
xorg-x11-xtrans-devel.noarch                           1.4.0-1.el8                                           ol8_codeready_builder
xorg-x11-xtrans-devel.src                              1.4.0-1.el8                                           ol8_codeready_builder


======================

[root@ora19c ~]# yum install xorg-x11-apps.x86_64
Last metadata expiration check: 0:03:18 ago on Sat 25 Dec 2021 18:34:50 GMT.
Dependencies resolved.
=============================================================================================================================================================================================================
 Package                                          Architecture                              Version                                           Repository                                                Size
=============================================================================================================================================================================================================
Installing:
 xorg-x11-apps                                    x86_64                                    7.7-21.el8                                        ol8_codeready_builder                                    334 k
Installing dependencies:
 libSM                                            x86_64                                    1.2.3-1.el8                                       ol8_appstream                                             47 k
 libXxf86vm                                       x86_64                                    1.1.4-9.el8                                       ol8_appstream                                             19 k

Transaction Summary
=============================================================================================================================================================================================================
Install  3 Packages

Total download size: 400 k
Installed size: 1.1 M
Is this ok [y/N]: y
Downloading Packages:
(1/3): libXxf86vm-1.1.4-9.el8.x86_64.rpm                                                                                                                                      47 kB/s |  19 kB     00:00
(2/3): libSM-1.2.3-1.el8.x86_64.rpm                                                                                                                                          106 kB/s |  47 kB     00:00
(3/3): xorg-x11-apps-7.7-21.el8.x86_64.rpm                                                                                                                                   471 kB/s | 334 kB     00:00
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Total                                                                                                                                                                        542 kB/s | 400 kB     00:00
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
  Preparing        :                                                                                                                                                                                     1/1
  Installing       : libXxf86vm-1.1.4-9.el8.x86_64                                                                                                                                                       1/3
  Installing       : libSM-1.2.3-1.el8.x86_64                                                                                                                                                            2/3
  Installing       : xorg-x11-apps-7.7-21.el8.x86_64                                                                                                                                                     3/3
  Running scriptlet: xorg-x11-apps-7.7-21.el8.x86_64                                                                                                                                                     3/3
/sbin/ldconfig: /etc/ld.so.conf.d/kernel-5.4.17-2102.201.3.el8uek.x86_64.conf:6: hwcap directive ignored

  Verifying        : libSM-1.2.3-1.el8.x86_64                                                                                                                                                            1/3
  Verifying        : libXxf86vm-1.1.4-9.el8.x86_64                                                                                                                                                       2/3
  Verifying        : xorg-x11-apps-7.7-21.el8.x86_64                                                                                                                                                     3/3

Installed:
  libSM-1.2.3-1.el8.x86_64                                        libXxf86vm-1.1.4-9.el8.x86_64                                        xorg-x11-apps-7.7-21.el8.x86_64

Complete!




xclock
Warning: Missing charsets in String to FontSet conversion

[oracle@oem2 ~]$ export LC_ALL=C
[oracle@oem2 ~]$ xclock








oracle-database-preinstall-19c-1.0-2.el8.x86_64.rpm Error: Error: rpmdb failed to list provides. Try: rpm --rebuilddb
Error: Error: rpmdb failed to list provides. Try: rpm --rebuilddb

Download from ... 

https://yum.oracle.com/repo/OracleLinux/OL8/appstream/x86_64/

	oracle-database-preinstall-19c-1.0-1.el8.x86_64.rpm
        oracle-database-preinstall-19c-1.0-2.el8.x86_64.rpm
	oracle-database-preinstall-21c-1.0-1.el8.x86_64.rpm


curl -o oracle-database-preinstall-19c-1.0-1.el8.x86_64.rpm https://yum.oracle.com/repo/OracleLinux/OL8/appstream/x86_64/oracle-database-preinstall-19c-1.0-1.el8.x86_64.rpm


curl -o oracle-database-preinstall-19c-1.0-2.el8.x86_64.rpm https://yum.oracle.com/repo/OracleLinux/OL8/appstream/x86_64/oracle-database-preinstall-19c-1.0-2.el8.x86_64.rpm


curl -o oracle-database-preinstall-19c-1.0-2.el8.x86_64.rpm https://yum.oracle.com/repo/OracleLinux/OL8/appstream/x86_64/getPackage/oracle-database-preinstall-19c-1.0-2.el8.x86_64.rpm



dnf install -y oracle-database-preinstall-19c-1.0-2.el8.x86_64.rpm
Error: Error: rpmdb failed to list provides. Try: rpm --rebuilddb

[root@ora19c /]# ps aux | grep -E 'rpm|yum'
root       79568  0.0  0.0  12128  1100 pts/1    R+   17:06   0:00 grep --color=auto -E rpm|yum

[root@ora19c /]# rm /var/lib/rpm/__db*
rm: remove regular file '/var/lib/rpm/__db.001'? y
rm: remove regular file '/var/lib/rpm/__db.002'? y
rm: remove regular file '/var/lib/rpm/__db.003'? y
[root@ora19c /]# dnf install -y oracle-database-preinstall-19c-1.0-2.el8.x86_64.rpm
Error: Error: rpmdb failed to list provides. Try: rpm --rebuilddb


[root@ora19c /]# rpm --rebuilddb
[root@ora19c /]# yum clean all
558 files removed



[root@ora19c /]# dnf install -y oracle-database-preinstall-19c-1.0-2.el8.x86_64.rpm
Oracle Linux 8 BaseOS Latest (x86_64)                                                                                                                                        3.7 MB/s |  41 MB     00:11
Oracle Linux 8 Application Stream (x86_64)                                                                                                                                   3.6 MB/s |  31 MB     00:08
Latest Unbreakable Enterprise Kernel Release 6 for Oracle Linux 8 (x86_64)                                                                                                   3.6 MB/s |  31 MB     00:08
Last metadata expiration check: 0:00:18 ago on Sat 25 Dec 2021 17:10:01 GMT.
Dependencies resolved.
=============================================================================================================================================================================================================
 Package                                                   Architecture                      Version                                                      Repository                                    Size
=============================================================================================================================================================================================================
Installing:
 oracle-database-preinstall-19c                            x86_64                            1.0-2.el8                                                    @commandline                                  31 k
Installing dependencies:
 findutils                                                 x86_64                            1:4.6.0-20.el8                                               ol8_baseos_latest                            528 k
 glibc-devel                                               x86_64                            2.28-164.0.1.el8                                             ol8_baseos_latest                            1.0 M
 ksh                                                       x86_64                            20120801-254.0.1.el8                                         ol8_appstream                                927 k
 libaio-devel                                              x86_64                            0.3.112-1.el8                                                ol8_baseos_latest                             19 k
 libnsl                                                    x86_64                            2.28-164.0.1.el8                                             ol8_baseos_latest                            104 k
 libstdc++-devel                                           x86_64                            8.5.0-4.0.1.el8_5                                            ol8_appstream                                2.1 M
 libxcrypt-devel                                           x86_64                            4.1.1-6.el8                                                  ol8_baseos_latest                             25 k
 lm_sensors-libs                                           x86_64                            3.4.0-23.20180522git70f7e08.el8                              ol8_baseos_latest                             59 k
 make                                                      x86_64                            1:4.2.1-10.el8                                               ol8_baseos_latest                            498 k
 net-tools                                                 x86_64                            2.0-0.52.20160912git.el8                                     ol8_baseos_latest                            322 k
 sysstat                                                   x86_64                            11.7.3-6.0.1.el8                                             ol8_appstream                                425 k
 unzip                                                     x86_64                            6.0-45.el8_4                                                 ol8_baseos_latest                            195 k
 util-linux                                                x86_64                            2.32.1-28.el8                                                ol8_baseos_latest                            2.5 M

Transaction Summary
=============================================================================================================================================================================================================
Install  14 Packages

Total size: 8.6 M
Total download size: 8.6 M
Installed size: 33 M
Downloading Packages:
(1/13): findutils-4.6.0-20.el8.x86_64.rpm                                                                                                                                    1.3 MB/s | 528 kB     00:00
(2/13): libnsl-2.28-164.0.1.el8.x86_64.rpm                                                                                                                                   1.6 MB/s | 104 kB     00:00
(3/13): libxcrypt-devel-4.1.1-6.el8.x86_64.rpm                                                                                                                               829 kB/s |  25 kB     00:00
(4/13): lm_sensors-libs-3.4.0-23.20180522git70f7e08.el8.x86_64.rpm                                                                                                           1.1 MB/s |  59 kB     00:00
(5/13): glibc-devel-2.28-164.0.1.el8.x86_64.rpm                                                                                                                              1.5 MB/s | 1.0 MB     00:00
(6/13): make-4.2.1-10.el8.x86_64.rpm                                                                                                                                         2.1 MB/s | 498 kB     00:00
(7/13): net-tools-2.0-0.52.20160912git.el8.x86_64.rpm                                                                                                                        2.0 MB/s | 322 kB     00:00
(8/13): unzip-6.0-45.el8_4.x86_64.rpm                                                                                                                                        2.2 MB/s | 195 kB     00:00
(9/13): ksh-20120801-254.0.1.el8.x86_64.rpm                                                                                                                                  1.8 MB/s | 927 kB     00:00
(10/13): util-linux-2.32.1-28.el8.x86_64.rpm                                                                                                                                 2.0 MB/s | 2.5 MB     00:01
(11/13): libstdc++-devel-8.5.0-4.0.1.el8_5.x86_64.rpm                                                                                                                        2.2 MB/s | 2.1 MB     00:00
(12/13): sysstat-11.7.3-6.0.1.el8.x86_64.rpm                                                                                                                                 1.8 MB/s | 425 kB     00:00
(13/13): libaio-devel-0.3.112-1.el8.x86_64.rpm                                                                                                                               4.3 kB/s |  19 kB     00:04
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Total                                                                                                                                                                        2.0 MB/s | 8.6 MB     00:04
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
  Preparing        :                                                                                                                                                                                     1/1
  Installing       : libxcrypt-devel-4.1.1-6.el8.x86_64                                                                                                                                                 1/14
  Installing       : glibc-devel-2.28-164.0.1.el8.x86_64                                                                                                                                                2/14
  Running scriptlet: glibc-devel-2.28-164.0.1.el8.x86_64                                                                                                                                                2/14
  Installing       : libstdc++-devel-8.5.0-4.0.1.el8_5.x86_64                                                                                                                                           3/14
  Installing       : ksh-20120801-254.0.1.el8.x86_64                                                                                                                                                    4/14
  Running scriptlet: ksh-20120801-254.0.1.el8.x86_64                                                                                                                                                    4/14
  Installing       : util-linux-2.32.1-28.el8.x86_64                                                                                                                                                    5/14
warning: /etc/adjtime created as /etc/adjtime.rpmnew

  Running scriptlet: util-linux-2.32.1-28.el8.x86_64                                                                                                                                                    5/14
  Installing       : unzip-6.0-45.el8_4.x86_64                                                                                                                                                          6/14
  Installing       : net-tools-2.0-0.52.20160912git.el8.x86_64                                                                                                                                          7/14
  Running scriptlet: net-tools-2.0-0.52.20160912git.el8.x86_64                                                                                                                                          7/14
  Installing       : make-1:4.2.1-10.el8.x86_64                                                                                                                                                         8/14
  Running scriptlet: make-1:4.2.1-10.el8.x86_64                                                                                                                                                         8/14
  Installing       : lm_sensors-libs-3.4.0-23.20180522git70f7e08.el8.x86_64                                                                                                                             9/14
  Running scriptlet: lm_sensors-libs-3.4.0-23.20180522git70f7e08.el8.x86_64                                                                                                                             9/14
/sbin/ldconfig: /etc/ld.so.conf.d/kernel-5.4.17-2102.201.3.el8uek.x86_64.conf:6: hwcap directive ignored

  Installing       : libnsl-2.28-164.0.1.el8.x86_64                                                                                                                                                    10/14
  Installing       : libaio-devel-0.3.112-1.el8.x86_64                                                                                                                                                 11/14
  Installing       : findutils-1:4.6.0-20.el8.x86_64                                                                                                                                                   12/14
  Running scriptlet: findutils-1:4.6.0-20.el8.x86_64                                                                                                                                                   12/14
  Installing       : sysstat-11.7.3-6.0.1.el8.x86_64                                                                                                                                                   13/14
  Running scriptlet: sysstat-11.7.3-6.0.1.el8.x86_64                                                                                                                                                   13/14
  Running scriptlet: oracle-database-preinstall-19c-1.0-2.el8.x86_64                                                                                                                                   14/14
  Installing       : oracle-database-preinstall-19c-1.0-2.el8.x86_64                                                                                                                                   14/14
  Running scriptlet: oracle-database-preinstall-19c-1.0-2.el8.x86_64                                                                                                                                   14/14
/sbin/ldconfig: /etc/ld.so.conf.d/kernel-5.4.17-2102.201.3.el8uek.x86_64.conf:6: hwcap directive ignored

  Verifying        : findutils-1:4.6.0-20.el8.x86_64                                                                                                                                                    1/14
  Verifying        : glibc-devel-2.28-164.0.1.el8.x86_64                                                                                                                                                2/14
  Verifying        : libaio-devel-0.3.112-1.el8.x86_64                                                                                                                                                  3/14
  Verifying        : libnsl-2.28-164.0.1.el8.x86_64                                                                                                                                                     4/14
  Verifying        : libxcrypt-devel-4.1.1-6.el8.x86_64                                                                                                                                                 5/14
  Verifying        : lm_sensors-libs-3.4.0-23.20180522git70f7e08.el8.x86_64                                                                                                                             6/14
  Verifying        : make-1:4.2.1-10.el8.x86_64                                                                                                                                                         7/14
  Verifying        : net-tools-2.0-0.52.20160912git.el8.x86_64                                                                                                                                          8/14
  Verifying        : unzip-6.0-45.el8_4.x86_64                                                                                                                                                          9/14
  Verifying        : util-linux-2.32.1-28.el8.x86_64                                                                                                                                                   10/14
  Verifying        : ksh-20120801-254.0.1.el8.x86_64                                                                                                                                                   11/14
  Verifying        : libstdc++-devel-8.5.0-4.0.1.el8_5.x86_64                                                                                                                                          12/14
  Verifying        : sysstat-11.7.3-6.0.1.el8.x86_64                                                                                                                                                   13/14
  Verifying        : oracle-database-preinstall-19c-1.0-2.el8.x86_64                                                                                                                                   14/14

Installed:
  findutils-1:4.6.0-20.el8.x86_64       glibc-devel-2.28-164.0.1.el8.x86_64             ksh-20120801-254.0.1.el8.x86_64                       libaio-devel-0.3.112-1.el8.x86_64
  libnsl-2.28-164.0.1.el8.x86_64        libstdc++-devel-8.5.0-4.0.1.el8_5.x86_64        libxcrypt-devel-4.1.1-6.el8.x86_64                    lm_sensors-libs-3.4.0-23.20180522git70f7e08.el8.x86_64
  make-1:4.2.1-10.el8.x86_64            net-tools-2.0-0.52.20160912git.el8.x86_64       oracle-database-preinstall-19c-1.0-2.el8.x86_64       sysstat-11.7.3-6.0.1.el8.x86_64
  unzip-6.0-45.el8_4.x86_64             util-linux-2.32.1-28.el8.x86_64

Complete!
[root@ora19c /]#


Now working 

[oracle@ora19c ~]$ xclock
Warning: Missing charsets in String to FontSet conversion
[oracle@ora19c ~]$

Error: Error: rpmdb failed to list provides. Try: rpm --rebuilddb


oracle-database-preinstall-19c-1.0-2.el8.x86_64.rpm Error: Error: rpmdb failed to list provides. Try: rpm --rebuilddb
Error: Error: rpmdb failed to list provides. Try: rpm --rebuilddb

Download from ... 

https://yum.oracle.com/repo/OracleLinux/OL8/appstream/x86_64/

	oracle-database-preinstall-19c-1.0-1.el8.x86_64.rpm
        oracle-database-preinstall-19c-1.0-2.el8.x86_64.rpm
	oracle-database-preinstall-21c-1.0-1.el8.x86_64.rpm


curl -o oracle-database-preinstall-19c-1.0-1.el8.x86_64.rpm https://yum.oracle.com/repo/OracleLinux/OL8/appstream/x86_64/oracle-database-preinstall-19c-1.0-1.el8.x86_64.rpm


curl -o oracle-database-preinstall-19c-1.0-2.el8.x86_64.rpm https://yum.oracle.com/repo/OracleLinux/OL8/appstream/x86_64/oracle-database-preinstall-19c-1.0-2.el8.x86_64.rpm


curl -o oracle-database-preinstall-19c-1.0-2.el8.x86_64.rpm https://yum.oracle.com/repo/OracleLinux/OL8/appstream/x86_64/getPackage/oracle-database-preinstall-19c-1.0-2.el8.x86_64.rpm


[root@ora19c /]# cat /etc/redhat-release
Red Hat Enterprise Linux release 8.5 (Ootpa)


getting below error !!!
dnf install -y oracle-database-preinstall-19c-1.0-2.el8.x86_64.rpm
Error: Error: rpmdb failed to list provides. Try: rpm --rebuilddb


[root@ora19c /]# ps aux | grep -E 'rpm|yum'
root       79568  0.0  0.0  12128  1100 pts/1    R+   17:06   0:00 grep --color=auto -E rpm|yum

[root@ora19c /]# rm /var/lib/rpm/__db*
rm: remove regular file '/var/lib/rpm/__db.001'? y
rm: remove regular file '/var/lib/rpm/__db.002'? y
rm: remove regular file '/var/lib/rpm/__db.003'? y

[root@ora19c /]# dnf install -y oracle-database-preinstall-19c-1.0-2.el8.x86_64.rpm
Error: Error: rpmdb failed to list provides. Try: rpm --rebuilddb

Do below !!

[root@ora19c /]# rpm --rebuilddb
[root@ora19c /]# yum clean all
558 files removed
======================================================================================================================================================================================================


[root@ora19c /]# dnf install -y oracle-database-preinstall-19c-1.0-2.el8.x86_64.rpm
Oracle Linux 8 BaseOS Latest (x86_64)                                                                                                                                        3.7 MB/s |  41 MB     00:11
Oracle Linux 8 Application Stream (x86_64)                                                                                                                                   3.6 MB/s |  31 MB     00:08
Latest Unbreakable Enterprise Kernel Release 6 for Oracle Linux 8 (x86_64)                                                                                                   3.6 MB/s |  31 MB     00:08
Last metadata expiration check: 0:00:18 ago on Sat 25 Dec 2021 17:10:01 GMT.
Dependencies resolved.
=============================================================================================================================================================================================================
 Package                                                   Architecture                      Version                                                      Repository                                    Size
=============================================================================================================================================================================================================
Installing:
 oracle-database-preinstall-19c                            x86_64                            1.0-2.el8                                                    @commandline                                  31 k
Installing dependencies:
 findutils                                                 x86_64                            1:4.6.0-20.el8                                               ol8_baseos_latest                            528 k
 glibc-devel                                               x86_64                            2.28-164.0.1.el8                                             ol8_baseos_latest                            1.0 M
 ksh                                                       x86_64                            20120801-254.0.1.el8                                         ol8_appstream                                927 k
 libaio-devel                                              x86_64                            0.3.112-1.el8                                                ol8_baseos_latest                             19 k
 libnsl                                                    x86_64                            2.28-164.0.1.el8                                             ol8_baseos_latest                            104 k
 libstdc++-devel                                           x86_64                            8.5.0-4.0.1.el8_5                                            ol8_appstream                                2.1 M
 libxcrypt-devel                                           x86_64                            4.1.1-6.el8                                                  ol8_baseos_latest                             25 k
 lm_sensors-libs                                           x86_64                            3.4.0-23.20180522git70f7e08.el8                              ol8_baseos_latest                             59 k
 make                                                      x86_64                            1:4.2.1-10.el8                                               ol8_baseos_latest                            498 k
 net-tools                                                 x86_64                            2.0-0.52.20160912git.el8                                     ol8_baseos_latest                            322 k
 sysstat                                                   x86_64                            11.7.3-6.0.1.el8                                             ol8_appstream                                425 k
 unzip                                                     x86_64                            6.0-45.el8_4                                                 ol8_baseos_latest                            195 k
 util-linux                                                x86_64                            2.32.1-28.el8                                                ol8_baseos_latest                            2.5 M

Transaction Summary
=============================================================================================================================================================================================================
Install  14 Packages

Total size: 8.6 M
Total download size: 8.6 M
Installed size: 33 M
Downloading Packages:
(1/13): findutils-4.6.0-20.el8.x86_64.rpm                                                                                                                                    1.3 MB/s | 528 kB     00:00
(2/13): libnsl-2.28-164.0.1.el8.x86_64.rpm                                                                                                                                   1.6 MB/s | 104 kB     00:00
(3/13): libxcrypt-devel-4.1.1-6.el8.x86_64.rpm                                                                                                                               829 kB/s |  25 kB     00:00
(4/13): lm_sensors-libs-3.4.0-23.20180522git70f7e08.el8.x86_64.rpm                                                                                                           1.1 MB/s |  59 kB     00:00
(5/13): glibc-devel-2.28-164.0.1.el8.x86_64.rpm                                                                                                                              1.5 MB/s | 1.0 MB     00:00
(6/13): make-4.2.1-10.el8.x86_64.rpm                                                                                                                                         2.1 MB/s | 498 kB     00:00
(7/13): net-tools-2.0-0.52.20160912git.el8.x86_64.rpm                                                                                                                        2.0 MB/s | 322 kB     00:00
(8/13): unzip-6.0-45.el8_4.x86_64.rpm                                                                                                                                        2.2 MB/s | 195 kB     00:00
(9/13): ksh-20120801-254.0.1.el8.x86_64.rpm                                                                                                                                  1.8 MB/s | 927 kB     00:00
(10/13): util-linux-2.32.1-28.el8.x86_64.rpm                                                                                                                                 2.0 MB/s | 2.5 MB     00:01
(11/13): libstdc++-devel-8.5.0-4.0.1.el8_5.x86_64.rpm                                                                                                                        2.2 MB/s | 2.1 MB     00:00
(12/13): sysstat-11.7.3-6.0.1.el8.x86_64.rpm                                                                                                                                 1.8 MB/s | 425 kB     00:00
(13/13): libaio-devel-0.3.112-1.el8.x86_64.rpm                                                                                                                               4.3 kB/s |  19 kB     00:04
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Total                                                                                                                                                                        2.0 MB/s | 8.6 MB     00:04
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
  Preparing        :                                                                                                                                                                                     1/1
  Installing       : libxcrypt-devel-4.1.1-6.el8.x86_64                                                                                                                                                 1/14
  Installing       : glibc-devel-2.28-164.0.1.el8.x86_64                                                                                                                                                2/14
  Running scriptlet: glibc-devel-2.28-164.0.1.el8.x86_64                                                                                                                                                2/14
  Installing       : libstdc++-devel-8.5.0-4.0.1.el8_5.x86_64                                                                                                                                           3/14
  Installing       : ksh-20120801-254.0.1.el8.x86_64                                                                                                                                                    4/14
  Running scriptlet: ksh-20120801-254.0.1.el8.x86_64                                                                                                                                                    4/14
  Installing       : util-linux-2.32.1-28.el8.x86_64                                                                                                                                                    5/14
warning: /etc/adjtime created as /etc/adjtime.rpmnew

  Running scriptlet: util-linux-2.32.1-28.el8.x86_64                                                                                                                                                    5/14
  Installing       : unzip-6.0-45.el8_4.x86_64                                                                                                                                                          6/14
  Installing       : net-tools-2.0-0.52.20160912git.el8.x86_64                                                                                                                                          7/14
  Running scriptlet: net-tools-2.0-0.52.20160912git.el8.x86_64                                                                                                                                          7/14
  Installing       : make-1:4.2.1-10.el8.x86_64                                                                                                                                                         8/14
  Running scriptlet: make-1:4.2.1-10.el8.x86_64                                                                                                                                                         8/14
  Installing       : lm_sensors-libs-3.4.0-23.20180522git70f7e08.el8.x86_64                                                                                                                             9/14
  Running scriptlet: lm_sensors-libs-3.4.0-23.20180522git70f7e08.el8.x86_64                                                                                                                             9/14
/sbin/ldconfig: /etc/ld.so.conf.d/kernel-5.4.17-2102.201.3.el8uek.x86_64.conf:6: hwcap directive ignored

  Installing       : libnsl-2.28-164.0.1.el8.x86_64                                                                                                                                                    10/14
  Installing       : libaio-devel-0.3.112-1.el8.x86_64                                                                                                                                                 11/14
  Installing       : findutils-1:4.6.0-20.el8.x86_64                                                                                                                                                   12/14
  Running scriptlet: findutils-1:4.6.0-20.el8.x86_64                                                                                                                                                   12/14
  Installing       : sysstat-11.7.3-6.0.1.el8.x86_64                                                                                                                                                   13/14
  Running scriptlet: sysstat-11.7.3-6.0.1.el8.x86_64                                                                                                                                                   13/14
  Running scriptlet: oracle-database-preinstall-19c-1.0-2.el8.x86_64                                                                                                                                   14/14
  Installing       : oracle-database-preinstall-19c-1.0-2.el8.x86_64                                                                                                                                   14/14
  Running scriptlet: oracle-database-preinstall-19c-1.0-2.el8.x86_64                                                                                                                                   14/14
/sbin/ldconfig: /etc/ld.so.conf.d/kernel-5.4.17-2102.201.3.el8uek.x86_64.conf:6: hwcap directive ignored

  Verifying        : findutils-1:4.6.0-20.el8.x86_64                                                                                                                                                    1/14
  Verifying        : glibc-devel-2.28-164.0.1.el8.x86_64                                                                                                                                                2/14
  Verifying        : libaio-devel-0.3.112-1.el8.x86_64                                                                                                                                                  3/14
  Verifying        : libnsl-2.28-164.0.1.el8.x86_64                                                                                                                                                     4/14
  Verifying        : libxcrypt-devel-4.1.1-6.el8.x86_64                                                                                                                                                 5/14
  Verifying        : lm_sensors-libs-3.4.0-23.20180522git70f7e08.el8.x86_64                                                                                                                             6/14
  Verifying        : make-1:4.2.1-10.el8.x86_64                                                                                                                                                         7/14
  Verifying        : net-tools-2.0-0.52.20160912git.el8.x86_64                                                                                                                                          8/14
  Verifying        : unzip-6.0-45.el8_4.x86_64                                                                                                                                                          9/14
  Verifying        : util-linux-2.32.1-28.el8.x86_64                                                                                                                                                   10/14
  Verifying        : ksh-20120801-254.0.1.el8.x86_64                                                                                                                                                   11/14
  Verifying        : libstdc++-devel-8.5.0-4.0.1.el8_5.x86_64                                                                                                                                          12/14
  Verifying        : sysstat-11.7.3-6.0.1.el8.x86_64                                                                                                                                                   13/14
  Verifying        : oracle-database-preinstall-19c-1.0-2.el8.x86_64                                                                                                                                   14/14

Installed:
  findutils-1:4.6.0-20.el8.x86_64       glibc-devel-2.28-164.0.1.el8.x86_64             ksh-20120801-254.0.1.el8.x86_64                       libaio-devel-0.3.112-1.el8.x86_64
  libnsl-2.28-164.0.1.el8.x86_64        libstdc++-devel-8.5.0-4.0.1.el8_5.x86_64        libxcrypt-devel-4.1.1-6.el8.x86_64                    lm_sensors-libs-3.4.0-23.20180522git70f7e08.el8.x86_64
  make-1:4.2.1-10.el8.x86_64            net-tools-2.0-0.52.20160912git.el8.x86_64       oracle-database-preinstall-19c-1.0-2.el8.x86_64       sysstat-11.7.3-6.0.1.el8.x86_64
  unzip-6.0-45.el8_4.x86_64             util-linux-2.32.1-28.el8.x86_64

Complete!
[root@ora19c /]#


shmmax -->Half the size of physical memory in bytes
shmall -->Greater than or equal to the value of shmmax, in pages.

shmmni is set to recommended value 4096

Maximum SHMMAX values for Linux x86 and x86-64 ( Doc ID 567506.1 )
Relationship Between SGA_TARGET and SHMMAX ( Doc ID 1527109.1 )

https://docs.oracle.com/en/database/oracle/oracle-database/19/ladbi/minimum-parameter-settings-for-installation.html


Sunday, 19 December 2021

object waits with event


Object waits with event .. 


define IF_COMMENT=' '
--define IF_COMMENT='--' 
set linesize 300 pagesize 300 numf 9999999999999999999999 col object_name for a50 col statistic_name for a35 col owner for a25
col VALUE for 999999999999999999
with temp as (select a.owner,a.object_name,b.statistic_name,b.value from gv$segstat b,
dba_objects a where a.object_id=b.obj# and b.statistic_name='db block changes' order by 4 desc) 
select * from temp where rownum < 30
&IF_COMMENT and owner not in ('AUDSYS','DBVISIT7', 'SYS' , 'SYSTEM' , 'DBSNMP' , 'SYSMAN' , 'OUTLN' ,'MDSYS' , 'ORDSYS' , 'EXFSYS' , 'DMSYS' , 'WMSYS' , 'CTXSYS' , 'ANONYMOUS' , 'XDB' , 'ORDPLUGINS' , 'OLAPSYS' , 'PUBLIC','WWV_FLOW_PLATFORM' ) 
;
with temp as (select a.owner,a.object_name,b.statistic_name,b.value from gv$segstat b,dba_objects a where a.object_id=b.obj# and b.statistic_name='segment scans' order by 4 desc) 
select * from temp where rownum < 30
&IF_COMMENT and owner not in ('AUDSYS','DBVISIT7', 'SYS' , 'SYSTEM' , 'DBSNMP' , 'SYSMAN' , 'OUTLN' ,'MDSYS' , 'ORDSYS' , 'EXFSYS' , 'DMSYS' , 'WMSYS' , 'CTXSYS' , 'ANONYMOUS' , 'XDB' , 'ORDPLUGINS' , 'OLAPSYS' , 'PUBLIC','WWV_FLOW_PLATFORM' ) 
;
with temp as (select a.owner,a.object_name,b.statistic_name,b.value from gv$segstat b,dba_objects a where a.object_id=b.obj# and b.statistic_name='row lock waits' order by 4 desc) 
select * from temp where rownum < 30
&IF_COMMENT and owner not in ('AUDSYS','DBVISIT7', 'SYS' , 'SYSTEM' , 'DBSNMP' , 'SYSMAN' , 'OUTLN' ,'MDSYS' , 'ORDSYS' , 'EXFSYS' , 'DMSYS' , 'WMSYS' , 'CTXSYS' , 'ANONYMOUS' , 'XDB' , 'ORDPLUGINS' , 'OLAPSYS' , 'PUBLIC','WWV_FLOW_PLATFORM' ) 
;

with temp as (select a.owner,a.object_name,b.statistic_name,b.value from gv$segstat b,dba_objects a where a.object_id=b.obj# and b.statistic_name='buffer busy waits' order by 4 desc) 
select * from temp where rownum < 30
&IF_COMMENT and owner not in ('AUDSYS','DBVISIT7', 'SYS' , 'SYSTEM' , 'DBSNMP' , 'SYSMAN' , 'OUTLN' ,'MDSYS' , 'ORDSYS' , 'EXFSYS' , 'DMSYS' , 'WMSYS' , 'CTXSYS' , 'ANONYMOUS' , 'XDB' , 'ORDPLUGINS' , 'OLAPSYS' , 'PUBLIC','WWV_FLOW_PLATFORM' ) 
;

with temp as (select a.owner,a.object_name,b.statistic_name,b.value from gv$segstat b,dba_objects a where a.object_id=b.obj# and b.statistic_name='physical reads direct' order by 4 desc) 
select * from temp where rownum < 30
&IF_COMMENT and owner not in ('AUDSYS','DBVISIT7', 'SYS' , 'SYSTEM' , 'DBSNMP' , 'SYSMAN' , 'OUTLN' ,'MDSYS' , 'ORDSYS' , 'EXFSYS' , 'DMSYS' , 'WMSYS' , 'CTXSYS' , 'ANONYMOUS' , 'XDB' , 'ORDPLUGINS' , 'OLAPSYS' , 'PUBLIC','WWV_FLOW_PLATFORM' ) 
;
with temp as (select a.owner,a.object_name,b.statistic_name,b.value from gv$segstat b,dba_objects a where a.object_id=b.obj# and b.statistic_name='physical reads' order by 4 desc) 
select * from temp where rownum < 30
&IF_COMMENT and owner not in ('AUDSYS','DBVISIT7', 'SYS' , 'SYSTEM' , 'DBSNMP' , 'SYSMAN' , 'OUTLN' ,'MDSYS' , 'ORDSYS' , 'EXFSYS' , 'DMSYS' , 'WMSYS' , 'CTXSYS' , 'ANONYMOUS' , 'XDB' , 'ORDPLUGINS' , 'OLAPSYS' , 'PUBLIC','WWV_FLOW_PLATFORM' ) 
;
with temp as (select a.owner,a.object_name,b.statistic_name,b.value from gv$segstat b,dba_objects a where a.object_id=b.obj# and b.statistic_name='physical writes' order by 4 desc) 
select * from temp where rownum < 30
&IF_COMMENT and owner not in ('AUDSYS','DBVISIT7', 'SYS' , 'SYSTEM' , 'DBSNMP' , 'SYSMAN' , 'OUTLN' ,'MDSYS' , 'ORDSYS' , 'EXFSYS' , 'DMSYS' , 'WMSYS' , 'CTXSYS' , 'ANONYMOUS' , 'XDB' , 'ORDPLUGINS' , 'OLAPSYS' , 'PUBLIC','WWV_FLOW_PLATFORM' ) 
;
with temp as (select a.owner,a.object_name,b.statistic_name,b.value from gv$segstat b,dba_objects a where a.object_id=b.obj# and b.statistic_name='physical writes direct' order by 4 desc) 
select * from temp where rownum < 30
&IF_COMMENT and owner not in ('AUDSYS','DBVISIT7', 'SYS' , 'SYSTEM' , 'DBSNMP' , 'SYSMAN' , 'OUTLN' ,'MDSYS' , 'ORDSYS' , 'EXFSYS' , 'DMSYS' , 'WMSYS' , 'CTXSYS' , 'ANONYMOUS' , 'XDB' , 'ORDPLUGINS' , 'OLAPSYS' , 'PUBLIC','WWV_FLOW_PLATFORM' ) 
;
with temp as (select a.owner,a.object_name,b.statistic_name,b.value from gv$segstat b,dba_objects a where a.object_id=b.obj# and b.statistic_name='logical reads' order by 4 desc) 
select * from temp where rownum < 30
&IF_COMMENT and owner not in ('AUDSYS','DBVISIT7', 'SYS' , 'SYSTEM' , 'DBSNMP' , 'SYSMAN' , 'OUTLN' ,'MDSYS' , 'ORDSYS' , 'EXFSYS' , 'DMSYS' , 'WMSYS' , 'CTXSYS' , 'ANONYMOUS' , 'XDB' , 'ORDPLUGINS' , 'OLAPSYS' , 'PUBLIC','WWV_FLOW_PLATFORM' ) 
;
with temp as (select a.owner,a.object_name,b.statistic_name,b.value from gv$segstat b,dba_objects a where a.object_id=b.obj# and b.statistic_name='ITL waits' order by 4 desc)
select * from temp where rownum < 30
&IF_COMMENT and owner not in ('AUDSYS','DBVISIT7', 'SYS' , 'SYSTEM' , 'DBSNMP' , 'SYSMAN' , 'OUTLN' ,'MDSYS' , 'ORDSYS' , 'EXFSYS' , 'DMSYS' , 'WMSYS' , 'CTXSYS' , 'ANONYMOUS' , 'XDB' , 'ORDPLUGINS' , 'OLAPSYS' , 'PUBLIC','WWV_FLOW_PLATFORM' ) 
;


OWNER                     OBJECT_NAME                    STATISTIC_NAME                           VALUE
------------------------- ------------------------------ ----------------------------------- ----------
ANUJ                      TAB1_IND                       db block changes                           576
ANUJ                      TAB2                           db block changes                           128
ANUJ                      TAB1                           db block changes                            32


col OWNER        for a15                  
col OBJECT_NAME    for a25                
col SUBOBJECT_NAME  for a15               
col OBJECT_TYPE        for a15
col TABLESPACE_NAME  for a15
col reads for a8
col logical_reads for a8
col physical_reads for a8
col physical_reads for a14
col segment_scans for a14
col writes for a8
select  vss.owner,
        vss.object_name,
        vss.subobject_name,
        vss.object_type ,
        vss.tablespace_name ,
        dbms_xplan.format_size(sum(case statistic_name when 'logical reads' then value else 0 end  + case statistic_name when 'physical reads' then value else 0 end)) as reads ,
        dbms_xplan.format_size(sum(case statistic_name when 'logical reads' then value else 0 end)) as logical_reads ,
        dbms_xplan.format_size(sum(case statistic_name when 'physical reads' then value else 0 end)) as physical_reads ,
        dbms_xplan.format_size(sum(case statistic_name when 'segment scans' then value else 0 end)) as segment_scans ,
        dbms_xplan.format_size(sum(case statistic_name when 'physical writes' then value else 0 end)) as writes
from    v$segment_statistics vss
where   vss.owner not in ('SYS', 'SYSTEM')
--and vss.object_type in ('TABLE', 'INDEX')
and vss.owner in ('XXXX')
group by vss.owner,
        vss.object_name ,
        vss.object_type ,
        vss.subobject_name ,
        vss.tablespace_name
order by reads desc;



set lines 500  pagesize 300 
col file# for 99999
col block# for 9999999999
col obj for a40
col type for a9
col lm for 99
col bsid for 9999
col kill for a15
col event for a30
select count(*) cnt,
''''||ash.SESSION_ID ||','|| ash.SESSION_SERIAL#||',@'||ash.inst_id ||'''' kill,
--session_id sid,
substr(event,1,30) event,
mod(p1,16) as lm,
sql_id,
CURRENT_OBJ# || ' ' || object_name obj
, o.object_type type
, CURRENT_FILE# file#
, CURRENT_BLOCK# block#
, blocking_session bsid
,con_id
from gv$active_session_history ash,dba_objects o
where 1=1
and event like 'enq: T%'
--and sample_time between to_timestamp('19.12.2021 00:00:00', 'dd.mm.yyyy hh24:mi:ss') AND TO_TIMESTAMP('19.12.2021 23:59:59', 'dd.mm.yyyy hh24:mi:ss')
-- and SAMPLE_TIME > SYSTIMESTAMP - INTERVAL '10' second
-- and SAMPLE_TIME > SYSTIMESTAMP - INTERVAL '1' DAY
--and SAMPLE_TIME > SYSTIMESTAMP - INTERVAL '15' minute
and o.object_id (+)= ash.current_obj#
group by event,''''||ash.SESSION_ID ||','|| ash.SESSION_SERIAL#||',@'||ash.inst_id ||'''' ,p1,sql_id,current_obj#,object_name,object_type,current_file#, current_block#, blocking_session,con_id
order by count(*)
/


==========
ALTER SESSION SET nls_timestamp_format='DD-MON-RR HH24:MI';



set linesize 300 pagesize 300
col OBJECT_NAME for a20
col BEGIN_INTERVAL_TIME for a27
col SUBOBJECT_NAME for a25
col OWNER for a15


VARIABLE BgnSnap NUMBER
VARIABLE EndSnap NUMBER
VARIABLE DID NUMBER
VARIABLE INST_NUMBER number
exec select max(snap_id) -24 into :BgnSnap from dba_hist_snapshot ;
exec select max(snap_id) into :EndSnap from dba_hist_snapshot ;


SELECT P.snap_id,
  P.begin_interval_time,
  O.owner,
  O.object_name,
  O.subobject_name,
  O.object_type,
  S.row_lock_waits_delta
FROM dba_hist_seg_stat S, dba_hist_seg_stat_obj O,  dba_hist_snapshot P
WHERE S.dbid               =O.dbid
AND S.ts#                  =O.ts#
AND S.obj#                 =O.obj#
AND S.dataobj#             =O.dataobj#
AND S.snap_id              =P.snap_id
AND S.dbid                 =P.dbid
AND S.instance_number      =P.instance_number
AND S.row_lock_waits_delta > 0
AND P.snap_id BETWEEN :BgnSnap  AND :EndSnap
ORDER BY 1,3,4;

====


define IF_COMMENT=' '
--define IF_COMMENT='--' 

set linesize 300 pagesize 300
col object_name 	for a30
col statistic_name 	for a35
col owner 			for a25
col VALUE for 999999999999999999
with temp as (select a.owner,a.object_name,b.statistic_name,b.value from gv$segstat b,
dba_objects a where a.object_id=b.obj# and b.statistic_name='db block changes' order by 4 desc) 
select * from temp where rownum < 30
&IF_COMMENT and owner not in ('AUDSYS','DBVISIT7', 'SYS' , 'SYSTEM' , 'DBSNMP' , 'SYSMAN' , 'OUTLN' ,'MDSYS' , 'ORDSYS' , 'EXFSYS' , 'DMSYS' , 'WMSYS' , 'CTXSYS' , 'ANONYMOUS' , 'XDB' , 'ORDPLUGINS' , 'OLAPSYS' , 'PUBLIC','WWV_FLOW_PLATFORM' ) 
;
with temp as (select a.owner,a.object_name,b.statistic_name,b.value from gv$segstat b,dba_objects a where a.object_id=b.obj# and b.statistic_name='segment scans' order by 4 desc) 
select * from temp where rownum < 30
&IF_COMMENT and owner not in ('AUDSYS','DBVISIT7', 'SYS' , 'SYSTEM' , 'DBSNMP' , 'SYSMAN' , 'OUTLN' ,'MDSYS' , 'ORDSYS' , 'EXFSYS' , 'DMSYS' , 'WMSYS' , 'CTXSYS' , 'ANONYMOUS' , 'XDB' , 'ORDPLUGINS' , 'OLAPSYS' , 'PUBLIC','WWV_FLOW_PLATFORM' ) 
;
with temp as (select a.owner,a.object_name,b.statistic_name,b.value from gv$segstat b,dba_objects a where a.object_id=b.obj# and b.statistic_name='row lock waits' order by 4 desc) 
select * from temp where rownum < 30
&IF_COMMENT and owner not in ('AUDSYS','DBVISIT7', 'SYS' , 'SYSTEM' , 'DBSNMP' , 'SYSMAN' , 'OUTLN' ,'MDSYS' , 'ORDSYS' , 'EXFSYS' , 'DMSYS' , 'WMSYS' , 'CTXSYS' , 'ANONYMOUS' , 'XDB' , 'ORDPLUGINS' , 'OLAPSYS' , 'PUBLIC','WWV_FLOW_PLATFORM' ) 
;
with temp as (select a.owner,a.object_name,b.statistic_name,b.value from gv$segstat b,dba_objects a where a.object_id=b.obj# and b.statistic_name='buffer busy waits' order by desc) 
select * from temp where rownum < 30
&IF_COMMENT and owner not in ('AUDSYS','DBVISIT7', 'SYS' , 'SYSTEM' , 'DBSNMP' , 'SYSMAN' , 'OUTLN' ,'MDSYS' , 'ORDSYS' , 'EXFSYS' , 'DMSYS' , 'WMSYS' , 'CTXSYS' , 'ANONYMOUS' , 'XDB' , 'ORDPLUGINS' , 'OLAPSYS' , 'PUBLIC','WWV_FLOW_PLATFORM' ) 
;
with temp as (select a.owner,a.object_name,b.statistic_name,b.value from gv$segstat b,dba_objects a where a.object_id=b.obj# and b.statistic_name='physical reads direct' order by 4 desc) 
select * from temp where rownum < 30
&IF_COMMENT and owner not in ('AUDSYS','DBVISIT7', 'SYS' , 'SYSTEM' , 'DBSNMP' , 'SYSMAN' , 'OUTLN' ,'MDSYS' , 'ORDSYS' , 'EXFSYS' , 'DMSYS' , 'WMSYS' , 'CTXSYS' , 'ANONYMOUS' , 'XDB' , 'ORDPLUGINS' , 'OLAPSYS' , 'PUBLIC','WWV_FLOW_PLATFORM' ) 
;
with temp as (select a.owner,a.object_name,b.statistic_name,b.value from gv$segstat b,dba_objects a where a.object_id=b.obj# and b.statistic_name='physical reads' order by 4 desc) 
select * from temp where rownum < 30
&IF_COMMENT and owner not in ('AUDSYS','DBVISIT7', 'SYS' , 'SYSTEM' , 'DBSNMP' , 'SYSMAN' , 'OUTLN' ,'MDSYS' , 'ORDSYS' , 'EXFSYS' , 'DMSYS' , 'WMSYS' , 'CTXSYS' , 'ANONYMOUS' , 'XDB' , 'ORDPLUGINS' , 'OLAPSYS' , 'PUBLIC','WWV_FLOW_PLATFORM' ) 
;
with temp as (select a.owner,a.object_name,b.statistic_name,b.value from gv$segstat b,dba_objects a where a.object_id=b.obj# and b.statistic_name='physical writes' order by 4 desc) 
select * from temp where rownum < 30
&IF_COMMENT and owner not in ('AUDSYS','DBVISIT7', 'SYS' , 'SYSTEM' , 'DBSNMP' , 'SYSMAN' , 'OUTLN' ,'MDSYS' , 'ORDSYS' , 'EXFSYS' , 'DMSYS' , 'WMSYS' , 'CTXSYS' , 'ANONYMOUS' , 'XDB' , 'ORDPLUGINS' , 'OLAPSYS' , 'PUBLIC','WWV_FLOW_PLATFORM' ) 
;
with temp as (select a.owner,a.object_name,b.statistic_name,b.value from gv$segstat b,dba_objects a where a.object_id=b.obj# and b.statistic_name='physical writes direct' order by 4 desc) 
select * from temp where rownum < 30
&IF_COMMENT and owner not in ('AUDSYS','DBVISIT7', 'SYS' , 'SYSTEM' , 'DBSNMP' , 'SYSMAN' , 'OUTLN' ,'MDSYS' , 'ORDSYS' , 'EXFSYS' , 'DMSYS' , 'WMSYS' , 'CTXSYS' , 'ANONYMOUS' , 'XDB' , 'ORDPLUGINS' , 'OLAPSYS' , 'PUBLIC','WWV_FLOW_PLATFORM' ) 
;
with temp as (select a.owner,a.object_name,b.statistic_name,b.value from gv$segstat b,dba_objects a where a.object_id=b.obj# and b.statistic_name='logical reads' order by 4 desc) 
select * from temp where rownum < 30
&IF_COMMENT and owner not in ('AUDSYS','DBVISIT7', 'SYS' , 'SYSTEM' , 'DBSNMP' , 'SYSMAN' , 'OUTLN' ,'MDSYS' , 'ORDSYS' , 'EXFSYS' , 'DMSYS' , 'WMSYS' , 'CTXSYS' , 'ANONYMOUS' , 'XDB' , 'ORDPLUGINS' , 'OLAPSYS' , 'PUBLIC','WWV_FLOW_PLATFORM' ) 
;
with temp as (select a.owner,a.object_name,b.statistic_name,b.value from gv$segstat b,dba_objects a where a.object_id=b.obj# and b.statistic_name='ITL waits' order by 4 desc)
select * from temp where rownum < 30
&IF_COMMENT and owner not in ('AUDSYS','DBVISIT7', 'SYS' , 'SYSTEM' , 'DBSNMP' , 'SYSMAN' , 'OUTLN' ,'MDSYS' , 'ORDSYS' , 'EXFSYS' , 'DMSYS' , 'WMSYS' , 'CTXSYS' , 'ANONYMOUS' , 'XDB' , 'ORDPLUGINS' , 'OLAPSYS' , 'PUBLIC','WWV_FLOW_PLATFORM' ) 
;

ALTER SESSION SET nls_timestamp_format='DD-MON-RR HH24:MI';
set linesize 300
col OBJECT_NAME for a25
col OWNER for a20
col BEGIN_INTERVAL_TIME for a27
col SUBOBJECT_NAME for a20
 
col snap_id new_value v_snap_id
select max(snap_id) as snap_id from dba_hist_snapshot;

SELECT P.snap_id,
  P.begin_interval_time,
  O.owner,
  O.object_name,
  O.subobject_name,
  O.object_type,
  S.row_lock_waits_delta
FROM dba_hist_seg_stat S,
  dba_hist_seg_stat_obj O,
  dba_hist_snapshot P
WHERE S.dbid               =O.dbid
AND S.ts#                  =O.ts#
AND S.obj#                 =O.obj#
AND S.dataobj#             =O.dataobj#
AND S.snap_id              =P.snap_id
AND S.dbid                 =P.dbid
AND S.instance_number      =P.instance_number
AND S.row_lock_waits_delta > 0
--AND P.snap_id BETWEEN      <begin_snap>  AND <end_snap> 
and s.snap_id between &v_snap_id-2 and &v_snap_id
and OWNER='SYS'
ORDER BY 1,3,4;

col owner format a15
col object format a30
col object_type format a10
col index_name format a30
col table_name format a30
col lockmode format a20
col event_name format a40 head 'EVENT NAME'
col sql_id format a13
col instance_number format 9999 head 'INST'

set line 200 trimspool on
set pagesize 60


-- d_date_format set by get_date_range.sql

with waits as (
   select
      sh.inst_id instance_number
      , sh.blocking_inst_id
      , sh.sql_id
      , n.name event_name
		, chr(bitand(sh.p1,-16777216)/16777215)||
		       chr(bitand(sh.p1, 16711680)/65535) LOCKNAME
      , bitand(sh.p1,65535) lockmode
		, sh.current_obj#
   from gv$active_session_history sh
   join v$event_name n on sh.event_id = n.event_id
   where sh.blocking_inst_id is not null
   --and sh.event_id = ( select event_id from v$event_name where name like 'enq: TX - row lock contention')
   and sh.event_id in ( select event_id from v$event_name where name like 'enq:%')
	and sh.current_obj# is not null
	and sh.current_obj# > 0
),
itlwaits as (
	select distinct
   	w.instance_number
   	, w.event_name
   	, w.sql_id
		--, w.lockname
		, current_obj#
		, count(*) itl_wait_count
	from waits w
	where w.lockname = 'TX'
		and lockmode = 4 -- ITL
		-- in this case just interested in indexes
		--and w.event_name = 'enq: TX - index contention'
	group by w.instance_number, w.event_name, w.sql_id, current_obj#
)
select 
	w.instance_number
	, w.sql_id
	, w.itl_wait_count
	, decode(i.owner,null,t.owner,i.owner) owner
	, o.object_type
	, decode(i.index_name,null,t.table_name,i.index_name) object
	, decode(i.ini_trans,null,t.ini_trans,i.ini_trans) ini_trans
	, decode(i.max_trans,null,t.max_trans,i.max_trans) max_trans
from itlwaits w
join dba_objects o on o.object_id  = w.current_obj#
left outer join dba_indexes i on i.owner = o.owner
	and i.index_name = o.object_name
left outer join dba_tables t on t.owner = o.owner
	and t.table_name = o.object_name
order by w.itl_wait_count
/
===========
col SQL_PROCESS for a13
col "event(waits:requests:blocks)" for a40
col "waits%"  for a7
col "reqs%"   for a7
col "blocks%" for a7
col inst_id for 9999 hea #i
col PROGRAMS for a60 HEADING 'PROGRAMS BY TYPES                                           '
col t0 for 999
col OBJECT_NAME for a35

with ash as (select * from gv$active_session_history where sample_time > sysdate - 1/24
            )
select /*+ rule*/ * from (
    select 
inst_id,
           object_name,
           tablespace_name,
           SUM(WAIT_COUNT),
           to_char(RATIO_TO_REPORT(SUM(WAIT_COUNT)) OVER() * 100, '990.99') AS "waits%",
           SUM(REQUESTS),
           to_char(RATIO_TO_REPORT(SUM(REQUESTS)) OVER()   * 100, '990.99') AS "reqs%",
           SUM(BLOCKS),
           to_char(RATIO_TO_REPORT(SUM(BLOCKS)) OVER()     * 100, '990.99') AS "blocks%",
           decode(nvl(upper('&&1'), 'BLOCKS')
                                  , 'WAITS' , rtrim(xmlagg(xmlelement(s, '(' || WAIT_COUNT||':'|| REQUESTS ||':'|| BLOCKS, '); ').extract('//text()') order by WAIT_COUNT desc), '; ')
                                  , 'REQS'  , rtrim(xmlagg(xmlelement(s, '(' || WAIT_COUNT||':'|| REQUESTS ||':'|| BLOCKS, '); ').extract('//text()') order by REQUESTS desc), '; ')
                                  , 'BLOCKS', rtrim(xmlagg(xmlelement(s, '(' || WAIT_COUNT||':'|| REQUESTS ||':'|| BLOCKS, '); ').extract('//text()') order by BLOCKS desc), '; ')
                                            , rtrim(xmlagg(xmlelement(s, '(' || WAIT_COUNT||':'|| REQUESTS ||':'|| BLOCKS, '); ').extract('//text()') order by BLOCKS desc), '; '))
            as "event(waits:requests:blocks)"
      from (select 
inst_id,
                   object_name,
                   tablespace_name,
                   sum(WAIT_COUNT)                     as WAIT_COUNT,
                   sum(WAIT_COUNT * REQS_PER_WAIT)     as REQUESTS,
                   sum(WAIT_COUNT * BLOCKS_PER_WAIT) as BLOCKS
              from (select count(*) as WAIT_COUNT,
                           o.object_type||' '||o.owner||'.'||o.object_name||'.'||o.subobject_name as object_name,
                           NVL(f.tablespace_name, l.tablespace_name) as tablespace_name,
                           case when p2text = 'blocks' then p2
                                when p3text in ('blocks','block cnt') then p3
                                when p1text = 'requests' then p1  
                                else 1
                           end                                                                                            as BLOCKS_PER_WAIT,
                           case when p3text='requests' then p3 when p1text='requests' then p1 else 1 end                  as REQS_PER_WAIT
,inst_id
                      from Gv$active_session_history  --
                      left join dba_objects o     on current_obj# = object_id
                      left join dba_data_files f  on current_file# = file_id
                      left join dba_lobs l        on l.owner = o.owner and l.segment_name = o.object_name
                     where 
                        wait_class in ('User I/O','System I/O') and
                        session_state = 'WAITING'
			and current_obj# > 0
                     group by o.object_type||' '||o.owner||'.'||o.object_name||'.'||o.subobject_name,
                              NVL(f.tablespace_name, l.tablespace_name),
                              case when p2text = 'blocks' then p2
                                   when p3text in ('blocks','block cnt') then p3
                                   when p1text = 'requests' then p1  
                                   else 1
                              end,
                              case when p3text='requests' then p3 when p1text='requests' then p1 else 1 end
,inst_id      )
             group by inst_id, object_name, tablespace_name)
     group by 
inst_id,    object_name,
              tablespace_name
     order by 1, decode(nvl(upper('&&1'),'BLOCKS'), 'WAITS', SUM(WAIT_COUNT), 'REQS', SUM(REQUESTS), 'BLOCKS', SUM(BLOCKS), SUM(BLOCKS)) desc
) where rownum <= nvl('&2', 10)

/
   #i OBJECT_NAME                         TABLESPACE_NAME                SUM(WAIT_COUNT) waits%  SUM(REQUESTS) reqs%   SUM(BLOCKS) blocks% event(waits:requests:blocks)
----- ----------------------------------- ------------------------------ --------------- ------- ------------- ------- ----------- ------- ----------------------------------------
    1  ..                                                                          60138   98.45        133258   99.30      482330   99.44 (60138:133258:482330)
    1 TABLE SYS.SMON_SCN_TIME.            SYSAUX                                     201    0.33           201    0.15        1047    0.22 (201:201:1047)
    1 INDEX SYS.SYS_IOT_TOP_19184.        SYSAUX                                     109    0.18           109    0.08         657    0.14 (109:109:657)
    1 TABLE SYS.MAP_OBJECT.                                                          254    0.42           255    0.19         254    0.05 (254:255:254)
    1 TABLE SYS.FGA$.                     SYSTEM                                      51    0.08            51    0.04         146    0.03 (51:51:146)
    1 INDEX SYS.I_RADM_CD2.                                                          139    0.23           139    0.10         141    0.03 (139:139:141)
    1 INDEX SYS.I_HH_OBJ#_INTCOL#.                                                     1    0.00             1    0.00         128    0.03 (1:1:128)
    1 TABLE SYS.WRI$_ADV_DEF_EXEC_TYPES.                                               1    0.00             1    0.00         126    0.03 (1:1:126)
    1 LOB SYS.SYS_LOB0000010634C00004$$.  SYSAUX                                     101    0.17           101    0.08         112    0.02 (101:101:112)
    1 TABLE SYSTEM.LOGMNR_UID$.           SYSAUX                                      45    0.07            45    0.03          45    0.01 (45:45:45)
SQL>
====

select 'LOGICAL_READS_DELTA' as metric_name from dual union all select 'BUFFER_BUSY_WAITS_DELTA' as metric_name from dual union all select 'DB_BLOCK_CHANGES_DELTA' as metric_name from dual union all select 'PHYSICAL_READS_DELTA' as metric_name from dual union all select 'PHYSICAL_WRITES_DELTA' as metric_name from dual union all select 'PHYSICAL_READS_DIRECT_DELTA' as metric_name from dual union all select 'PHYSICAL_WRITES_DIRECT_DELTA' as metric_name from dual union all select 'ITL_WAITS_DELTA' as metric_name from dual union all select 'ROW_LOCK_WAITS_DELTA' as metric_name from dual union all select 'GC_CR_BLOCKS_SERVED_DELTA' as metric_name from dual union all select 'GC_CU_BLOCKS_SERVED_DELTA' as metric_name from dual union all select 'GC_BUFFER_BUSY_DELTA' as metric_name from dual union all select 'GC_CR_BLOCKS_RECEIVED_DELTA' as metric_name from dual union all select 'GC_CU_BLOCKS_RECEIVED_DELTA' as metric_name from dual union all select 'TABLE_SCANS_DELTA' as metric_name from dual union all select 'CHAIN_ROW_EXCESS_DELTA' as metric_name from dual union all select 'PHYSICAL_READ_REQUESTS_DELTA' as metric_name from dual union all select 'PHYSICAL_WRITE_REQUESTS_DELTA' as metric_name from dual union all select 'OPTIMIZED_PHYSICAL_READS_DELTA' as metric_name from dual; LOGICAL_READS_DELTA BUFFER_BUSY_WAITS_DELTA DB_BLOCK_CHANGES_DELTA PHYSICAL_READS_DELTA PHYSICAL_WRITES_DELTA PHYSICAL_READS_DIRECT_DELTA PHYSICAL_WRITES_DIRECT_DELTA ITL_WAITS_DELTA ROW_LOCK_WAITS_DELTA GC_CR_BLOCKS_SERVED_DELTA GC_CU_BLOCKS_SERVED_DELTA GC_BUFFER_BUSY_DELTA GC_CR_BLOCKS_RECEIVED_DELTA GC_CU_BLOCKS_RECEIVED_DELTA TABLE_SCANS_DELTA CHAIN_ROW_EXCESS_DELTA PHYSICAL_READ_REQUESTS_DELTA PHYSICAL_WRITE_REQUESTS_DELTA OPTIMIZED_PHYSICAL_READS_DELTA 19 rows selected.


====
set numf 99999999999 set pagesize 400 linesize 300 col "space allocated" for 9999999999999999999999 col "Object" for a25 select * from ( select DECODE (GROUPING (a.object_name), 1, 'All Objects', a.object_name) AS "Object", sum (case when a.statistic_name = 'ITL waits' then a.value else null end) "ITL Waits", sum(case when a.statistic_name = 'buffer busy waits' then a.value else null end) "Buffer Busy Waits", sum(case when a.statistic_name = 'row lock waits' then a.value else null end) "Row Lock Waits", sum(case when a.statistic_name = 'physical reads' then a.value else null end) "Physical Reads", sum(case when a.statistic_name = 'logical reads' then a.value else null end) "Logical Reads", sum(case when a.statistic_name = 'db block changes' then a.value else null end) "db block changes", sum(case when a.statistic_name = 'optimized physical reads' then a.value else null end) "optimized physical reads", sum(case when a.statistic_name = 'segment scans' then a.value else null end) "segment scans", sum(case when a.statistic_name = 'gc current blocks received' then a.value else null end) "gc current blocks received", sum(case when a.statistic_name = 'physical reads direct' then a.value else null end) "physical reads direct", sum(case when a.statistic_name = 'physical writes' then a.value else null end) "physical writes", sum(case when a.statistic_name = 'physical write requests' then a.value else null end) "physical write requests", sum(case when a.statistic_name = 'space allocated' then a.value else null end) "space allocated" from v$segment_statistics a where 1=1 and owner not in ('AUDSYS','DBVISIT7', 'SYS' , 'SYSTEM' , 'DBSNMP' , 'SYSMAN' , 'OUTLN' ,'MDSYS' , 'ORDSYS' , 'EXFSYS' , 'DMSYS' , 'WMSYS' , 'CTXSYS' , 'ANONYMOUS' , 'XDB' , 'ORDPLUGINS' , 'OLAPSYS' , 'PUBLIC','WWV_FLOW_PLATFORM' ) -- a.owner like upper('xxxx') group by rollup(a.object_name)) b where (b."ITL Waits">0 or b."Buffer Busy Waits">0 or b."Row Lock Waits">0 or "Physical Reads">0 or "Logical Reads">0 or "db block changes" >0 or "optimized physical reads" >0 or "segment scans" >0 or "gc current blocks received">0 or "segment scans" >0 or "gc current blocks received" >0 or "physical reads direct" >0 or "physical reads direct">0 or "physical writes">0 or "physical write requests" >0 or "space allocated" >0 ) ;
===


set long 5000 pagesize 0 select DBMS_METADATA.GET_DDL('INDEX',u.index_name,u.owner) from DBA_INDEXES u where table_name='LOGIN'; select DBMS_METADATA.GET_DDL('TABLE',u.TABLE_NAME,u.owner) from DBA_INDEXES u where table_name='LOGIN'; set pagesize 300 linesize 300 alter session set nls_date_format='dd-mm-yyyy hh24:mi'; col INDEX_TYPE for a12 col OWNER for a12 col INDEX_NAME for a30 col TABLE_NAME for a25 select i.table_name,i.owner,i.INDEX_NAME,i.INDEX_TYPE,i.INI_TRANS,i.MAX_TRANS,i.PCT_FREE,i.LAST_ANALYZED,t.INI_TRANS tab_INI_TRANS,t.MAX_TRANS tab_MAX_TRANS ,t.PCT_FREE tab_PCT_FREE from dba_indexes i,dba_tables t where 1=1 --and t.table_name in ('XXX') -- and t.table_name in ('STOCK') --and i.TABLE_NAME like '%VVVV%' and i.owner ='XXX' and i.table_name=t.table_name --and i.INDEX_NAME='SYSCCCC' --and i.INI_TRANS>2 ; ======================= set linesize 700 pagesize 500 VARIABLE dbid NUMBER VARIABLE bid NUMBER VARIABLE eid NUMBER VARIABLE INST_NUMBER number exec select max(snap_id) -1 into :bid from dba_hist_snapshot ; exec select max(snap_id) into :eid from dba_hist_snapshot ; exec select DBID into :dbid from v$database; define topn=10 define inst_no=1 define metric='LOGICAL_READS_DELTA' --- change the value column owner format a15 column object_name format a35 column subobject_name format a30 SELECT owner, object_name, sm AS &metric, round(sm*100/tot,0) AS "% &metric" FROM (SELECT owner, object_name, SUM(metric) AS sm, tot FROM (SELECT owner, object_name, metric, tot FROM (SELECT seg.obj#, SUM(&metric) AS metric FROM dba_hist_seg_stat SEG, dba_hist_snapshot s WHERE s.snap_id = seg.snap_id AND s.instance_number = seg.instance_number -- AND s.instance_number = &inst_no AND s.snap_id >=:bid AND s.snap_id <= :eid GROUP BY obj# ) s, (SELECT SUM(&metric) AS tot FROM dba_hist_seg_stat SEG, dba_hist_snapshot s WHERE s.snap_id = seg.snap_id AND s.instance_number = seg.instance_number --AND s.instance_number = &inst_no AND s.snap_id >=:bid AND s.snap_id <= :eid ) t, dba_objects WHERE object_id = s.obj# ORDER BY 3 DESC ) GROUP BY owner,object_name, tot ORDER BY 3 DESC, 1,2 ) WHERE rownum<=&topn;

======================
col owner format a15
col object format a30
col object_type format a10
col index_name format a30
col table_name format a30
col lockmode format a20
col event_name format a40 head 'EVENT NAME'
col sql_id format a13
col instance_number format 9999 head 'INST'

col p1 format a10
col p2 format a10
col p3 format a10
col p1text format a25
col p2text format a30
col p3text format a25

set linesize 200 trimspool on
set pagesize 100

with waits as (
	select
		sh.instance_number
		, sh.snap_id
		, sh.sample_id
		, sh.blocking_session
		, sh.sql_id
		, decode(bitand(sh.p1,65535),4,'ITL',6,'ROWLOCK','UNKNOWN') lockmode
		, count(*) * 10 waitcount -- only sampled every 10 seconds from gv$active_session_history
	from DBA_HIST_ACTIVE_SESS_HISTORY sh
	join dba_hist_snapshot s on s.snap_id = sh.snap_id
		and s.snap_id = sh.snap_id
		and s.instance_number = sh.instance_number
	where sh.blocking_session is not null
	--and sh.event_id = ( select event_id from v$event_name where name = 'enq: TX - row lock contention')
	and sh.event_id in ( select event_id from v$event_name where name like 'enq:%')
	--and s.begin_interval_time between to_date('&&d_begin_date','&&d_date_format') and to_date('&&d_end_date','&&d_date_format')
	and s.BEGIN_INTERVAL_TIME > sysdate -1/24
group by
		sh.instance_number
		, sh.snap_id
		, sh.sample_id
		, sh.blocking_session
		, sh.sql_id
		, decode(bitand(sh.p1,65535),4,'ITL',6,'ROWLOCK','UNKNOWN')
) ,
blockers as (
select distinct
	w.sql_id
	, w.snap_id
	, w.sample_id
	, w.blocking_session
	, lockmode
	--, waitcount
from waits w
where lockmode = 'ITL'
order by waitcount
)
select
	h.sql_id
	, to_char(h.p1,'0XXXXXXX') p1
	, h.p1text
	, to_char(h.p2,'0XXXXXXX') p2
	, h.p2text
	, to_char(h.p3,'0XXXXXXX') p3
	, h.p3text
	, h.CURRENT_OBJ#
	, h.current_block#
from blockers b
join dba_hist_active_sess_history h
	on h.snap_id = b.snap_id
	--and h.sample_id = b.sample_id
	and h.session_id = b.blocking_session
	and h.sql_id = b.sql_id
order by h.sql_id, h.current_block#
/




set linesize 200 trimspool on
set pagesize 100

col owner format a30 head 'Owner'
col segment_type format a7 head 'Segment|Type'
col ini_trans format 999 head 'ITL'
col ini_trans_count format 99,999 head 'ITL|Count'

break on owner skip 1 on segment_type

with data as (
	select owner, 'Table' segment_type,	 nvl(ini_trans,0) ini_trans
	from dba_tables
	union all
	select table_owner, 'TabPart' segment_type,	nvl(ini_trans,0) ini_trans
	from dba_tab_partitions
	union all
	select table_owner, 'TabSubPart' segment_type,	nvl(ini_trans,0) ini_trans
	from dba_tab_subpartitions
	union all
	select owner, 'Index' segment_type,	 nvl(ini_trans,0) ini_trans
	from dba_indexes
	union all
	select index_owner, 'IndPart' segment_type,	nvl(ini_trans,0) ini_trans
	from dba_ind_partitions
	union all
	select index_owner, 'IndSubPart' segment_type,	nvl(ini_trans,0) ini_trans
	from dba_ind_subpartitions
)
select owner, segment_type, ini_trans, count(*) ini_trans_count
from data d
join dba_users u on u.username = d.owner
	and u.oracle_maintained = 'N'
group by owner, segment_type, ini_trans
order by owner, segment_type, ini_trans;

====
from https://github.com/jkstill/oracle-script-lib/blob/master/sql/ash-itl-waits.sql
col owner format a15
col object format a30
col object_type format a10
col index_name format a30
col table_name format a30
col lockmode format a20
col event_name format a40 head 'EVENT NAME'
col sql_id format a13
col instance_number format 9999 head 'INST'

set line 200 trimspool on
set pagesize 60


-- d_date_format set by get_date_range.sql


clear break
break on instance_number skip 1 on sql_id skip 1

with waits as (
	select
		sh.inst_id instance_number
		, sh.blocking_inst_id
		, sh.sql_id
		, n.name event_name
		, chr(bitand(sh.p1,-16777216)/16777215)||
				 chr(bitand(sh.p1, 16711680)/65535) LOCKNAME
		, bitand(sh.p1,65535) lockmode
		, sh.current_obj#
		, sh.current_file#
		, sh.current_block#
	from gv$active_session_history sh
	join v$event_name n on sh.event_id = n.event_id
	where sh.blocking_inst_id is not null
	--and sh.event_id = ( select event_id from v$event_name where name like 'enq: TX - row lock contention')
	and sh.event_id in ( select event_id from v$event_name where name like 'enq:%')
	and sh.current_obj# is not null
	and sh.current_obj# > 0
),
itlwaits as (
	select distinct
		w.instance_number
		, w.event_name
		, w.sql_id
		--, w.lockname
		, current_obj#
		, current_file#
		, current_block#
		, count(*) itl_wait_count
	from waits w
	where w.lockname = 'TX'
		and lockmode = 4 -- ITL
		-- in this case just interested in indexes
		--and w.event_name = 'enq: TX - index contention'
	group by w.instance_number, w.event_name, w.sql_id, current_obj#, current_file#, current_block#
)
select
	w.instance_number
	, w.sql_id
	, w.itl_wait_count
	, decode(i.owner,null,t.owner,i.owner) owner
	, o.object_type
	, decode(i.index_name,null,t.table_name,i.index_name) object
	, decode(i.ini_trans,null,t.ini_trans,i.ini_trans) ini_trans
	, decode(i.max_trans,null,t.max_trans,i.max_trans) max_trans
	, current_file#
	, current_block#
from itlwaits w
join dba_objects o on o.object_id  = w.current_obj#
left outer join dba_indexes i on i.owner = o.owner
	and i.index_name = o.object_name
left outer join dba_tables t on t.owner = o.owner
	and t.table_name = o.object_name
order by w.sql_id, w.itl_wait_count
/


define statistic_name='db block changes'
set lines 300 pages 100
col owner format A18
col object_name format A30
col statistic_name format A30
col object_type format A18
col value format 99999999999
col perc format 99.99
undef statistic_name
break on statistic_name
select * from (
with  segstats as (
select * from (
select inst_id, owner, object_name, object_type , value ,
rank() over (partition by  inst_id, statistic_name order by value desc ) rnk , statistic_name
from gv$segment_statistics
where value >0  
--and statistic_name like '%'||'&&statistic_name' ||'%'
--and STATISTIC_NAME is not null
) where rnk <31
)  ,
sumstats as ( select inst_id, statistic_name, sum(value) sum_value from gv$segment_statistics group by statistic_name, inst_id)
select a.inst_id, a.statistic_name, a.owner, a.object_name, a.object_type,a.value,(a.value/b.sum_value)*100 perc
from segstats a ,   sumstats b
where a.statistic_name = b.statistic_name
and a.inst_id=b.inst_id
--and a.STATISTIC_NAME is not null
order by a.statistic_name, a.value desc
)
where 1=1
and STATISTIC_NAME is not null


***************

--- cdb view **************************

col owner format a15
col object format a30
col object_type format a10
col index_name format a30
col table_name format a30
col lockmode format a20
col event_name format a40 head 'EVENT NAME'
col sql_id format a13
col instance_number format 9999 head 'INST'

set line 200 trimspool on  pagesize 60

clear break
break on instance_number skip 1 on sql_id skip 1

with waits as (
	select
		sh.inst_id instance_number
		, sh.blocking_inst_id
		, sh.sql_id
		, n.name event_name
		, chr(bitand(sh.p1,-16777216)/16777215)||
				 chr(bitand(sh.p1, 16711680)/65535) LOCKNAME
		, bitand(sh.p1,65535) lockmode
		, sh.current_obj#
		, sh.current_file#
		, sh.current_block#
	from gv$active_session_history sh
	join v$event_name n on sh.event_id = n.event_id
	where sh.blocking_inst_id is not null
	--and sh.event_id = ( select event_id from v$event_name where name like 'enq: TX - row lock contention')
	and sh.event_id in ( select event_id from v$event_name where name like 'enq:%')
	and sh.current_obj# is not null
	and sh.current_obj# > 0
),
itlwaits as (
	select distinct
		w.instance_number
		, w.event_name
		, w.sql_id
		--, w.lockname
		, current_obj#
		, current_file#
		, current_block#
		, count(*) itl_wait_count
	from waits w
	where 1=1
   -- and w.lockname = 'TX'
		--and lockmode = 4 -- ITL
		-- in this case just interested in indexes
		--and w.event_name = 'enq: TX - index contention'
	group by w.instance_number, w.event_name, w.sql_id, current_obj#, current_file#, current_block#
)
select
	w.instance_number
	, w.sql_id
	, w.itl_wait_count
	, decode(i.owner,null,t.owner,i.owner) owner
	, o.object_type
	, decode(i.index_name,null,t.table_name,i.index_name) object
	, decode(i.ini_trans,null,t.ini_trans,i.ini_trans) ini_trans
	, decode(i.max_trans,null,t.max_trans,i.max_trans) max_trans
	, current_file#
	, current_block#
from itlwaits w
join cdb_objects o on o.object_id  = w.current_obj#
left outer join cdb_indexes i on i.owner = o.owner
	and i.index_name = o.object_name
left outer join cdb_tables t on t.owner = o.owner
	and t.table_name = o.object_name
order by w.sql_id, w.itl_wait_count
/


Sunday, 12 December 2021

awr top sql


awr top sql....



awr top sql .sql from https://github.com/karlarao/run_awr-quickextract/blob/master/run_awr_topevents.sql
awr_topsqlx-exa.sql



-- awr_topsqlx-exa.sql
-- AWR Top SQL Report, a version of "Top SQL" but across SNAP_IDs with AAS metric and more details
-- Karl Arao, Oracle ACE (bit.ly/karlarao), OCP-DBA, RHCE
-- http://karlarao.wordpress.com
--
-- NOTES: SEE COMMENTS ON THE SCRIPT..ESPECIALLY ON SQL_TEXT, TIME_RANK, AND ORDER BY SECTIONS
--
-- Changes:
-- 20100512     added timestamp to filter specific workload periods, must uncomment to use
-- 20120825     added the join of dba_hist_sqltext to audit_actions to show the short name of command_type

--set feedback off pages 0 term off head on und off trimspool on echo off lines 4000 colsep ','


set feedback off pages 0 term off head on und off trimspool on echo off lines 4000 colsep 

set arraysize 5000
set termout off
set echo off verify off

COLUMN blocksize NEW_VALUE _blocksize NOPRINT
select distinct block_size blocksize from v$datafile;

COLUMN dbid NEW_VALUE _dbid NOPRINT
select dbid from v$database;

COLUMN name NEW_VALUE _instname NOPRINT
select lower(instance_name) name from v$instance;

COLUMN name NEW_VALUE _hostname NOPRINT
select lower(host_name) name from v$instance;

COLUMN instancenumber NEW_VALUE _instancenumber NOPRINT
select instance_number instancenumber from v$instance;

-- ttitle center 'AWR Top SQL Report' skip 2
set pagesize 50000
set linesize 1500

col snap_id             format 99999            heading -- "Snap|ID"
col tm                  format a15              heading -- "Snap|Start|Time"
col inst                format 90               heading -- "i|n|s|t|#"
col dur                 format 990.00           heading -- "Snap|Dur|(m)"
col sql_id              format a15              heading -- "SQL|ID"
col phv                 format 99999999999      heading -- "Plan|Hash|Value"
col module              format a50
col action              format a50
col elap                format 999990.00        heading -- "Ela|Time|(s)"
col elapexec            format 999990.00        heading -- "Ela|Time|per|exec|(s)"
col cput                format 999990.00        heading -- "CPU|Time|(s)"
col iowait              format 999990.00        heading -- "IO|Wait|(s)"
col appwait             format 999990.00        heading -- "App|Wait|(s)"
col concurwait          format 999990.00        heading -- "Ccr|Wait|(s)"
col clwait              format 999990.00        heading -- "Cluster|Wait|(s)"
col bget                format 99999999990      heading -- "LIO"
col dskr                format 99999999990      heading -- "PIO"
col dpath               format 99999999990      heading -- "Direct|Writes"
col rowp                format 99999999990      heading -- "Rows"
col exec                format 9999990          heading -- "Exec"
col prsc                format 999999990        heading -- "Parse|Count"
col pxexec              format 9999990          heading -- "PX|Server|Exec"
col icbytes             format 99999990         heading -- "IC|MB"
col offloadbytes        format 99999990         heading -- "Offload|MB"
col offloadreturnbytes  format 99999990         heading -- "Offload|return|MB"
col flashcachereads     format 99999990         heading -- "Flash|Cache|MB"
col uncompbytes         format 99999990         heading -- "Uncomp|MB"
col pctdbt              format 990              heading -- "DB Time|%"
col aas                 format 990.00           heading -- "A|A|S"
col time_rank           format 90               heading -- "Time|Rank"
col sql_text            format a6               heading -- "SQL|Text"
col fms                 format 99999999999999999999999999

VARIABLE  g_retention  NUMBER
DEFINE    p_default = 8
DEFINE    p_max = 300
SET VERIFY OFF
DECLARE
  v_default  NUMBER(3) := &p_default;
  v_max      NUMBER(3) := &p_max;
BEGIN
  select
    ((TRUNC(SYSDATE) + RETENTION - TRUNC(SYSDATE)) * 86400)/60/60/24 AS RETENTION_DAYS
    into :g_retention
  from dba_hist_wr_control
  where dbid in (select dbid from v$database);

  if :g_retention > v_default then
    :g_retention := v_max;
  else
    :g_retention := v_default;
  end if;
END;
/

spool awr_topsqlx_rlio-tableau-exa-&_instname-&_hostname..csv
     select *
       from (
             select
                  trim('&_instname') instname,
                  trim('&_dbid') db_id,
                  trim('&_hostname') hostname,
                  sqt.snap_id snap_id,
                  TO_CHAR(sqt.tm,'MM/DD/YY HH24:MI:SS') tm,
                  sqt.inst inst,
                  sqt.dur dur,
                  sqt.aas aas,
                  nvl((sqt.elap), to_number(null)) elap,
                  nvl((sqt.elapexec), 0) elapexec,
                  nvl((sqt.cput), to_number(null)) cput,
                  sqt.iowait iowait,
                  sqt.appwait appwait,
                  sqt.concurwait concurwait,
                  sqt.clwait clwait,
                  sqt.bget bget,
                  sqt.dskr dskr,
                  sqt.dpath dpath,
                  sqt.rowp rowp,
                  sqt.exec exec,
                  sqt.prsc prsc,
                  sqt.pxexec pxexec,
                  sqt.icbytes,
                  sqt.offloadbytes,
                  sqt.offloadreturnbytes,
                  sqt.flashcachereads,
                  sqt.uncompbytes,
                  sqt.time_rank time_rank,
                  sqt.sql_id sql_id,
                  sqt.phv phv,
                  sqt.fms fms,
                  sqt.parse_schema parse_schema,
                  substr(to_clob(decode(sqt.module, null, null, sqt.module)),1,50) module,
                  substr(to_clob(decode(sqt.action, null, null, sqt.action)),1,50) action,
                  st.sql_text sql_text     -- PUT/REMOVE COMMENT TO HIDE/SHOW THE SQL_TEXT
             from        (
                          select snap_id, tm, inst, dur, sql_id, phv, fms, parse_schema, module, action, elap, elapexec, cput, iowait, appwait, concurwait, clwait, bget, dskr, dpath, rowp, exec, prsc, pxexec, icbytes, offloadbytes, offloadreturnbytes, flashcachereads, uncompbytes, aas, time_rank
                          from
                                             (
                                               select
                                                      s0.snap_id snap_id,
                                                      s0.END_INTERVAL_TIME tm,
                                                      s0.instance_number inst,
                                                      round(EXTRACT(DAY FROM s1.END_INTERVAL_TIME - s0.END_INTERVAL_TIME) * 1440
                                                              + EXTRACT(HOUR FROM s1.END_INTERVAL_TIME - s0.END_INTERVAL_TIME) * 60
                                                              + EXTRACT(MINUTE FROM s1.END_INTERVAL_TIME - s0.END_INTERVAL_TIME)
                                                              + EXTRACT(SECOND FROM s1.END_INTERVAL_TIME - s0.END_INTERVAL_TIME) / 60, 2) dur,
                                                      e.sql_id sql_id,
                                                      e.plan_hash_value phv,
                                                      e.force_matching_signature fms,
                                                      e.parsing_schema_name parse_schema,
                                                      max(e.module) module,
                                                      max(e.action) action,
                                                      sum(e.elapsed_time_delta)/1000000 elap,
                                                      decode((sum(e.executions_delta)), 0, to_number(null), ((sum(e.elapsed_time_delta)) / (sum(e.executions_delta)) / 1000000)) elapexec,
                                                      sum(e.cpu_time_delta)/1000000     cput,
                                                      sum(e.iowait_delta)/1000000 iowait,
                                                      sum(e.apwait_delta)/1000000 appwait,
                                                      sum(e.ccwait_delta)/1000000 concurwait,
                                                      sum(e.clwait_delta)/1000000 clwait,
                                                      sum(e.buffer_gets_delta) bget,
                                                      sum(e.disk_reads_delta) dskr,
                                                      sum(e.direct_writes_delta) dpath,
                                                      sum(e.rows_processed_delta) rowp,
                                                      sum(e.executions_delta)   exec,
                                                      sum(e.parse_calls_delta) prsc,
                                                      sum(e.px_servers_execs_delta) pxexec,
                                                      sum(e.io_interconnect_bytes_delta)/1024/1024 icbytes,
                                                      sum(e.io_offload_elig_bytes_delta)/1024/1024 offloadbytes,
                                                      sum(e.io_offload_return_bytes_delta)/1024/1024 offloadreturnbytes,
                                                      (sum(e.optimized_physical_reads_delta)* &_blocksize)/1024/1024 flashcachereads,
                                                      sum(e.cell_uncompressed_bytes_delta)/1024/1024 uncompbytes,
                                                      (sum(e.elapsed_time_delta)/1000000) / ((round(EXTRACT(DAY FROM s1.END_INTERVAL_TIME - s0.END_INTERVAL_TIME) * 1440
                                                                                            + EXTRACT(HOUR FROM s1.END_INTERVAL_TIME - s0.END_INTERVAL_TIME) * 60
                                                                                            + EXTRACT(MINUTE FROM s1.END_INTERVAL_TIME - s0.END_INTERVAL_TIME)
                                                                                            + EXTRACT(SECOND FROM s1.END_INTERVAL_TIME - s0.END_INTERVAL_TIME) / 60, 2))*60) aas,
                                                      DENSE_RANK() OVER (
                                                      PARTITION BY s0.snap_id ORDER BY e.buffer_gets_delta + e.disk_reads_delta DESC) time_rank
                                               from
                                                   dba_hist_snapshot s0,
                                                   dba_hist_snapshot s1,
                                                   dba_hist_sqlstat e
                                                   where
                                                    s0.dbid                   = &_dbid                -- CHANGE THE DBID HERE!
                                                    AND s1.dbid               = s0.dbid
                                                    and e.dbid                = s0.dbid
                                                    --AND s0.instance_number    = &_instancenumber      -- CHANGE THE INSTANCE_NUMBER HERE!
                                                    AND s1.instance_number    = s0.instance_number
                                                    and e.instance_number     = s0.instance_number
                                                    AND s1.snap_id            = s0.snap_id + 1
                                                    and e.snap_id             = s0.snap_id + 1
                                               group by
                                                    s0.snap_id, s0.END_INTERVAL_TIME, s0.instance_number, e.sql_id, e.plan_hash_value, e.force_matching_signature, e.parsing_schema_name, e.buffer_gets_delta, e.disk_reads_delta, s1.END_INTERVAL_TIME - s0.END_INTERVAL_TIME
                                             )
                          where
                          time_rank <= 15                                     -- GET TOP 5 SQL ACROSS SNAP_IDs... YOU CAN ALTER THIS TO HAVE MORE DATA POINTS
                         )
                        sqt,
                        (select sql_id, dbid, nvl(b.name, a.command_type) sql_text from dba_hist_sqltext a, audit_actions b where a.command_type =  b.action(+)) st
             where st.sql_id(+)             = sqt.sql_id
             and st.dbid(+)                 = &_dbid
-- AND TO_CHAR(tm,'D') >= 1                                                  -- Day of week: 1=Sunday 7=Saturday
-- AND TO_CHAR(tm,'D') <= 7
-- AND TO_CHAR(tm,'HH24MI') >= 0900                                          -- Hour
-- AND TO_CHAR(tm,'HH24MI') <= 1800
-- AND tm >= TO_DATE('2010-jan-17 00:00:00','yyyy-mon-dd hh24:mi:ss')     -- Data range
-- AND tm <= TO_DATE('2010-aug-22 23:59:59','yyyy-mon-dd hh24:mi:ss')
-- AND snap_id in (338,339)
-- AND snap_id = 338
-- AND snap_id >= 335 and snap_id <= 339
-- AND lower(st.sql_text) like 'select%'
-- AND lower(st.sql_text) like 'insert%'
-- AND lower(st.sql_text) like 'update%'
-- AND lower(st.sql_text) like 'merge%'
-- AND pxexec > 0
-- AND aas > .5
             order by
             snap_id                             -- TO GET SQL OUTPUT ACROSS SNAP_IDs SEQUENTIALLY AND ASC
             -- nvl(sqt.elap, -1) desc, sqt.sql_id     -- TO GET SQL OUTPUT BY ELAPSED TIME
             )
-- where rownum <= 20
WHERE
to_date(tm,'MM/DD/YY HH24:MI:SS') > sysdate - :g_retention
;
spool off
host sed -n -i '2,$ p' awr_topsqlx_rlio-tableau-exa-&_instname-&_hostname..csv
-- host gzip -v awr_topsqlx-tableau-exa-&_instname-&_hostname..csv
-- host tar -cvf awr_topsqlx-tableau-exa-&_instname-&_hostname..tar awr_topsqlx-tableau-exa-&_instname-&_hostname..csv.gz
-- host rm awr_topsqlx-tableau-exa-&_instname-&_hostname..csv.gz



-- *********************************************************

---with con_id



-- awr_topsqlx-exa.sql
-- AWR Top SQL Report, a version of "Top SQL" but across SNAP_IDs with AAS metric and more details
-- Karl Arao, Oracle ACE (bit.ly/karlarao), OCP-DBA, RHCE
-- http://karlarao.wordpress.com
--
-- NOTES: SEE COMMENTS ON THE SCRIPT..ESPECIALLY ON SQL_TEXT, TIME_RANK, AND ORDER BY SECTIONS
--
-- Changes:
-- 20100512     added timestamp to filter specific workload periods, must uncomment to use
-- 20120825     added the join of dba_hist_sqltext to audit_actions to show the short name of command_type

-- set feedback off pages 0 term off head on und off trimspool on echo off lines 4000 colsep ','
set feedback off pages 0 term off head on und off trimspool on echo off lines 4000 colsep
set arraysize 5000
set termout off
set echo off verify off

COLUMN blocksize NEW_VALUE _blocksize NOPRINT
select distinct block_size blocksize from v$datafile;

COLUMN dbid NEW_VALUE _dbid NOPRINT
select dbid from v$database;

COLUMN name NEW_VALUE _instname NOPRINT
select lower(instance_name) name from v$instance;

COLUMN name NEW_VALUE _hostname NOPRINT
select lower(host_name) name from v$instance;

COLUMN instancenumber NEW_VALUE _instancenumber NOPRINT
select instance_number instancenumber from v$instance;

-- ttitle center 'AWR Top SQL Report' skip 2
set pagesize 50000
set linesize 1500

col snap_id             format 99999            heading -- "Snap|ID"
col tm                  format a15              heading -- "Snap|Start|Time"
col inst                format 90               heading -- "i|n|s|t|#"
col dur                 format 990.00           heading -- "Snap|Dur|(m)"
col sql_id              format a15              heading -- "SQL|ID"
col phv                 format 99999999999      heading -- "Plan|Hash|Value"
col module              format a50
col action              format a50
col elap                format 999990.00        heading -- "Ela|Time|(s)"
col elapexec            format 999990.00        heading -- "Ela|Time|per|exec|(s)"
col cput                format 999990.00        heading -- "CPU|Time|(s)"
col iowait              format 999990.00        heading -- "IO|Wait|(s)"
col appwait             format 999990.00        heading -- "App|Wait|(s)"
col concurwait          format 999990.00        heading -- "Ccr|Wait|(s)"
col clwait              format 999990.00        heading -- "Cluster|Wait|(s)"
col bget                format 99999999990      heading -- "LIO"
col dskr                format 99999999990      heading -- "PIO"
col dpath               format 99999999990      heading -- "Direct|Writes"
col rowp                format 99999999990      heading -- "Rows"
col exec                format 9999990          heading -- "Exec"
col prsc                format 999999990        heading -- "Parse|Count"
col pxexec              format 9999990          heading -- "PX|Server|Exec"
col icbytes             format 99999990         heading -- "IC|MB"
col offloadbytes        format 99999990         heading -- "Offload|MB"
col offloadreturnbytes  format 99999990         heading -- "Offload|return|MB"
col flashcachereads     format 99999990         heading -- "Flash|Cache|MB"
col uncompbytes         format 99999990         heading -- "Uncomp|MB"
col pctdbt              format 990              heading -- "DB Time|%"
col aas                 format 990.00           heading -- "A|A|S"
col time_rank           format 90               heading -- "Time|Rank"
col sql_text            format a6               heading -- "SQL|Text"
col fms                 format 99999999999999999999999999

VARIABLE  g_retention  NUMBER
DEFINE    p_default = 8
DEFINE    p_max = 300
SET VERIFY OFF
DECLARE
  v_default  NUMBER(3) := &p_default;
  v_max      NUMBER(3) := &p_max;
BEGIN
  select
    ((TRUNC(SYSDATE) + RETENTION - TRUNC(SYSDATE)) * 86400)/60/60/24 AS RETENTION_DAYS
    into :g_retention
  from dba_hist_wr_control
  where dbid in (select dbid from v$database);

  if :g_retention > v_default then
    :g_retention := v_max;
  else
    :g_retention := v_default;
  end if;
END;
/

-- spool awr_topsqlx_rlio-tableau-exa-&_instname-&_hostname..csv
     select *
       from (
             select
                  trim('&_instname') instname,
                  trim('&_dbid') db_id,
                  trim('&_hostname') hostname,
                  sqt.snap_id snap_id,
				  con_id,
                  TO_CHAR(sqt.tm,'MM/DD/YY HH24:MI:SS') tm,
                  sqt.inst inst,
                  sqt.dur dur,
                  sqt.aas aas,
                  nvl((sqt.elap), to_number(null)) elap,
                  nvl((sqt.elapexec), 0) elapexec,
                  nvl((sqt.cput), to_number(null)) cput,
                  sqt.iowait iowait,
                  sqt.appwait appwait,
                  sqt.concurwait concurwait,
                  sqt.clwait clwait,
                  sqt.bget bget,
                  sqt.dskr dskr,
                  sqt.dpath dpath,
                  sqt.rowp rowp,
                  sqt.exec exec,
                  sqt.prsc prsc,
                  sqt.pxexec pxexec,
                  sqt.icbytes,
                  sqt.offloadbytes,
                  sqt.offloadreturnbytes,
                  sqt.flashcachereads,
                  sqt.uncompbytes,
                  sqt.time_rank time_rank,
                  sqt.sql_id sql_id,
                  sqt.phv phv,
                  sqt.fms fms,
                  sqt.parse_schema parse_schema,
                  substr(to_clob(decode(sqt.module, null, null, sqt.module)),1,50) module,
                  substr(to_clob(decode(sqt.action, null, null, sqt.action)),1,50) action,
                  st.sql_text sql_text     -- PUT/REMOVE COMMENT TO HIDE/SHOW THE SQL_TEXT
             from        (
                          select snap_id,con_id, tm, inst, dur, sql_id, phv, fms, parse_schema, module, action, elap, elapexec, cput, iowait, appwait, concurwait, clwait, bget, dskr, dpath, rowp, exec, prsc, pxexec, icbytes, offloadbytes, offloadreturnbytes, flashcachereads, uncompbytes, aas, time_rank
                          from          (    select
                                                      s0.snap_id snap_id,
													  e.con_id con_id,
                                                      s0.END_INTERVAL_TIME tm,
                                                      s0.instance_number inst,
                                                      round(EXTRACT(DAY FROM s1.END_INTERVAL_TIME - s0.END_INTERVAL_TIME) * 1440
                                                              + EXTRACT(HOUR FROM s1.END_INTERVAL_TIME - s0.END_INTERVAL_TIME) * 60
                                                              + EXTRACT(MINUTE FROM s1.END_INTERVAL_TIME - s0.END_INTERVAL_TIME)
                                                              + EXTRACT(SECOND FROM s1.END_INTERVAL_TIME - s0.END_INTERVAL_TIME) / 60, 2) dur,
                                                      e.sql_id sql_id,
                                                      e.plan_hash_value phv,
                                                      e.force_matching_signature fms,
                                                      e.parsing_schema_name parse_schema,
                                                      max(e.module) module,
                                                      max(e.action) action,
                                                      sum(e.elapsed_time_delta)/1000000 elap,
                                                      decode((sum(e.executions_delta)), 0, to_number(null), ((sum(e.elapsed_time_delta)) / (sum(e.executions_delta)) / 1000000)) elapexec,
                                                      sum(e.cpu_time_delta)/1000000     cput,
                                                      sum(e.iowait_delta)/1000000 iowait,
                                                      sum(e.apwait_delta)/1000000 appwait,
                                                      sum(e.ccwait_delta)/1000000 concurwait,
                                                      sum(e.clwait_delta)/1000000 clwait,
                                                      sum(e.buffer_gets_delta) bget,
                                                      sum(e.disk_reads_delta) dskr,
                                                      sum(e.direct_writes_delta) dpath,
                                                      sum(e.rows_processed_delta) rowp,
                                                      sum(e.executions_delta)   exec,
                                                      sum(e.parse_calls_delta) prsc,
                                                      sum(e.px_servers_execs_delta) pxexec,
                                                      sum(e.io_interconnect_bytes_delta)/1024/1024 icbytes,
                                                      sum(e.io_offload_elig_bytes_delta)/1024/1024 offloadbytes,
                                                      sum(e.io_offload_return_bytes_delta)/1024/1024 offloadreturnbytes,
                                                      (sum(e.optimized_physical_reads_delta)* &_blocksize)/1024/1024 flashcachereads,
                                                      sum(e.cell_uncompressed_bytes_delta)/1024/1024 uncompbytes,
                                                      (sum(e.elapsed_time_delta)/1000000) / ((round(EXTRACT(DAY FROM s1.END_INTERVAL_TIME - s0.END_INTERVAL_TIME) * 1440
                                                                                            + EXTRACT(HOUR FROM s1.END_INTERVAL_TIME - s0.END_INTERVAL_TIME) * 60
                                                                                            + EXTRACT(MINUTE FROM s1.END_INTERVAL_TIME - s0.END_INTERVAL_TIME)
                                                                                            + EXTRACT(SECOND FROM s1.END_INTERVAL_TIME - s0.END_INTERVAL_TIME) / 60, 2))*60) aas,
                                                      DENSE_RANK() OVER (
                                                      PARTITION BY s0.snap_id ORDER BY e.buffer_gets_delta + e.disk_reads_delta DESC) time_rank
                                               from
                                                   dba_hist_snapshot s0,
                                                   dba_hist_snapshot s1,
                                                   dba_hist_sqlstat e
                                                   where
                                                    s0.dbid                   = &_dbid                -- CHANGE THE DBID HERE!
                                                    AND s1.dbid               = s0.dbid
                                                    and e.dbid                = s0.dbid
                                                    --AND s0.instance_number    = &_instancenumber      -- CHANGE THE INSTANCE_NUMBER HERE!
                                                    AND s1.instance_number    = s0.instance_number
                                                    and e.instance_number     = s0.instance_number
                                                    AND s1.snap_id            = s0.snap_id + 1
                                                    and e.snap_id             = s0.snap_id + 1
                                               group by
                                                    s0.snap_id,e.con_id, s0.END_INTERVAL_TIME, s0.instance_number, e.sql_id, e.plan_hash_value, e.force_matching_signature, e.parsing_schema_name, e.buffer_gets_delta, e.disk_reads_delta, s1.END_INTERVAL_TIME - s0.END_INTERVAL_TIME
                                             )
                          where
                          time_rank <= 15                                     -- GET TOP 5 SQL ACROSS SNAP_IDs... YOU CAN ALTER THIS TO HAVE MORE DATA POINTS
                         )
                        sqt,
                        (select sql_id, dbid, nvl(b.name, a.command_type) sql_text from dba_hist_sqltext a, audit_actions b where a.command_type =  b.action(+)) st
             where st.sql_id(+)             = sqt.sql_id
             and st.dbid(+)                 = &_dbid
-- AND TO_CHAR(tm,'D') >= 1                                                  -- Day of week: 1=Sunday 7=Saturday
-- AND TO_CHAR(tm,'D') <= 7
-- AND TO_CHAR(tm,'HH24MI') >= 0900                                          -- Hour
-- AND TO_CHAR(tm,'HH24MI') <= 1800
-- AND tm >= TO_DATE('2010-jan-17 00:00:00','yyyy-mon-dd hh24:mi:ss')     -- Data range
-- AND tm <= TO_DATE('2010-aug-22 23:59:59','yyyy-mon-dd hh24:mi:ss')
-- AND snap_id in (338,339)
-- AND snap_id = 338
-- AND snap_id >= 335 and snap_id <= 339
-- AND lower(st.sql_text) like 'select%'
-- AND lower(st.sql_text) like 'insert%'
-- AND lower(st.sql_text) like 'update%'
-- AND lower(st.sql_text) like 'merge%'
-- AND pxexec > 0
-- AND aas > .5
             order by
             snap_id                             -- TO GET SQL OUTPUT ACROSS SNAP_IDs SEQUENTIALLY AND ASC
             -- nvl(sqt.elap, -1) desc, sqt.sql_id     -- TO GET SQL OUTPUT BY ELAPSED TIME
             )
-- where rownum <= 20
WHERE
to_date(tm,'MM/DD/YY HH24:MI:SS') > sysdate - :g_retention
;



=====



set verify off
column event format a40
column BEGIN_INTERVAL_TIME format a30


set linesize 500  pages 900

VARIABLE BgnSnap NUMBER
VARIABLE EndSnap NUMBER
VARIABLE DID NUMBER
VARIABLE INST_NUMBER number
exec select max(snap_id) -1 into :BgnSnap from dba_hist_snapshot ;
exec select max(snap_id) into :EndSnap from dba_hist_snapshot ;
exec select DBID into :DID from v$database;
exec select INSTANCE_NUMBER into :INST_NUMBER from v$instance ;


select case wait_rank when 1 then inst_id end "Inst Num",
 case wait_rank when 1 then snap_id end "Snap Id",
 case wait_rank when 1 then begin_snap end "Begin Snap",
 case wait_rank when 1 then end_snap end "End Snap",
 event_name "Event",
 total_waits "Waits",
 time_waited "Time(s)",
 round((time_waited/total_waits)*1000) "Avg wait(ms)",
 round((time_waited/db_time)*100, 2) "% DB time",
 substr(wait_class, 1, 15) "Wait Class"
from (
select
  inst_id,
  snap_id, to_char(begin_snap, 'DD-MM-YY hh24:mi:ss') begin_snap,
  to_char(end_snap, 'hh24:mi:ss') end_snap,
  event_name,
  wait_class,
  total_waits,
  time_waited,
  dense_rank() over (partition by inst_id, snap_id order by time_waited desc)-1 wait_rank,
  max(time_waited) over (partition by inst_id, snap_id) db_time
from (
select
  s.instance_number inst_id,
  s.snap_id,
  s.begin_interval_time begin_snap,
  s.end_interval_time end_snap,
  event_name,
  wait_class,
  total_waits-lag(total_waits, 1, total_waits) over
   (partition by s.startup_time, s.instance_number, stats.event_name order by s.snap_id) total_waits,
  time_waited-lag(time_waited, 1, time_waited) over
   (partition by s.startup_time, s.instance_number, stats.event_name order by s.snap_id) time_waited,
  min(s.snap_id) over (partition by s.startup_time, s.instance_number, stats.event_name) min_snap_id
from (
 select dbid, instance_number, snap_id, event_name, wait_class, total_waits_fg total_waits, round(time_waited_micro_fg/1000000, 2) time_waited
  from dba_hist_system_event
  where wait_class not in ('Idle', 'System I/O')
 union all
 select dbid, instance_number, snap_id, stat_name event_name, null wait_class, null total_waits, round(value/1000000, 2) time_waited
  from dba_hist_sys_time_model
  where stat_name in ('DB CPU', 'DB time')
) stats, dba_hist_snapshot s
 where stats.instance_number=s.instance_number
  and stats.snap_id=s.snap_id
  and stats.dbid=s.dbid
 -- and s.instance_number = decode(:INST_NUMBER,0,s.instance_number,&inst)
  and stats.snap_id between :BgnSnap and :EndSnap
 and stats.dbid = :DID
) where snap_id > min_snap_id and nvl(total_waits,1) > 0
) where event_name!='DB time' and wait_rank <= 5
order by inst_id, snap_id;





  Inst Num    Snap Id Begin Snap        End Snap Event                                                                 Waits   Time(s) Avg wait(ms)  % DB time Wait Class
---------- ---------- ----------------- -------- ---------------------------------------------------------------- ---------- ---------- ------------ ---------- ------------------------------------------------------------
         1      16216 13-08-23 12:00:01 13:00:08 db file sequential read                                             7812655   2343.19     0      23.65 User I/O
                                                 DB CPU                                                                         2065.5            20.85
                                                 gc buffer busy acquire                                              1929481   1077.08     1      10.87 Cluster
                                                 read by other session                                               1954351     627.3     0       6.33 User I/O
                                                 gc cr disk read                                                     2981969    605.31     0       6.11 Cluster
         2      16216 13-08-23 12:00:01 13:00:08 DB CPU                                                                         276.61            56.44
                                                 acknowledge over PGA limit                                            10634    102.02    10      20.82 Scheduler
                                                 enq: IV -  contention                                                  6527      3.17     0        .65 Other
                                                 PGA memory operation                                                 156406      1.91     0        .39 Other
                                                 row cache lock                                                         2133       .79     0        .16 Concurrency

10 rows selected.


============================================================================


set verify off set linesize 500 pages 900 column event format a40 column BEGIN_INTERVAL_TIME format a30 -- Define timestamp range DEF 3="TIMESTAMP'2026-09-24 21:00:00'" DEF 4="TIMESTAMP'2026-09-24 21:30:00'" SELECT CASE wait_rank WHEN 1 THEN inst_id END "Inst Num", CASE wait_rank WHEN 1 THEN snap_id END "Snap Id", CASE wait_rank WHEN 1 THEN begin_snap END "Begin Snap", CASE wait_rank WHEN 1 THEN end_snap END "End Snap", event_name "Event", total_waits "Waits", time_waited "Time(s)", ROUND(DECODE(total_waits, 0, 0, (time_waited / total_waits) * 1000)) "Avg wait(ms)", ROUND((time_waited / NULLIF(db_time, 0)) * 100, 2) "% DB time", SUBSTR(wait_class, 1, 15) "Wait Class" FROM ( SELECT inst_id, snap_id, TO_CHAR(begin_snap, 'DD-MM-YY hh24:mi:ss') begin_snap, TO_CHAR(end_snap, 'hh24:mi:ss') end_snap, event_name, wait_class, total_waits, time_waited, DENSE_RANK() OVER (PARTITION BY inst_id, snap_id ORDER BY time_waited DESC) - 1 wait_rank, MAX(time_waited) OVER (PARTITION BY inst_id, snap_id) db_time FROM ( SELECT s.instance_number inst_id, s.snap_id, s.begin_interval_time begin_snap, s.end_interval_time end_snap, event_name, wait_class, total_waits - LAG(total_waits, 1, total_waits) OVER (PARTITION BY s.startup_time, s.instance_number, stats.event_name ORDER BY s.snap_id) total_waits, time_waited - LAG(time_waited, 1, time_waited) OVER (PARTITION BY s.startup_time, s.instance_number, stats.event_name ORDER BY s.snap_id) time_waited, MIN(s.snap_id) OVER (PARTITION BY s.startup_time, s.instance_number, stats.event_name) min_snap_id FROM ( SELECT dbid, instance_number, snap_id, event_name, wait_class, total_waits_fg total_waits, ROUND(time_waited_micro_fg / 1000000, 2) time_waited FROM dba_hist_system_event WHERE wait_class NOT IN ('Idle', 'System I/O') UNION ALL SELECT dbid, instance_number, snap_id, stat_name event_name, NULL wait_class, NULL total_waits, ROUND(value / 1000000, 2) time_waited FROM dba_hist_sys_time_model WHERE stat_name IN ('DB CPU', 'DB time') ) stats, dba_hist_snapshot s WHERE stats.instance_number = s.instance_number AND stats.snap_id = s.snap_id AND stats.dbid = s.dbid -- Filter snapshots overlapping the timestamp range (including 1 snapshot prior for LAG delta calculation) AND s.snap_id IN ( SELECT snap_id FROM dba_hist_snapshot WHERE end_interval_time >= &3 AND begin_interval_time <= &4 UNION SELECT snap_id - 1 FROM dba_hist_snapshot WHERE end_interval_time >= &3 AND begin_interval_time <= &4 ) ) WHERE snap_id > min_snap_id AND NVL(total_waits, 1) > 0 -- Keep final output strictly within desired window AND end_snap >= &3 AND begin_snap <= &4 ) WHERE event_name != 'DB time' AND wait_rank <= 5 ORDER BY inst_id, snap_id, wait_rank;


==============================


set linesize 300 set pages 100 VARIABLE BgnSnap NUMBER VARIABLE EndSnap NUMBER VARIABLE DID NUMBER VARIABLE INST_NUMBER number exec select max(snap_id) -24 into :BgnSnap from dba_hist_snapshot ; exec select max(snap_id) into :EndSnap from dba_hist_snapshot ; define rnum=10 col "Buffer Gets" for 999999999999999999 col "Physical Reads" for 99999999999999999 col GETS_PER_ROW for 99999999999999999 col PRDS_PER_ROW for 99999999999999999 col GETS_PER_EXEC for 99999999999999999 select * from ( select sql_id, module, sum(ELAPSED_TIME_DELTA)/1000000 "Elapsed Time(s)", sum(CPU_TIME_DELTA)/1000000 "CPU Time(s)", sum(executions_delta) "Executions", sum(ROWS_PROCESSED_DELTA) rows1, sum(BUFFER_GETS_DELTA) "Buffer Gets", sum(DISK_READS_DELTA) "Physical Reads", sum(iowait_delta)/1000000 "IO Wait", sum(ccwait_delta)/1000000 cc_wait, sum(apwait_delta)/1000000 ap_wait, sum(clwait_delta)/1000000 cl_wait, sum(BUFFER_GETS_DELTA)/decode(sum(ROWS_PROCESSED_DELTA), 0, 1, sum(ROWS_PROCESSED_DELTA)) gets_per_row, sum(DISK_READS_DELTA)/decode(sum(ROWS_PROCESSED_DELTA), 0, 1, sum(ROWS_PROCESSED_DELTA)) prds_per_row, sum(BUFFER_GETS_DELTA)/decode(sum(executions_delta), 0, 1, sum(executions_delta)) gets_per_exec from dba_hist_sqlstat where snap_id between :BgnSnap and :EndSnap group by sql_id, module order by 3 desc ) where rownum <= &rnum / VARIABLE BgnSnap NUMBER VARIABLE EndSnap NUMBER VARIABLE DID NUMBER VARIABLE INST_NUMBER number exec select max(snap_id) -1 into :BgnSnap from dba_hist_snapshot ; exec select max(snap_id) into :EndSnap from dba_hist_snapshot ; set linesize 32000 set pagesize 1000 set long 2000000000 set longchunksize 1000 set head off; set verify off; set termout off; column u new_value us noprint; column n new_value ns noprint; select name n from v$database; select user u from dual; set sqlprompt &ns:&us> set head on set echo on set termout on set trimspool on --spool ns.sqlstat.log -- Replaces all the earlier versions of sqlstat.sql -- including sqlstat2.sql and sqlstat3.sql column END_INTERVAL_TIME format a25 -- 17n867xcuy2qv select sql_id, plan_hash_value, END_INTERVAL_TIME, executions_delta, ELAPSED_TIME_DELTA/(nonzeroexecutions*1000) "Elapsed Average ms", CPU_TIME_DELTA/(nonzeroexecutions*1000) "CPU Average ms", IOWAIT_DELTA/(nonzeroexecutions*1000) "IO Average ms", CLWAIT_DELTA/(nonzeroexecutions*1000) "Cluster Average ms", APWAIT_DELTA/(nonzeroexecutions*1000) "Application Average ms", CCWAIT_DELTA/(nonzeroexecutions*1000) "Concurrency Average ms", BUFFER_GETS_DELTA/nonzeroexecutions "Average buffer gets", DISK_READS_DELTA/nonzeroexecutions "Average disk reads", trunc(PHYSICAL_WRITE_BYTES_DELTA/(1024*1024*nonzeroexecutions)) "Average disk write megabytes", ROWS_PROCESSED_DELTA/nonzeroexecutions "Average rows processed" from (select ss.snap_id, ss.sql_id, ss.plan_hash_value, sn.END_INTERVAL_TIME, ss.executions_delta, case ss.executions_delta when 0 then 1 else ss.executions_delta end nonzeroexecutions, ELAPSED_TIME_DELTA, CPU_TIME_DELTA, IOWAIT_DELTA, CLWAIT_DELTA, APWAIT_DELTA, CCWAIT_DELTA, BUFFER_GETS_DELTA, DISK_READS_DELTA, PHYSICAL_WRITE_BYTES_DELTA, ROWS_PROCESSED_DELTA from DBA_HIST_SQLSTAT ss,DBA_HIST_SNAPSHOT sn where 1=1 -- ss.sql_id = 'SQL_ID' and ss.snap_id=sn.snap_id and sn.snap_id between :BgnSnap and :EndSnap and ss.INSTANCE_NUMBER=sn.INSTANCE_NUMBER) where ELAPSED_TIME_DELTA > 0 order by snap_id,sql_id; col sql_text for a25 SELECT sub.sql_id, sub.plan_hash_value, sub.END_INTERVAL_TIME, sub.executions_delta, sub.ELAPSED_TIME_DELTA / (sub.nonzeroexecutions * 1000) "Elapsed Average ms", sub.CPU_TIME_DELTA / (sub.nonzeroexecutions * 1000) "CPU Average ms", sub.IOWAIT_DELTA / (sub.nonzeroexecutions * 1000) "IO Average ms", sub.CLWAIT_DELTA / (sub.nonzeroexecutions * 1000) "Cluster Average ms", sub.APWAIT_DELTA / (sub.nonzeroexecutions * 1000) "Application Average ms", sub.CCWAIT_DELTA / (sub.nonzeroexecutions * 1000) "Concurrency Average ms", sub.BUFFER_GETS_DELTA / sub.nonzeroexecutions "Average buffer gets", sub.DISK_READS_DELTA / sub.nonzeroexecutions "Average disk reads", TRUNC(sub.PHYSICAL_WRITE_BYTES_DELTA / (1024 * 1024 * sub.nonzeroexecutions)) "Avg disk write MB", sub.ROWS_PROCESSED_DELTA / sub.nonzeroexecutions "Average rows processed", --st.sql_text substr(st.sql_text,1,25) sql_text FROM ( SELECT ss.snap_id, ss.sql_id, ss.plan_hash_value, sn.END_INTERVAL_TIME, ss.executions_delta, CASE ss.executions_delta WHEN 0 THEN 1 ELSE ss.executions_delta END nonzeroexecutions, ss.ELAPSED_TIME_DELTA, ss.CPU_TIME_DELTA, ss.IOWAIT_DELTA, ss.CLWAIT_DELTA, ss.APWAIT_DELTA, ss.CCWAIT_DELTA, ss.BUFFER_GETS_DELTA, ss.DISK_READS_DELTA, ss.PHYSICAL_WRITE_BYTES_DELTA, ss.ROWS_PROCESSED_DELTA, ss.dbid FROM DBA_HIST_SQLSTAT ss JOIN DBA_HIST_SNAPSHOT sn ON ss.snap_id = sn.snap_id AND ss.instance_number = sn.instance_number WHERE sn.snap_id BETWEEN :BgnSnap AND :EndSnap -- AND ss.sql_id = 'YOUR_SQL_ID' ) sub JOIN DBA_HIST_SQLTEXT st ON sub.sql_id = st.sql_id AND sub.dbid = st.dbid WHERE sub.ELAPSED_TIME_DELTA > 0 ORDER BY sub.snap_id, sub.sql_id;
============
set linesize 300 SELECT * FROM ( SELECT X.SNAP_ID, X.SQL_ID, DHST.SQL_TEXT, -- Explicitly prefixed with table alias ROUND(X.ELAPSED_TIME / 1000000 / NULLIF(X.EXECUTIONS_DELTA, 0), 3) AS AVG_ELAPSED_TIME_SEC, ROUND(X.CPU_TIME / 1000000 / NULLIF(X.EXECUTIONS_DELTA, 0), 3) AS AVG_CPU_TIME_SEC, X.ELAPSED_TIME AS TOTAL_ELAPSED_TIME_MIC_SEC, X.CPU_TIME AS TOTAL_CPU_TIME_MIC_SEC, X.EXECUTIONS_DELTA AS EXECUTIONS FROM DBA_HIST_SQLTEXT DHST, ( SELECT DHSS.SNAP_ID, DHSS.SQL_ID AS SQL_ID, SUM(DHSS.CPU_TIME_DELTA) AS CPU_TIME, SUM(DHSS.ELAPSED_TIME_DELTA) AS ELAPSED_TIME, SUM(DHSS.EXECUTIONS_DELTA) AS EXECUTIONS_DELTA FROM DBA_HIST_SQLSTAT DHSS WHERE DHSS.SNAP_ID IN ( SELECT SNAP_ID FROM DBA_HIST_SNAPSHOT WHERE 1=1 --and BEGIN_INTERVAL_TIME > sysdate -1/24 -- BEGIN_INTERVAL_TIME >= TO_DATE('18-feb-2009 18:00', 'dd-mon-yyyy hh24:mi') -- AND END_INTERVAL_TIME <= TO_DATE('18-feb-2009 18:40', 'dd-mon-yyyy hh24:mi') ) -- AND DHSS.PARSING_SCHEMA_NAME='SCOTT' -- Note: PARSING_SCHEMA_NAME belongs to DHSS GROUP BY DHSS.SQL_ID, DHSS.SNAP_ID ) X WHERE X.SQL_ID = DHST.SQL_ID ORDER BY AVG_ELAPSED_TIME_SEC DESC NULLS LAST ) WHERE rownum <= 200;

Oracle DBA

anuj blog Archive