The Oracle Database Growth Monitoring Script is a tool designed to track and analyze the growth of an Oracle database over time. This script captures essential metrics and information related to the database’s size. It plays a crucial role in helping database administrators (DBAs) effectively manage the database’s storage, plan for future capacity needs, optimize performance, and ensure the overall health and stability of the Oracle database environment. Importance of Tracking Database Growth: By using this script, DBAs can analyze these metrics to make informed decisions about capacity planning, performance…
Category: Oracle Database General
PL/SQL package SYS.DBMS_BACKUP_RESTORE version is not currentPL/SQL package SYS.DBMS_RCVMAN version 19.10.00.00 is too old
Recently, I undertook the task of upgrading an Oracle database from version 19.10 to 19.18. As the process progressed, I began to encounter a series of errors that were consistently appearing in the alert log. After diving deep into the issue, it was discovered that running a series of scripts after the upgrade would effectively solve the problem. Furthermore, it was necessary to recompile the invalid packages. Without any delay, I proceeded to execute the specified scripts and recompile the invalid objects. And voila, problem solved! I hope this post…
Enable online status for all Oracle database datafiles
I have executed a database migration by transitioning from a physical active data guard to a primary database. Subsequent to the migration, I observed that several data files were offline, as evidenced below: Modifying the status of each individual data file would require a substantial amount of time. To provide an illustrative example: In order to streamline the operation, I devised a PL/SQL procedure that effectively places all data files offline across all tablespaces within the database, subsequently modifying their statuses to online, as illustrated below: I hope this post…
Storing Information from ChatGPT in Oracle Database Container using Python and Jupyter Notebook
In this post, I will be creating Python code using Jupyter Notebook to store information from ChatGPT in an Oracle Database within a Docker container. The objective is to showcase how an application can retrieve various types of data from an AI-based tool. Additionally, the idea behind this is to illustrate how the implementation of supercomputers can further optimize this infrastructure. By utilizing the Python programming language and Jupyter Notebook, we can develop code that captures and stores information generated by ChatGPT. This code will serve as a demonstration of…
Installing Oracle Database on macOS using Oracle Docker Images
Technology is constantly evolving, and with it, the methods of installation have changed. For DBAs who once relied on CDs or diskettes to install Oracle databases, the ability to quickly and easily create and deploy a database using Docker images provided by Oracle is truly impressive. In this post, I will cover the deployment of Oracle database 18.4 using the free and simplified edition, Oracle Express, on MacOS Monterrey 12.6.5. To begin, I would like to share the necessary tools that one must download in order to achieve this goal.…
Redo log switch frequency
I was managing an environment where we needed to investigate the redo log switch frequency in our environment due to some graph spikes visualized using Grafana dashboards. A simple SELECT command using the view V$LOG_HISTORY is required to accomplish this goal. Therefore, below is presented this SQL SELECT command and the output: I hope this post helps you! brunorsHi! I am Bruno, a Brazilian born and bred, and I am also a naturalized Swedish citizen. I am a former Oracle ACE and, to keep up with academic research, I am…
Archive log not deleting within retention policy
I was managing an ORACLE RAC database configured with Oracle Data Guard when I discovered the archive log was not being deleted after the retention policy of 2 days in our backup configuration. Therefore, I started the investigation by collecting some information from the alert log. And the first initiative I took was to verify if the database had been deleting old archives when there was a space pressure in the recovery area as below: It is a cheerful and ordinary Oracle database approach to automatically deleting unneeded files. The…
Managing the availability of a portable collection of schemas, schema objects, and non-schema objects in an Oracle multitenant database
This post serves as a reference to close and open PDB databases. I have been mentoring some colleagues on the way to a data and database management career. As we have been managing Oracle multitenant environments quite often, I decided to create an example where they can easily visualize and have a reference on it. I made another blog post where one can imagine the existence of PDBs (https://www.techdatabasket.com/2018/11/08/how-to-check-if-my-database-is-a-cdb-database-or-not/). Thus, follow below is the representation of the closing and opening of a database instance named TECHDB in an Oracle RAC…
Enabling Active Data Guard in Physical Standby Database
Active Data Guard is the option when the standby database is configured to be in its status open with read-only mode. As explained below in the white paper “Oracle (Active) Data Guard 19c Real-Time Data Protection and Availability,” there are some benefits, dated March 2019: With this in mind, the current post is about enabling your Physical Standby database as an Active Data Guard. Taking as a primary step that you already have a configured Physical Standby database, this post follows the procedures below: All these steps mentioned above, except…
Index WRH$_SYSMETRIC_HISTORY_INDEX Status Unusable After Database Upgrade From 12c To 19c
Upgrading Oracle database 12.2 to 19.10 came with some surprises, and one of them was the invalid status of the index WRH$_SYSMETRIC_HISTORY_INDEX owned by the user SYS. Rebuilding the index helped only temporarily, so I decided to recreate the index by following the procedure below: — Confirmation of the invalid index: — Action plan: For more information, please check the following MOS notes below: Index WRH$_SYSMETRIC_HISTORY_INDEX Status Unusable (Doc ID 2426391.1)WRH$_SYSMETRIC_HISTORY_INDEX Index Does Not Get Partitioned After Database Upgrade From 12c To 19c (Doc ID 2777641.1)Index WRH$_SYSMETRIC_HISTORY_INDEX Status Unusable (Doc…