Skip to content

Releases: thedatabaseme/pythia

v2.3.6

08 Apr 15:35
fb0dd36
Compare
Choose a tag to compare
  • Fixed #3: Pythia now checks if there are running instances before adjusting the sysctl.conf

Ansible Lint

v2.3.5

06 Apr 13:33
38240b9
Compare
Choose a tag to compare
  • New Feature #34: using the shell command with sqlplus has been replaced by the oracle_sql module
  • Fixed #38: Molecule tests now run again by disabling SELinux check when running molecule and updating the meta/main.yml with the needed Ansible Galaxy info.

Ansible Lint

v2.3.0

17 Feb 21:03
Compare
Choose a tag to compare
  • New Feature #25: You can now specify a list of instance parameters which will get set
    when a database is getting created. See docs/CREATE_DB.md
  • Fixed #26: Autostart scripts dbstart and dbshut will now get deployed with the correctl
    permission
  • New Feature #27: Pythia will now configure SELinux according to the parameter set by
    selinux_desired_state (default permissive)
  • Fixed #32: The shell script that is getting executed when su to the oracle OS user
    now shows the correct version in any case

Ansible Lint

v2.2.5

22 Jan 16:30
Compare
Choose a tag to compare
  • New Feature #19: Automatic linting is now done using Github Actions. Fixed many linting errors
  • New Feature #20: Added Molecule test scenarios in Pythia
  • New Feature #21: You can now specify additional runInstaller parameters by using the runinstaller_parameters variable
  • Fixed #23: Pythia now uses dynamic generated variable role_path when working with templates and files.

Ansible Lint

What's Changed

Full Changelog: v2.2.0...v2.2.5

v2.2.0

11 Jan 21:12
Compare
Choose a tag to compare

Oracle 21c Database support

- New Feature #17: Pythia now supports Oracle Database 21c as well as Multitenant / Container Databases

Especially the support for Multitenant Databases has brought some Changes. It's now necessary to provide the
information if the Databases running on a specific RDBMS is a CDB or not. It's not a real good implementation
to control this in the rdbms_dict.yml cause the fact if it is a CDB or not, is defined per database and not per RDBMS.
But since 21c no longer supports any NON-CDB setups, we implemented it there. The fact if is a CDB or not is
controlled by setting the variable container_database within rdbms_dict.yml.

Second major adjustment can be found during the patching of a container database. You can control if you want
to get all PDBs within a CDB started up after the patch has been applied to the RDBMS by using the variable
patch_all_pdbs within the patch_dict.yml. Keep in mind, this variable is optional within the dictionary, so you
can specify it but you don't have to. When the variable patch_all_pdbs is set to false, only PDBs that are started
up during CDB startup (by using a trigger) are opened and therefore patched. When you missed the point for
patching all PDBs while patching a CDB with Pythia, you have to patch the PDBs (by using datapatch) manually
on your own. Pythia will not know if there are PDBs not patched.

Known issues

  • Tempfiles of plugable databases (PDB) are named with a timestamp of the creation in the filename. (See issue #16)
  • Tempfiles of plugable databases (PDB) are not respecting the in temp_dest defined location for temporary files. They are created under the datafile location (See issue #16)
  • There has not been tested every scenario when using Multitenant (Container Database) setups in Release 19c and below. There may be some traps!

Full Changelog: v2.1.0...v2.2.0

Ansible Lint

v2.1.0

06 Nov 11:23
Compare
Choose a tag to compare

Version 2.1.0

  • New Feature #1: Added documentation / instructions under docs/*.md for the most common tasks you can do with Pythia
  • New Feature #13: Implemented Export / Import mechanism over Datapump Network_link
  • Fixed Issue #7: Updated README(s) and added Features to the list
  • Fixed Issue #11: All not needed Variables are moved from vars/main.yml to defaults/main.yml. Making them better overwriteable

Version 2.0.1

  • Fixed Issue #9: Tempfiles will now be dropped / deleted, when Target DB already exists and you specify to override the Target DB

v2.0.0

09 Oct 09:37
Compare
Choose a tag to compare

Version 2.0.0

  • Pythia is now OpenSource. All former Changes are no longer part of this repository. Changelog history is only for a better overview still included

Version 1.5.2

  • Fixed (reopened) Issue #97: The psmisc Package is now also a required Package for SLES OS
  • Fixed Issue #142: acl Package is now a prerequisite Package for all Linux OS
  • Fixed Issue #141: Maximum Datafiles are now set to 500 in the DBCA Templates
  • Fixed Issue #124: You can now specify an additional directory in rdbms_dict, that will be created / permission set when installing an RDBMS
  • Fixed Issue #116: For SLES Systems and the NMDA Module RPM Installation, the Zypper Module will be used without making a gpg check

Version 1.5.1

  • Fixed Issue #138: Fixed Archivelog Backup Template during duplicate

Version 1.5.0

  • Fixed Issue #125: Backup of Archivelogs will now be altered before running a duplicate. So Archivelogs will be preserved during duplicate and be restored after a finished Duplicate
  • Fixed Issue #132: Listener Names will now be checked before Duplicate.
  • Fixed Issue #131: RMAN Duplicate will now run in "no_log" Mode. So no passwords will be visible
  • Fixed Issue #133: Duplicate now runs inside a block and copies back the backed up rman_arc.par file always
  • Fixed Issue #134: RMAN Duplicate will now run in async and poll mode (background) to prevent SSH Timeouts
  • New Feature #123: You can now execute a SQL Script as a Duplicate Post-processing task by specifiying the duplicate_run_post_script Variable
  • New Feature #135: A List of User Passwords can now be preserved during duplicate and will be set after duplication

Version 1.4.3

  • Fixed Issue #129: Patch Archive and Gather Databases running are now running as oracle_user.

Version 1.4.2

  • New Feature: Duplicate will now handle more complex situations when the target database already exists
  • New Feature: Duplicate now uses "using backupset" for RMAN duplicate which will enable "Null Block Compression"
  • New Feature: Duplicate now supports preserving existing SPFILE / Database on Target System
  • Fixed Issue #121: == true and == false usages have been replaced
  • Fixed Issue #122: Names are now specified for all set_facts and debug tasks
  • Fixed Issue #95: It is now checked if a Target Database already exists. If you don't specify the duplicate_remove_target=true Variable, Pythia will fail

Version 1.4.1

  • Fixed Issue #113: sqlscriptoutput TAG has been removed from README.md

Version 1.4

  • New Feature: Pythia can now Upgrade Oracle Databases using the Autoupgrade Mechanism
  • New Feature: Added Support for RHEL8, OEL8 and CentOS8 (beware, CentOS is not officially certified for Oracle Database)
  • Changed #98: The Tag sqlscriptoutput has been removed. Use the Variable sqlscriptoutput True / False instead
  • Fixed Issue #111: Wrong Package Name for SLES12 fixed

Version 1.3.4

  • Fixed Issue #99: UID and GID of Oracle OS User and DBA Group are now 1500 instead of 500

Version 1.3.3

  • Fixed Issue #93: When duplicating, the Target Listener will be configured and started if not already configured or started

Version 1.3.2

  • Fixed Issue #87: .bash_profile is now created if not existant
  • Fixed Issue #88: Grub Configuration is now divided into SLES and RHEL specific Task

Version 1.3.1

  • Fixed Issue #82: Diagnostic Destination is now created before Database Creation

Version 1.3

  • New Feature: Oracle Client Software can now be installed on Linux Systems with using the "client" tag
  • New Feature: Duplicate from Active Database is now possible with using the "duplicate" tag
  • Fixed Issue #78: sysctl_stable is not respected correctly in prerequisite.yml

Version 1.2.3

  • Fixed Issue #73: ora_set.sh now displays Oracle Version and Release correctly for Oracle 18 onwards

Version 1.2.2

  • Fixed Issue #69: Listener and Tnsnames Configuration will now be appended when there is already an existing listener on the Oracle Home
  • New Feature: Listener Logging Configuration is now dynamic. You can now Specify Variable listener_logging to either ON of OFF (Default OFF)

Version 1.2.1

  • Fixed Issue #59: You can now specify autoextend=true/false (Default false) when calling a playbook. This controls if datafiles will be autoextensible or not
  • Fixed Issue #57: Default sysctl.conf Settings will now be deleted
  • New Feature: A converttohugepage Tag has been implemented to convert a non Hugepage configured System into a Hugepage configured System
  • New Feature: A prepare Tag has been implemented to prepare a target System for an Oracle Installation later on. (User / Group, Kernel Parameters, Hugepages, Shell Scripts)

Version 1.2

  • New Feature: SGA and PGA can now be dynamically set for DB Creation. sga_max_size and pga_aggregate_target can be set as extra Variable when calling the Playbook
  • New Feature: Hugepages can now be configured by Pythia using the hugepage tag.
  • New Feature: DBCA Logfile location is now shown before running DBCA
  • Fixed Issue #54: Done a complete Code Review. Added dozens of Comments, Restructure Prerequisite and Precheck Tasks

Version 1.1.1

  • Fixed Issue #44: DBCA does not honor the Controlfile Initialization Parameter unless you call dbca with -honorControlFileInitParam

Version 1.1

  • New Feature: SQL Scripts can be executed on a remote Oracle Database. Files to be executed can be located under local_sql_stage_directory path
  • New Feature: Pythia supports Oracle SE2 (Standard Edition 2) now. There are Responsefiles for SE2 deployed
  • New Feature: Characterset / NLS Configuration is now dynamic. You can handover nls_length_semantics, character_set and national_character_set as extra Variables when calling the Playbook.
  • New Feature: Support Installation of additional Software Packages (RPM) by specifying the "rpm" tag
  • New Feature: Make EM Express installation / configuration dynamic when creating a Database. Variable empress has been implemented
  • New Feature: Dynamic Management Pack Access. You can Specify the Variable on Playbook Call management_pack_access. This controls the Oracle Parameter control_management_pack_access.
  • New Feature: You can setup Autostart for a Database you specify under the Linux System.

Version 1.0.2

  • Fixed Issue #5: The RDBMS Software and Patch Archives will now be copied to the Remote Staging Area before uncompressing. Thos solves, that user temp directories or /var/tmp will become full.
  • Fixed Issue #12: Overloaded the Variable space_needed_gb from rdbms_dict.yml into main.yml. When calling the Playbook with the variable set, this value will be checked for free space available rather than the value in rdbms_dict.yml
  • Fixed Issue #30: Remote Stage Directory will now be created also when only tagging Patch or Patchonly
  • Fixed Issue #48: Wrong Package Names for SLES12 and SLES15 Systems

Version 1.0.1

  • Fixed Issue #3, #4: Tags in prereq_packages included. Include Filename Changed
  • Fixed Issue #6: Check if Oracle OS User and Group exist
  • Fixed Issue #9: Value of needed Free Space when installing a RDBMS is now configurable in the rdbms_dict.yml
  • Fixed Issue #11: If the files 97* under sysctl.d and limits.d exist, they will now not be overwritten. Also Owner and Group are now setup for security.d template file
  • Fixed Issue #10 #15: Split RDBMS Installation and Prechecks into separate Task Files to clean up the main.yml Files

Version 1.0

  • Initial Version
  • Features:
    • Install Oracle RDBMS on a target system
    • Create a Database on top of a new or an existing RDBMS
    • Install Patches on top of a new and existing RDBMS and or Database