Giter VIP home page Giter VIP logo

demos's Introduction

demos

Various demonstration scripts

Wiki

The wiki lists all published reports from demonstrations.

Demonstrations

Filesystem Performance

Investigates the effects of O_SYNC and blocksize on I/O response time. Final report published here.

Filesystem Performance Sync

In progress. Will expand on the demonstration in Filesystem Performance by considering O_DIRECT and filesystem types.

High CPU and CDB Resource Plans

Demonstrates the effect of using CDB resource plans under 100% CPU load. Final report published here. The associated blog post is here.

Resource Manager Thruput

In progress. Investigates whether the use of Oracle Resource Manager plans improves the throughput under 100% CPU load. Preliminary reports have been published on Wiki page.

Select With Update

Investigates the use of SELECT ... FOR UPDATE SKIP LOCKED in processing a staging table with many concurrent clients. Published final report here.

Will follow up comments with an expanded demonstration.

V$SESSION Returning No Rows

Demonstrated the case of the V$SESSION view returning no rows. Final report published here.

Demonstration of Loading Database Bookshelf into XE Database

Demonstration of Loading Database Bookshelf into XE Database

demos's People

Contributors

dfhawthorne avatar

Stargazers

 avatar

Watchers

 avatar

demos's Issues

DURAL: Setting Resource Manager Plan Failed

Describe the bug
Step Set resource manager plan of the run_hammerdb_test.yml fails with a syntax error on line 41.

To Reproduce
Steps to reproduce the behavior:

  1. Run ansible-playbook -K run_hammerdb_test.yml
  2. See error

Expected behavior
Step should execute correctly.

Error Messages

TASK [Set resource manager plan] ***********************************************
skipping: [hammer.yaocm.id.au]
fatal: [dural.yaocm.id.au]: FAILED! => {"changed": true, "cmd": ["/home/oracle/set_res_mgr_plan.py", "INTERNAL_PLAN"], "delta": "0:00:00.021205", "end": "2021-01-15 14:14:29.011707", "msg": "non-zero return code", "rc": 1, "start": "2021-01-15 14:14:28.990502", "stderr": "  File \"/home/oracle/set_res_mgr_plan.py\", line 41\n    print('Plan changed to '{ sys.argv[1] }'\" )\n                            ^\nSyntaxError: invalid syntax", "stderr_lines": ["  File \"/home/oracle/set_res_mgr_plan.py\", line 41", "    print('Plan changed to '{ sys.argv[1] }'\" )", "                            ^", "SyntaxError: invalid syntax"], "stdout": "", "stdout_lines": []}

Additional context
N/A

DURAL: ORA 700 [pga physmem limit] during DB Configuration

Describe the bug
A core dump occurred during configuration of database.

To Reproduce
Steps to reproduce the behavior:

  1. cd demos/resource_manager_thruput
  2. ansible-playbook -K create_test_server.yml
  3. See error

Expected behavior
No core dump.

Screenshots
Error message is:

ORA 700 [pga physmem limit]

DURAL: AWR Snapshots Lost After PDB FLASHBACK

Describe the bug
AWR snapshots are being cleared after PDB FLASHBACK

To Reproduce
Steps to reproduce the behavior:

  1. Run ansible-playbook -K run_hammerdb_test.yml
  2. Output shows the same snapshots after every run:
Vuser 1:Test complete: view report from SNAPID 2 to 3

Expected behavior
AWR snapshots should be preserved for each performance run.

RES_MGR_THRU: Remove Hostnames from Scripts

Is your feature request related to a problem? Please describe.
The use of hard-coded host names in scripts for RES_MANAGER_THRUPUT demonstration makes it difficult for different configurations to be tested.

Describe the solution you'd like
Add a host variable describing the role of the host in the configuration.

Describe alternatives you've considered
An alternative is to have Ansible roles.

Additional context
N/A

HAMMER: NFS mounted incorrectly

Describe the bug
Unable to change ownership of NFS mount point.

To Reproduce
Steps to reproduce the behavior:

  1. cd demos/resource_manager_thruput
  2. ansible-playbook -K install_hammerdb.yml
  3. See error

Expected behavior
Mount /opt/share/Software without errors.

Screenshots
The error message is:

TASK [Create Mount Point for Oracle Installation Software] *********************
fatal: [hammer.yaocm.id.au]: FAILED! => {"changed": false, "gid": 99, "group": "99", "mode": "0777", "msg": "chown failed: [Errno 30] Read-only file system: b'/opt/share/Software'", "owner": "99", "path": "/opt/share/Software", "secontext": "system_u:object_r:nfs_t:s0", "size": 422, "state": "directory", "uid": 99}

DURAL: DB Not Started During Configure SUT

Describe the bug
The Configure DB for SUT step fails of the configure_sut.yml playbook fails because the database instance is not open.

To Reproduce
Steps to reproduce the behavior:

  1. Run ansible-playbook -K configure_sut.yml
  2. See error

Expected behavior
The playbook should complete without error.

Error Messages
The error messages are:

TASK [Configure DB for SUT] ****************************************************
skipping: [hammer.yaocm.id.au]
fatal: [dural.yaocm.id.au]: FAILED! => {"changed": true, "cmd": ["/home/oracle/configure_sut_db.py"], "delta": "0:00:48.300211", "end": "2021-01-15 11:30:38.221301", "msg": "non-zero return code", "rc": 1, "start": "2021-01-15 11:29:49.921090", "stderr": "Traceback (most recent call last):\n  File \"/home/oracle/configure_sut_db.py\", line 85, in <module>\n    cursor.execute(sql)\ncx_Oracle.DatabaseError: ORA-01109: database not open", "stderr_lines": ["Traceback (most recent call last):", "  File \"/home/oracle/configure_sut_db.py\", line 85, in <module>", "    cursor.execute(sql)", "cx_Oracle.DatabaseError: ORA-01109: database not open"], "stdout": "Local UNDO is enabled\nDatabase is in NOARCHIVELOG mode.\nDatabase changed to ARCHIVELOG mode.\nTablespace TPCCTAB does not exists.", "stdout_lines": ["Local UNDO is enabled", "Database is in NOARCHIVELOG mode.", "Database changed to ARCHIVELOG mode.", "Tablespace TPCCTAB does not exists."]}

Additional context
A previous step says the DB is started:

TASK [Status of Oracle Database Instance] **************************************
skipping: [hammer.yaocm.id.au]
ok: [dural.yaocm.id.au] => {
    "start_db_inst.stdout_lines": [
        "Start listener",
        "Listener started successfully",
        "Status of CDB Instance is OPEN",
        "Status of PDB (TPCV3R3A) is READ WRITE"
    ]
}

HAMMER: Oracle Client Installation Fails

Describe the bug
Oracle client installation fails because of legacy parameters on command module.

To Reproduce
Steps to reproduce the behavior:

  1. cd demos/resource_manager_thruput
  2. ansible-playbook -K install_hammerdb.yml
  3. See error

Expected behavior
Oracle client should be installed.

Screenshots
The error message is:

TASK [Install Oracle Client 12.1.0.2 Software Only in Silent Mode] *************
fatal: [hammer.yaocm.id.au]: FAILED! => {"changed": false, "msg": "Unsupported parameters for (ansible.legacy.command) module: register Supported parameters include: _raw_params, _uses_shell, argv, chdir, creates, executable, removes, stdin, stdin_add_newline, strip_empty_ends, warn"}

HAMMER: Incorrect parameter on COMMAND Module

Describe the bug
The step, Run configToolAllCommands after Oracle Client 12.1.0.2 Software Installation, fails because the shell was not specified.

To Reproduce
Steps to reproduce the behavior:

  1. cd demos/resource_manager_thruput
  2. ansible-playbook -K install_hammerdb.yml
  3. See error

Expected behavior
The step should run correctly.

Screenshots
The error message is:

TASK [Run configToolAllCommands after Oracle Client 12.1.0.2 Software Installation] ***
[WARNING]: As of Ansible 2.4, the parameter 'executable' is no longer supported
with the 'command' module. Not using '/bin/sh'.
fatal: [hammer.yaocm.id.au]: FAILED! => {"changed": false, "cmd": "/opt/app/oracle/product/12.1.0.2/client/cfgtoollogs/configToolAllCommands", "msg": "[Errno 8] Exec format error: b'/opt/app/oracle/product/12.1.0.2/client/cfgtoollogs/configToolAllCommands'", "rc": 8}

DURAL: DEFAULT_PLAN is set during CDB Performance Test

Describe the bug
The CDB load test assumes that that no PDB ORM plan is set.

To Reproduce
Steps to reproduce the behavior:

SQL> alter session set container=tpcv3r3a

Session altered.

SQL> show parameter resource

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
resource_limit                       boolean     TRUE
resource_manage_goldengate           boolean     FALSE
resource_manager_cpu_allocation      integer     1
resource_manager_plan                string      FORCE:DEFAULT_PLAN

Expected behavior
No ORM plan should be set during CDB load test.

DURAL: Oracle Groups are Missing from the Response File

Describe the bug
Oracle groups are missing from the response file.

To Reproduce
Steps to reproduce the behavior:

  1. cd demos/resource_manager_thruput
  2. ansible-playbook -K create_test_server.yml
  3. See error

Expected behavior
Oracle groups should be provided in response file.

Screenshots
The error message is:

Launching Oracle Database Setup Wizard...

[WARNING] [INS-32047] The location (/opt/app/oraInventory) specified for the central inventory is not empty.
   ACTION: It is recommended to provide an empty location for the inventory.
[FATAL] [INS-35344] The value is not specified for Database Backup and Recovery (OSBACKUPDBA) group.
   ACTION: Specify a valid group name for Database Backup and Recovery (OSBACKUPDBA) group.
[FATAL] [INS-35344] The value is not specified for Data Guard administrative (OSDGDBA) group.
   ACTION: Specify a valid group name for Data Guard administrative (OSDGDBA) group.
[FATAL] [INS-35344] The value is not specified for Encryption Key Management administrative (OSKMDBA) group.
   ACTION: Specify a valid group name for Encryption Key Management administrative (OSKMDBA) group.
[FATAL] [INS-35344] The value is not specified for Real Application Cluster administrative (OSRACDBA) group.
   ACTION: Specify a valid group name for Real Application Cluster administrative (OSRACDBA) group.
Moved the install session logs to:
 /opt/app/oraInventory/logs/InstallActions2020-11-19_05-25-42PM

DURAL: Incorrect Home Used in Response File

Describe the bug
The installer has detected that the Oracle home location provided in the response file is not correct.

To Reproduce
Steps to reproduce the behavior:

  1. cd demos/resource_manager_thruput
  2. ansible-playbook -K create_test_server.yml
  3. See error

Expected behavior
Oracle installation should complete successfully.

Screenshots
Error message is:

Launching Oracle Database Setup Wizard...

[FATAL] [INS-35954] The installer has detected that the Oracle home location provided in the response file is not correct.
   CAUSE: The Database Oracle home is the location from where the installer is executed. It has been detected that the value set in the response file is different (/opt/app/oracle/product/19.3.0.2/database). Value expected is: /home/oracle/linuxamd64_193000
   ACTION: It is not required to specify ORACLE_HOME in the response file for Database installation. Alternatively, set it to the location of the installer (/home/oracle/linuxamd64_193000).
Moved the install session logs to:
 /opt/app/oraInventory/logs/InstallActions2020-11-19_07-13-31AM

HAMMER: Unable to install Oracle Client

Describe the bug
Unable to load native library, libnsl.so.1, during installation of Oracle Client.

To Reproduce
Steps to reproduce the behavior:

  1. cd demos/resource_manager_thruput
  2. ansible-playbook -K install_hammerdb.yml
  3. See error

Expected behavior
No error message.

Screenshots
The error message is:

TASK [Install Oracle Client 12.1.0.2 Software Only in Silent Mode] *************
fatal: [hammer.yaocm.id.au]: FAILED! => {"changed": true, "cmd": ["/opt/share/Software/database/linuxamd64_12102/client/runInstaller", "-silent", "-noconfig", "-responseFile", "/opt/app/oracle/client_install.rsp", "-waitforcompletion", "-ignorePrereq"], "delta": "0:00:06.401198", "end": "2020-11-14 19:01:29.567042", "msg": "non-zero return code", "rc": 1, "start": "2020-11-14 19:01:23.165844", "stderr": "", "stderr_lines": [], "stdout": "Starting Oracle Universal Installer...\n\nChecking Temp space: must be greater than 415 MB.   Actual 43400 MB    Passed\nChecking swap space: must be greater than 150 MB.   Actual 2079 MB    Passed\nPreparing to launch Oracle Universal Installer from /tmp/OraInstall2020-11-14_07-01-23PM. Please wait ...Error occurred during initialization of VM\nUnable to load native library: libnsl.so.1: cannot open shared object file: No such file or directory", "stdout_lines": ["Starting Oracle Universal Installer...", "", "Checking Temp space: must be greater than 415 MB.   Actual 43400 MB    Passed", "Checking swap space: must be greater than 150 MB.   Actual 2079 MB    Passed", "Preparing to launch Oracle Universal Installer from /tmp/OraInstall2020-11-14_07-01-23PM. Please wait ...Error occurred during initialization of VM", "Unable to load native library: libnsl.so.1: cannot open shared object file: No such file or directory"]}

DURAL: Apply of Patch Fails

Describe the bug
OPatch fails to apply patch 31720396.

To Reproduce
Steps to reproduce the behavior:

  1. cd demos/resource_manager_thruput
  2. ansible-playbook -K create_test_server.yml
  3. See error

Expected behavior
Patch should be applied.

Screenshots
The error message is:

Preparing the home to patch...
Applying the patch /opt/share/Software/database/p31720396_190000_Linux-x86-64...
OPatch command failed while applying the patch. For details look at the logs from /home/oracle/linuxamd64_193000/cfgtoollogs/opatchauto/.

HAMMER: Install HammerDB step time out

Describe the bug
A clear and concise description of what the bug is.

To Reproduce
Steps to reproduce the behavior:

  1. cd demos/resource_manager_thruput
  2. ansible-playbook -K install_hammerdb.yml
  3. See error

Expected behavior
Installation of HammerDB should complete successfully.

Screenshots
The error message is:

TASK [Install HammerDB] ********************************************************
fatal: [hammer.yaocm.id.au]: FAILED! => {"changed": true, "cmd": "/home/hammer/HammerDB-3.3-Linux-x86-64-Install", "delta": "0:00:30.181788", "end": "2020-11-14 13:12:37.083375", "msg": "command exceeded timeout", "rc": null, "start": "2020-11-14 13:12:06.901587", "stdout": "\r\r\nThis will install HammerDB on your computer.  Continue? [n/Y] ", "stdout_lines": ["", "", "This will install HammerDB on your computer.  Continue? [n/Y] "]}

DURAL: AWR Settings Not Correct

Describe the bug
The default values for AWR collections are still in force for the TPCV3R3A PDB.

To Reproduce
Steps to reproduce the behavior:

  1. Connect to TPCV3R3A PDB on DURAL.
  2. Run @?/rdbms/admin/awrrpt
  3. List of available AWR reports shows hourly collections.

Expected behavior
The AWR collection interval should be 366 days. The AWR collection retentiion should be the same.

Additional context
These settings are made in "configure_sut_db.py.j2"

DURAL: Complete configuration after Oracle DB Software Installation Fails

Describe the bug
The step, Complete configuration after Oracle DB Software Installation, failed.

To Reproduce
Steps to reproduce the behavior:

  1. cd demos/resource_manager_thruput
  2. ansible-playbook -K create_test_server.yml
  3. See error

Expected behavior
The step should complete successfully.

Screenshots
The error message was:

ERROR: Unable to verify the graphical display setup. This application requires X display. Make sure that xdpyinfo exist under PATH variable.

No X11 DISPLAY variable was set, but this program performed an operation which requires it.

HAMMER: Upgrade to V4.0

Is your feature request related to a problem? Please describe.
Hammer V4.0 has been released

Describe the solution you'd like
Update installation script to install Hammer V4.0.

Describe alternatives you've considered
Leave at current version.

Additional context
N/A.

HAMMER: Invalid Command Name in Custom Test Script

Describe the bug
The Custom Performance Load Test script fails with an invalid command name after issue #30 was fixed.

To Reproduce
Steps to reproduce the behavior:

  1. Run ansible-playbook -K run_hammerdb_test.yml
  2. See error

Expected behavior
The Custom Performance Load Test script should run to completion without error.

Screenshots
Error messages are:

TASK [Output from HammerDB Performance Test] ***********************************
ok: [hammer.yaocm.id.au] => {
    "test_run_result.stdout_lines": [
        "HammerDB CLI v4.0",
        "Copyright (C) 2003-2020 Steve Shaw",
        "Type \"help\" for a list of commands",
        "The xml is well-formed, applying configuration",
        "Successfully connected",
        "Number of TPCC objects=25",
        "0 Virtual Users created",
        "Loaded /home/hammer/custom_load.tcl",
        "Vuser 1 created - WAIT IDLE",
        "",
        "1 Virtual Users Created",
        "",
        "1 = WAIT IDLE",
        "",
        "Vuser 1:RUNNING",
        "",
        "Error in Virtual User 1: invalid command name \"!/usr/local/bin/tclsh8.6\"",
        "",
        "Vuser 1:FINISHED FAILED",
        "",
        "ALL VIRTUAL USERS COMPLETE",
        "",
        "runtimer returned after 1 seconds",
        "",
        "waittocomplete called script exit"
    ]
}

DURAL: Apply 2021 January Patch

'Patch 32126828 - Combo of OJVM Component Release Update 19.10.0.0.210119 + Database Jan 2021 Release Update 19.10.0.0.210119' needs to be applied to the database server (DURAL).

HAMMER: Unable to connect to SUT DB via SQL*Plus

Describe the bug
Whenever I try to connect to the SUT DB, I get the error, ORA-12543

To Reproduce
Steps to reproduce the behavior:

  1. sqlplus -L system@demo_dural on hammer.yaocm.id.au
  2. See error

Expected behavior
I should be able to connect to database instance.

Screenshots
Error message is:

ERROR:
ORA-12543: TNS:destination host unreachable

Additional Information

[douglas@hammer ~]$ ping -c 10 dural.yaocm.id.au
PING dural.yaocm.id.au (192.168.1.122) 56(84) bytes of data.
64 bytes from dural.yaocm.id.au (192.168.1.122): icmp_seq=1 ttl=64 time=27.1 ms
64 bytes from dural.yaocm.id.au (192.168.1.122): icmp_seq=2 ttl=64 time=1.05 ms
64 bytes from dural.yaocm.id.au (192.168.1.122): icmp_seq=3 ttl=64 time=0.917 ms
64 bytes from dural.yaocm.id.au (192.168.1.122): icmp_seq=4 ttl=64 time=0.915 ms
64 bytes from dural.yaocm.id.au (192.168.1.122): icmp_seq=5 ttl=64 time=0.944 ms
64 bytes from dural.yaocm.id.au (192.168.1.122): icmp_seq=6 ttl=64 time=1.15 ms
64 bytes from dural.yaocm.id.au (192.168.1.122): icmp_seq=7 ttl=64 time=1.05 ms
64 bytes from dural.yaocm.id.au (192.168.1.122): icmp_seq=8 ttl=64 time=0.963 ms
64 bytes from dural.yaocm.id.au (192.168.1.122): icmp_seq=9 ttl=64 time=1.07 ms
64 bytes from dural.yaocm.id.au (192.168.1.122): icmp_seq=10 ttl=64 time=0.963 ms

--- dural.yaocm.id.au ping statistics ---
10 packets transmitted, 10 received, 0% packet loss, time 43ms
rtt min/avg/max/mdev = 0.915/3.610/27.090/7.827 ms
[douglas@hammer ~]$ nc dural 1521
Ncat: No route to host.

RES_MGR_THRUPUT: Need to Stop Play if a Step Fails

Describe the bug
Play continues even though a step fails for a single host.

To Reproduce
N/A

Expected behavior
For a build across multiple hosts in which some are dependent on others, play should stop when a step fails on a prerequisite host.

Additional Information

- meta: end_play
  when: condition

does not work.

HAMMER: Load Test Not Completing Cleanly

Describe the bug
Virtual User 1 is failing because of a syntax error.

To Reproduce
Steps to reproduce the behavior:

  1. Run ansible-playbook -K run_hammerdb_test.yml
  2. See error

Error Messages
The error messages are:

Vuser 1:Test complete, Taking end AWR snapshot.

Vuser 1:End Snapshot 38 taken at 16 JAN 2021 06:56 of instance DEMO19C (1) of database DEMOCDB1 (987761581)

Vuser 1:Test complete: view report from SNAPID 37 to 38

Error in Virtual User 1: invalid bareword "file"
in expression "!(file exists $awr_dir)";
should be "$file" or "{file}" or "file(...)" or ...
Vuser 1:FINISHED FAILED

Additional context
N/A.

HAMMER: Custom Load Script Fails

Describe the bug
Custom Load Performance script fails.

To Reproduce
Steps to reproduce the behavior:

  1. Run ansible-playbook -K run_hammerdb_test.yml
  2. See error

Expected behavior
Load performance script should run to completion.

Screenshots
Error message is:

can't read "_ED(file)": no such element in array
    while executing
"if {$_ED(file) == ""} {return}"
    (procedure "customscript" line 8)
    invoked from within
"customscript '/home/hammer/custom_load.tcl'"
    (file "/home/hammer/run_hammerdb_test.tcl" line 60)
    invoked from within
"source $autostart::autoloadscript"
    invoked from within
"if { $autostart::autostartap == "true" } {
	source $autostart::autoloadscript
	} else {
    TclReadLine::interact
	}"
    (file "./hammerdbcli" line 84)

HAMMER: Load Test Fails to Connect to SUT DB

Describe the bug
The HammerDB client is unable to connect to the System Under Test (SUT) database instance on DURAL.

To Reproduce
Steps to reproduce the behavior:

  1. Run ansible-playbook -K run_hammerdb_test.yml
  2. See error messages.

Expected behavior
HammerDB should be able to connect to SUT database instance..

Error Messages

TASK [Run an Iteration of HammerDB Performance Test] fails with:

ORA-12543: TNS:destination host unreachable

Additional Information

TASK [Status of Oracle Database Instance] reports DB instance is active:

ok: [dural.yaocm.id.au] => {
    "start_db_inst.stdout_lines": [
        "Start listener",
        "Listener started successfully",
        "CDB instance started",
        "CDB Database mounted",
        "CDB Database opened",
        "Status of CDB Instance is OPEN",
        "Status of PDB (TPCV3R3A) is READ WRITE",
        "Status of PDB (TPCV3R3A) is OPEN"
    ]
}

DURAL: duplicate service names

Describe the bug
Alert log for SUT database shows:

Warning: duplicate service names (with and without domain) for service DEMO_DURAL
Started service DEMO_DURAL/DEMO_DURAL.YAOCM.ID.AU/DEMO_DURAL.YAOCM.ID.AU

DURAL: Python3 Not Installed

Describe the bug
When re-installing the DURAL service, the playbook fails because Python3 is not installed.

To Reproduce
Steps to reproduce the behavior:

  1. Run ansible-playbook -K create_test_server.yml
  2. See error

Expected behavior
The playbook should complete without error.

Error Messages
The error messages are:

fatal: [dural.yaocm.id.au]: FAILED! => {"ansible_facts": {}, "changed": false, "failed_modules": {"ansible.legacy.setup": {"failed": true, "module_stderr": "Shared connection to dural.yaocm.id.au closed.\r\n", "module_stdout": "/bin/sh: /usr/bin/python3: No such file or directory\r\n", "msg": "The module failed to execute correctly, you probably need to set the interpreter.\nSee stdout/stderr for the exact error", "rc": 127}}, "msg": "The following modules failed to execute: ansible.legacy.setup\n"}

Additional context
N/A

HAMMER: Missing Directory for Oracle Client Installer

Describe the bug
The NFS mount point for the Oracle Client installer is not there.

To Reproduce
Steps to reproduce the behavior:

  1. cd demos/resource_manager_thruput
  2. ansible-playbook -K install_hammerdb.yml
  3. See error

Expected behavior
The NFS mount point, /opt/share/Software/, should be created and mounted.

Screenshots
The error message is:

TASK [Install Oracle Client 12.1.0.2 Software Only in Silent Mode] *************
fatal: [hammer.yaocm.id.au]: FAILED! => {"changed": false, "msg": "Unable to change directory before execution: [Errno 2] No such file or directory: b'/opt/share/Software/database/linuxamd64_12102/client'"}

HAMMER: Expect Fails for HammerDB Installation

Describe the bug
The module, EXPECT, fails during the Install HammerDB, step.

To Reproduce
Steps to reproduce the behavior:

  1. cd demos/resource_manager_thruput
  2. ansible-playbook -K install_hammerdb.yml
  3. See error

Expected behavior
A clear and concise description of what you expected to happen.

Screenshots
The error is:

TASK [Install HammerDB] ********************************************************
fatal: [hammer.yaocm.id.au]: FAILED! => {"changed": false, "module_stderr": "Shared connection to hammer.yaocm.id.au closed.\r\n",

The formatted trace back is:

Traceback (most recent call last):
  File "/home/douglas/.ansible/tmp/ansible-tmp-1605317452.4483583-1826-185032744319898/AnsiballZ_expect.py", line 102, in <module>
    _ansiballz_main()
  File "/home/douglas/.ansible/tmp/ansible-tmp-1605317452.4483583-1826-185032744319898/AnsiballZ_expect.py", line 94, in _ansiballz_main
    invoke_module(zipped_mod, temp_path, ANSIBALLZ_PARAMS)
  File "/home/douglas/.ansible/tmp/ansible-tmp-1605317452.4483583-1826-185032744319898/AnsiballZ_expect.py", line 40, in invoke_module
    runpy.run_module(mod_name='ansible.modules.expect', init_globals=None, run_name='__main__', alter_sys=True)
  File "/usr/lib64/python3.6/runpy.py", line 205, in run_module
    return _run_module_code(code, init_globals, run_name, mod_spec)
  File "/usr/lib64/python3.6/runpy.py", line 96, in _run_module_code
    mod_name, mod_spec, pkg_name, script_name)
  File "/usr/lib64/python3.6/runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "/tmp/ansible_expect_payload_8rcjyx51/ansible_expect_payload.zip/ansible/modules/expect.py", line 241, in <module>
  File "/tmp/ansible_expect_payload_8rcjyx51/ansible_expect_payload.zip/ansible/modules/expect.py", line 200, in main
  File "/usr/local/lib/python3.6/site-packages/pexpect/run.py", line 115, in run
    index = child.expect(patterns)
  File "/usr/local/lib/python3.6/site-packages/pexpect/spawnbase.py", line 342, in expect
    compiled_pattern_list = self.compile_pattern_list(pattern)
  File "/usr/local/lib/python3.6/site-packages/pexpect/spawnbase.py", line 232, in compile_pattern_list
    compiled_pattern_list.append(re.compile(p, compile_flags))
  File "/usr/lib64/python3.6/re.py", line 233, in compile
    return _compile(pattern, flags)
  File "/usr/lib64/python3.6/re.py", line 301, in _compile
    p = sre_compile.compile(pattern, flags)
  File "/usr/lib64/python3.6/sre_compile.py", line 562, in compile
    p = sre_parse.parse(p, flags)
  File "/usr/lib64/python3.6/sre_parse.py", line 855, in parse
    p = _parse_sub(source, pattern, flags & SRE_FLAG_VERBOSE, 0)
  File "/usr/lib64/python3.6/sre_parse.py", line 416, in _parse_sub
    not nested and not items))
  File "/usr/lib64/python3.6/sre_parse.py", line 553, in _parse
    raise source.error(msg, len(this) + 1 + len(that))
sre_constants.error: bad character range B-3 at position 58

DURAL: INTERNAL_PLAN is an Invalid CDB Plan

Describe the bug
INTERNAL_PLAN is an Invalid CDB Plan.

To Reproduce
Steps to reproduce the behavior:

  1. Run ansible-playbook -K run_hammerdb_test_on_CDB.yml
  2. See error messages

Expected behavior
Use a valid CDB plan.

Error Messages
TASK [Set resource manager plan] fails with:

ALTER SYSTEM SET resource_manager_plan='FORCE:INTERNAL_PLAN'
ORA-32017: failure in updating SPFILE
ORA-07452: specified resource manager plan does not exist in the data dictionary

DURAL: PDB name, TPCV3R3A, does not match HammerDB version

Is your feature request related to a problem? Please describe.
The original intention of calling the PDB TPCV3R3A was to reflect the version of HammerDB used. Since issue #17, the version of HammerDB used is 4.0.

Describe the solution you'd like
The PDB should be called TPCV4R0A instead.

Describe alternatives you've considered
Let the PDB name alone.

Additional context
N/A

DURAL: Apply of Patches Failed

Describe the bug
Apply of patch failed on DURAL.

To Reproduce
Steps to reproduce the behavior:

  1. cd demos/resource_manager_thruput
  2. ansible-playbook -K create_test_server.yml
  3. See error

Expected behavior
Patch should be applied

Screenshots
Error message is:

[INS-32826] The software home (/opt/app/oracle/product/19.3.0.2/database) is already registered in the central inventory. Refer to patch readme instructions on how to apply.

DURAL: AWR Snapshot not taken at start of test

Describe the bug
Prior to running a HammerDB test, an AWR collection snapshot be done.

To Reproduce
Steps to reproduce the behavior:

  1. Run ansible-playbook -K run_hammerdb_test.yml on AUBURN
  2. Run @?/rdbms/admin/awrrpt on DURAL under SQL*Plus.
  3. No AWR collection appears for start of test.

Expected behavior
A snapshot immediately prior to the start of the test should be available.

Remove Creation of Restore Point

Is your feature request related to a problem? Please describe.
The creation of a restore point is no longer required because the PDB is not being flashed back before a performance load test.

Additional context
This is the result of the resolution to issue #34

DURAL: Optional configuration warning prevents DB SW Installation

Describe the bug
A warning about optional configuration prevents successful installation of Oracle DB SW.

To Reproduce
Steps to reproduce the behavior:

  1. cd demos/resource_manager_thruput
  2. ansible-playbook -K create_test_server.yml
  3. See warning

Expected behavior
The warning should be noted and bypassed.

Screenshots
The warning message is:

[WARNING] [INS-13014] Target environment does not meet some optional requirements.
   CAUSE: Some of the optional prerequisites are not met. See logs for details. installActions2020-11-19_06-23-29PM.log
   ACTION: Identify the list of failed prerequisite checks from the log: installActions2020-11-19_06-23-29PM.log. Then either from the log file or from installation manual find the appropriate configuration to meet the prerequisites and fix it manually.

Other Considerations with SKIP LOCKED

Is your feature request related to a problem? Please describe.
rponte writes in response to Technical Note On Skip Locked:

One important thing we can’t ignore when using SKIP LOCKED is that it locks the rows during the fetching. I mean, the simple FOR UPDATE locks all rows when we open the cursor, while FOR UPDATE SKIP LOCKED locks only when we fetch the row(s).

It is important to understand that because if we write a query which paginates the results (eg: using rownum or FETCH FIRST) we may get the wrong result or may get an unbalanced distribution of rows among the workers (threads). Indeed, rownum and FETCH FIRST are evaluated before the rows are skipped by SKIP LOCKED, so your code will work but not with the best throughtput you could get.

Does it make sense?

Btw, there’re some good discussions about this trait of SKIP LOCKED:

https://asktom.oracle.com/pls/asktom/f?p=100:11:0::::P11_QUESTION_ID:9538644700346644113
https://stackoverflow.com/questions/6117254/force-oracle-to-return-top-n-rows-with-skip-locked
https://stackoverflow.com/questions/42899520/does-oracle-skip-locked-prevent-non-repeatable-reads

Describe the solution you'd like
Investigate the issues raised by rponte.

Describe alternatives you've considered
None.

Additional context
None.

DURAL: Pre-installation O/S checks fails for Oracle 19.3 on OL8

Describe the bug
Get 'supportedOSCheck' during installation of Oracle 19.3 on Dural.

To Reproduce
Steps to reproduce the behavior:

  1. cd demos/resource_manager_thruput
  2. ansible-playbook -K create_test_server.yml
  3. See error message

Expected behavior
The Oracle 19C software should be installed correctly.

Screenshots
The output from the installer was:

Launching Oracle Database Setup Wizard...

[WARNING] [INS-08101] Unexpected error while executing the action at state: 'supportedOSCheck'
   CAUSE: No additional information available.
   ACTION: Contact Oracle Support Services or refer to the software manual.
   SUMMARY:
       - java.lang.NullPointerException
Moved the install session logs to:
 /opt/app/oraInventory/logs/InstallActions2020-11-18_08-48-11PM

HAMMER: Custom CDB Load Test fails to take AWR Snapshot

Describe the bug
TASK [Output from HammerDB Performance Test] fails to take AWR snapshot

To Reproduce
Steps to reproduce the behavior:

  1. Run ansible-playbook -K run_hammerdb_test_on_CDB.yml
  2. See error

Expected behavior
AWR snapshots should be taken at start and end of test.

Screenshots
Error messages are:

Vuser 1:Rampup complete, Taking start AWR snapshot.

Error in Virtual User 1: can't read "firstsnap": no such variable

Vuser 1:FINISHED FAILED

Additional context
N/A

HAMMER: Unable to run hammerdbcli as douglas

Describe the bug
Unable to .

To Reproduce
Steps to reproduce the behavior:

  1. hammerdbcli
  2. The error message is:
/usr/local/HammerDB-4.0/hammerdbcli: line 8: /home/douglas/bin/tclsh8.6: No such file or directory

Expected behavior
No error message.

HAMMER: HammerDB Installation Failed

Describe the bug
The downloaded HammerDB installer is not executable.

To Reproduce
Steps to reproduce the behavior:

  1. cd demos/resource_manager_thruput
  2. ansible-playbook -K install_hammerdb.yml
  3. See error

Expected behavior
A clear and concise description of what you expected to happen.

Screenshots
The error messages are:

TASK [Download Linux Installer for HammerDB] ***********************************
[WARNING]: Module remote_tmp /home/hammer/.ansible/tmp did not exist and was
created with a mode of 0700, this may cause issues when running as another
user. To avoid this, create the remote_tmp dir with the correct permissions
manually
changed: [hammer.yaocm.id.au]

TASK [Install HammerDB] ********************************************************
An exception occurred during task execution. To see the full traceback, use -vvv. The error was: pexpect.exceptions.ExceptionPexpect: The command was not found or was not executable: /home/hammer/HammerDB-3.3-Linux-x86-64-Install.
fatal: [hammer.yaocm.id.au]: FAILED! => {"changed": false, "msg": "The command was not found or was not executable: /home/hammer/HammerDB-3.3-Linux-x86-64-Install."}

Additional context
N/A

DURAL: ORA-44303: service name exists

Describe the bug
Step, "Configure DB for SUT", of the playbook, configure_sut.yml fails with ORA-44303: service name exists.

To Reproduce
Steps to reproduce the behavior:

  1. ansible-playbook -K configure_sut.yml
  2. See error message below.

Expected behavior
No error message

Screenshots
Error message was:

Traceback (most recent call last):
  File "/home/oracle/configure_sut_db.py", line 79, in <module>
    cursor.callproc('dbms_service.create_service', parms)
cx_Oracle.DatabaseError: ORA-44303: service name exists
ORA-06512: at "SYS.DBMS_SERVICE_ERR", line 21
ORA-06512: at "SYS.DBMS_SERVICE", line 316
ORA-06512: at line 1

HAMMER: buildschema fails with ORA-00959

Describe the bug
Hammerdbcli verb, buildschema, fails with ORA-00959: tablespace 'TPCCTAB' does not exist.

To Reproduce
Steps to reproduce the behavior:

  1. cd /usr/local/HammerDB-4.0
  2. ./hammerdbcli
  3. dbset db ora
  4. dbset bm TPC-C
  5. diset connection system_password "********"
  6. diset connection instance demo_dural
  7. buildschema
  8. See error

Expected behavior
Schema should be built.

Screenshots
Error messages are:

Script cleared
Building 1 Warehouses(s) with 1 Virtual User
Ready to create a 1 Warehouse Oracle TPROC-C schema
in database DEMO_DURAL under user TPCC in tablespace TPCCTAB?
Enter yes or no: replied yes
Vuser 1 created - WAIT IDLE
Vuser 1:RUNNING
Vuser 1:CREATING TPCC SCHEMA
Vuser 1:CREATING USER tpcc

hammerdb>Vuser 1:ORA-00959: tablespace 'TPCCTAB' does not exist create user tpcc identified by tpcc default tablespace tpcctab temporary tablespace temp
Vuser 1:ORA-01917: user or role 'TPCC' does not exist grant connect,resource,create view to tpcc
Vuser 1:ORA-01918: user 'TPCC' does not exist alter user tpcc quota unlimited on tpcctab
Error in Virtual User 1: ORA-01017: invalid username/password; logon denied
Vuser 1:FINISHED FAILED
ALL VIRTUAL USERS COMPLETE

DURAL: Failed to Start DB after Patching

Describe the bug
The post-patching step is unable to complete because there is a missing initialisation file.

To Reproduce
Steps to reproduce the behavior:

  1. cd demos/resource_manager_thruput
  2. ansible-playbook -K create_test_server.yml
  3. See error

Expected behavior
The initialisation file should be created.

Screenshots
The error message is:

LRM-00109: could not open parameter file '/opt/app/oracle/product/19.3.0.2/database/dbs/initDEMO19C.ora'

DURAL: Unable to Create Oracle Home

Describe the bug
Unable to create /opt/app directory.

To Reproduce
Steps to reproduce the behavior:

  1. cd demos/resource_manager_thruput
  2. ansible-playbook -K create_test_server.yml
  3. See error

Expected behavior
Directory should be created.

Screenshots
Error message is:

TASK [Create directory for Installation Software] ******************************
fatal: [dural.yaocm.id.au]: FAILED! => {"changed": false, "msg": "There was an issue creating /opt/app as requested: [Errno 13] Permission denied: b'/opt/app'", "path": "/opt/app/oracle/product/19.3.0.2/database"}

DURAL: Incorrect AWR Reports listed in Custom Script Output

Describe the bug
The wrong SNAP IDs are being reported from the customscript run.

To Reproduce
Steps to reproduce the behavior:

  1. Run ansible-playbook -K run_hammerdb_test.yml
  2. AWR reports listed for test are:
Vuser 1:Test complete: view report from SNAPID 166 to 167
  1. Snap ID 166 is from before shutdown, not from start of test:
Vuser 1:Start Snapshot 166 taken at 06 JAN 2021 21:00 of instance DEMO19C (1) of database DEMOCDB1 (1856558291)

Expected behaviour
An AWR snapshot should be taken at the start and end of the performance load test.

Screenshots
Output from run is:

HammerDB CLI v4.0
Copyright (C) 2003-2020 Steve Shaw
Type "help" for a list of commands
The xml is well-formed, applying configuration
Successfully connected
Number of TPCC objects=25
0 Virtual Users created
Loaded /home/hammer/custom_load.tcl
Vuser 1 created - WAIT IDLE

1 Virtual Users Created

1 = WAIT IDLE

Vuser 1:RUNNING

Vuser 1:Beginning rampup time of 2 minutes

Timer: 1 minutes elapsed

Vuser 1:Rampup 1 minutes complete ...

Timer: 2 minutes elapsed

Vuser 1:Rampup 2 minutes complete ...

Vuser 1:Rampup complete, Taking start AWR snapshot.

Vuser 1:Start Snapshot 166 taken at 06 JAN 2021 21:00 of instance DEMO19C (1) of database DEMOCDB1 (1856558291)

Vuser 1:Timing test period of 5 in minutes

Timer: 3 minutes elapsed

Vuser 1:1 ...,

Timer: 4 minutes elapsed

Vuser 1:2 ...,

Timer: 5 minutes elapsed

Vuser 1:3 ...,

Timer: 6 minutes elapsed

Vuser 1:4 ...,

Timer: 7 minutes elapsed

Vuser 1:5 ...,

Vuser 1:Test complete, Taking end AWR snapshot.

Vuser 1:End Snapshot 167 taken at 07 JAN 2021 10:58 of instance DEMO19C (1) of database DEMOCDB1 (1856558291)

Vuser 1:Test complete: view report from SNAPID 166 to 167

Vuser 1:0 Active Virtual Users configured

Vuser 1:TEST RESULT : System achieved 0 NOPM from 0 Oracle TPM

Vuser 1:FINISHED SUCCESS

ALL VIRTUAL USERS COMPLETE

runtimer returned after 452 seconds

waittocomplete called script exit

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.