Releases: thedatabaseme/pythia
v2.3.6
v2.3.5
v2.3.0
- 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
v2.2.5
- 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.
What's Changed
- Merge 2.2.0 to Master by @thedatabaseme in #18
Full Changelog: v2.2.0...v2.2.5
v2.2.0
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
v2.1.0
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
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