As we discussed some undo-related aspects in my previous blog post , I’ll continue the conversation here with more details about undo tablespaces and the common challenges you might encounter with them in Oracle 19c. Understanding and optimizing undo management is critical to ensuring data consistency, supporting recovery operations, and maintaining peak database performance.
Learn DBA : A Life Long Learning Experience
Sharing knowledge is the ultimate key to gaining knowledge..
The only two things that stay with you for life
are you & your knowledge !
Live while you can!
Teach & inspire while you could &
Smile while you have the teeth.. 😉
-
ASM
- Creating ASM Instance and diskgroups manually without DBCA
- 20 ASM Realtime | Interview Questions
- How to make a cold backup for database running on ASM ( using RMAN )
- Moving a Single Datafile from File System to ASM System (METHOD 1)
- Moving a Single Datafile from File System to ASM System (METHOD 2)
- Things to consider while adding new disk/ Rebalancing existing Disk Group
-
Dataguard
- Dataguard Modes
- Dataguard Modes - II
- Oracle DataGuard Setup
- invalid archived log deletion policy
- recover from the Loss of a Datafile on a Standby Database ?
- MRP terminated with ORA-00600: internal error code, arguments
- Recover archive gaps in standby database - using 2 methodss
- Gap Resolution in Dataguard
- Convert Physical Standby to Snapshot Standby and Vice Versa
- Re-create Redo-logs on Standby/ Primary
- Pre-check for DataGuard switchover Process
- ORA-19815: WARNING: db_recovery_file_dest_size
- How do you purge old archivelogs which are applied on Standby DB
- Pre-check For SWITCHOVER using DG Broker
- https://oracle-dba-help.blogspot.com/2016/03/data-guard-modes.html
- ORA-01274 : RENAME THE UNKNOW FILE IN THE STANDBY DATABASE
-
Core DBA
- Database Creation in Easy 6 Steps
- Oracle Networking
- Tablespace management
- Housekeep : Quick Tips for DBA
- Health check for DB
- ORA-12537 While Connecting To Database Via Listener
- How to identify the applied patche-set of your Oracle Home
- Accessing a schema without knowing the password
- ORA-12505: TNS:listener does not currently know of SID given in connect descriptor
- Session Related Scripts
- How to check ORA Error on DB Server – Beginner Tip
- Working with Redo Logs
- Decommission of Oracle Database
- Roles in Oracle - Managing Users
- Oracle Release Number Format
- Troubleshooting Handy-Guide
- Understanding the Upgradation Process
- Query to find the session creating more redo
- Audit in Oracle
- Troubleshooting Internal Errors and Error-Look-up Tool on MOS
- Troubleshooting Issues with Undo Tablespace
- User Management
- User Management - II
- Data Pump Gets Better
- MEMORY_TARGET Parameter
-
Must Read
- Oracle 21c: INCLUDE and EXCLUDE in Data Pump
- Behind the Scenes of COMMIT
- Data Guard Redo Transport Encryption
- Oracle 19C with ADG DML Redirection
- 19c PDB Refreshable Clones
- Solving the Mysterious Database Connection Timeouts
- How to identify the applied patche-set of your Oracle Home
- Topic need to get clear to become expert in Oracle DBA
- Working with Redo Logs
- Oracle Database Block corruption
- What happens during Instance Recovery
- Oracle Datapump Scenarios
- Troubleshooting Issues with Undo Tablespace
- General Tips to Prepare for an Oracle DBA Job Interview
- RMAN Questions
- How To..
-
Postgres Admin
- Installing PostgreSQL Server on CentOS, RHEL 6 / 7 Systems
- Creating a database in Postgres
- Initialize multiple Postgres instance on the same RHEL server
- How to stop starting of clusters while starting up services
- Setup a streaming replication
- Switchover- master server and warm standby (with streaming replication)
- All About Physical Replication and Log shipping
- PostgreSQL Upgrade and troubleshooting
- Timeline Switch issue
- Query to identify the lag in replication
- Drop table : ERROR: must be owner of relation table_name
- PgBadger
- PgCenter
- PgTune
- Internals of Toast Table
- Influencing Query Execution Plan
- Create Extension ERROR
- Find Uptime in PostgreSQL
- Set DB Timezone
- Clear RAM Cache, Buffer
- Read-Only User in Postgres
- Everything you need to know about Streaming Replication
- Ora2Pg Migrate Oracle to Postgres
- Total Page Cost
- PostgreSQL 13 - Everything you need to know
- Startup Failure - .conf file
- All About Postgres Upgrade
- MySQL Admin
-
Oracle Tuning
- Basic Guide
- Session Related Scripts
- AWR :: Beginners Guide
- All About ASH - Active Session History
- Wait Events : checkpoint busy waits or archiver busy waits
- Find sessions performing sort operations : TEMP Tablespace occupants
- Generate ADDM task and generate its report for Tuning
- Database Performance Tuning Scripts -Keep Handy
- Buffer Busy Wait
- Simulating the Deadlock
- Latches
-
RMAN
- Steps to Schedule any RMAN Jobs In Windows Server
- ORA-01194: file 1 needs more recovery to be consistent
- Loss of Current Online Redo-Log
- RMAN "baby Steps"
- Recovery of ControlFiles
- Loss of Datafile
- Recovery from complete loss of all online redo log files
- Block Change Tracking
- RMAN Questions
- Instance Recovery
- Redundancy and Recovery window in RMAN
- Cold Backup
- Database Cloning
- Contact
- Drop Database using RMAN
- PITR to older Incarnation
- GoldenGate
- About Me
Monday, 31 March 2025
Sunday, 16 March 2025
A Deep Dive into Oracle Key Vault Features
In the world of database and application security, managing encryption keys and other sensitive credentials is paramount. Enter Oracle Key Vault (OKV)—a robust solution designed to securely store and manage encryption keys, Oracle Wallets, Java KeyStores, SSH Key pairs, and other critical secrets. Whether deployed in the Oracle Cloud Infrastructure (OCI), Azure, AWS, or on-premises, OKV offers a scalable and fault-tolerant solution for key management across various environments.
Monday, 3 March 2025
Elevate Your Oracle Database Security with Oracle Data Safe
Ensuring robust database security and compliance is a critical concern for organizations, especially when dealing with sensitive data and regulatory requirements. Oracle Data Safe provides a unified control center designed to streamline security management and compliance tasks across various environments—whether on-premises, in Oracle Cloud Infrastructure (OCI), at Cloud@Customer, or on other cloud platforms.
Saturday, 1 March 2025
Building a Kind and Effective Leadership Style: 10 Essential Traits
Monday, 24 February 2025
Guide to Managing Database During Rapid Growth: Key Strategies for Scalability and Efficiency
As your database expands, ensuring peak performance becomes increasingly complex. Whether you’re dealing with a sudden surge in transactions or expanding workloads, proactive measures are essential to maintain efficiency. Below are some key strategies to help you optimize performance and scale smoothly during rapid growth.
Sunday, 16 February 2025
From Setup to Purging: Managing Oracle's Unified Audit Trail with Ease
In the realm of Oracle database management, maintaining an effective audit trail is crucial for ensuring data integrity and security. Oracle's approach to auditing has evolved, with unified audit records now taking center stage. Here’s an in-depth look at how Oracle handles audit trails and how you can manage them effectively.
Understanding Unified Audit Records
Oracle databases generate audit records during or after the execution of audited SQL statements. These records are written to the internal relational table within the AUDSYS schema. Unlike previous releases, where audit records were stored in SecureFile LOBs, the current system utilizes a partitioned table. This partitioned table uses the EVENT_TIMESTAMP as a partition key, with a default partition interval set to one day. If the database version lacks partitioning support, the audit records are stored in a regular, non-partitioned table.
Unified audit records require significantly more disk space—about 50% more—compared to traditional audit records. It’s essential to plan for this increased storage requirement to avoid potential issues.
Real-Time and Historical Audit Policies
Unified audit policies in Oracle take effect immediately when enabled, applying to ongoing user sessions. Conversely, disabling these policies also takes immediate effect. However, changes to existing unified audit policies will only apply to new sessions, not retroactively to sessions that were already in progress.
Handling Audit Trail Failures
In scenarios where the database is unable to write audit records to the database (such as when it is read-only, when the tablespace is full or offline, or if the audit tablespace is offline), Oracle writes audit records to operating system spillover files in .bin format. These spillover files continue to receive audit records until the operating system’s disk space is exhausted. Once the disk is full, user transactions that generate audit records will fail with an ORA-02002 error.
SYSLOG Integration
Oracle provides the AUDIT_SYSLOG_LEVEL parameter to facilitate writing SYS and standard OS audit records to the system audit log using the SYSLOG utility. When AUDIT_SYSLOG_LEVEL is set and SYS auditing is enabled (AUDIT_SYS_OPERATIONS = TRUE), SYS audit records are directed to the system audit log. If standard audit records are being sent to the operating system (AUDIT_TRAIL=os), these records are also written to the system audit log. However, be aware that most SYSLOG configurations have a limitation of 1024 bytes, which means only a subset of key fields can be captured. For a complete record, refer to the UNIFIED_AUDIT_TRAIL.
Purging Unified Audit Trail
Managing disk space and keeping the audit trail efficient involves regular purging of old records. Follow these steps to purge the unified audit trail:
1. Set Last Archive Timestamp:
EXEC DBMS_AUDIT_MGMT.SET_LAST_ARCHIVE_TIMESTAMP (
AUDIT_TRAIL_TYPE => DBMS_AUDIT_MGMT.AUDIT_TRAIL_UNIFIED,
LAST_ARCHIVE_TIME => <TimeStampValue> + INTERVAL '30' DAY );
Replace <TimeStampValue> with the timestamp of the last archived record.
2. Check Last Archive Timestamp:
SELECT AUDIT_TRAIL, LAST_ARCHIVE_TS
FROM DBA_AUDIT_MGMT_LAST_ARCH_TS
WHERE AUDIT_TRAIL = 'UNIFIED AUDIT TRAIL';
Use the LAST_ARCHIVE_TS value from this query for the new <TimeStampValue> in the next step.
3. Clean the Audit Trail:
EXEC DBMS_AUDIT_MGMT.CLEAN_AUDIT_TRAIL(
AUDIT_TRAIL_TYPE => DBMS_AUDIT_MGMT.AUDIT_TRAIL_UNIFIED,
USE_LAST_ARCH_TIMESTAMP => TRUE );
By understanding and effectively managing these aspects of Oracle’s audit trail, you can ensure that your database remains secure, compliant, and performant. Regular monitoring and maintenance of the audit trail will help prevent potential issues and ensure that your auditing processes run smoothly.
Saturday, 15 February 2025
10 Common Oracle Performance Mistakes and How to Avoid Them
Sunday, 2 February 2025
Oracle TDE Demystified: Safeguarding Sensitive Data in Your Database
Sunday, 26 January 2025
A Step-by-Step Guide to Identifying and Resolving Performance Bottlenecks
Sunday, 19 January 2025
Navigating Human Struggles: A Tale of Empathy in the Workplace
In the bustling world of office dynamics and performance evaluations, there lies a crucial juncture where empathy meets professionalism. Recently, I found myself at such a crossroads during a candid 1:1 performance review with one of my employees. What transpired during this encounter not only reinforced the essence of our organizational culture but also underscored the importance of extending compassion beyond the confines of the workplace.
Sunday, 5 January 2025
Mastering SQL Performance with SQL Plan Management
In my previous blogpost, we delved into the complete details on loading a SQL Plan with its Plan Hash Value. SQL Plan Management (SPM) is a powerful feature designed to ensure consistent and optimized SQL performance by managing execution plans proactively. By leveraging SQL Plan Baselines, SPM helps maintain query efficiency and reliability, making it an essential tool for database administrators. Here's a closer look at how SPM works, its benefits, and its role in maintaining SQL performance.
Saturday, 21 December 2024
Transforming Database Operations with Oracle Autonomous Database: A Comprehensive Overview
Oracle Autonomous Database is revolutionizing database management by introducing a suite of advanced features designed to simplify operations, enhance performance, and provide unmatched reliability. Here’s a closer look at the key features that make Oracle Autonomous Database a game-changer in the world of data management.
Monday, 16 December 2024
Vector Databases Explained: A New Era for Unstructured Data Handling
In the evolving landscape of data management, vector databases have emerged as a revolutionary tool for storing and retrieving complex data objects. Unlike traditional databases that rely on structured data and keyword-based search, vector databases operate in a completely different paradigm, utilizing numerical representations known as vector embeddings. This innovative approach opens up new possibilities for handling unstructured and semi-structured data like images, text, and sensor data, making vector databases an essential component in modern AI-driven applications.
Sunday, 1 December 2024
Addressing Query Slowness in PostgreSQL: A Comprehensive Guide
Monday, 25 November 2024
How to Check CPU Core Count in Oracle: Essential Queries for Performance Tuning
Saturday, 23 November 2024
Exploring the Key Differences Between pglogical and Native Logical Replication in PostgreSQL
Hey, PostgreSQL enthusiasts! 🌟 Ready to dive into the fascinating world of logical replication?
Sunday, 17 November 2024
Optimizing Oracle Databases with Huge Pages
Memory management plays a critical role in any operating system (OS), providing lower latency and higher throughput. Even though memory is volatile, it significantly reduces data access times compared to disk I/O. This is especially true for databases, where the size of memory can have a profound effect on performance. A crucial aspect of memory management is how the kernel manages memory pages. Here, we'll dive into how Oracle databases benefit from configuring Huge Pages, a feature that addresses the challenges of large memory environments.
Sunday, 10 November 2024
Oracle - A Quick-Action Guide for Performance Issues
In the world of application management, performance issues are inevitable. While you might have a solid methodology for establishing and improving application performance, emergencies demand a different approach. When a system suddenly shifts from being reliable and predictable to sluggish and unresponsive, immediate action is required to restore normal service.
Responding to Performance Emergencies
When faced with a performance emergency, the first priority is to quickly identify what has changed and take corrective action. Here’s how to navigate through these high-pressure situations effectively:
1. Survey the Problem and Gather Symptoms
Begin by surveying the performance problem to understand the symptoms:
- User Feedback: Get insights from users about how the system is underperforming. Determine whether the issue is related to throughput, response time, or another metric.
- Identify Changes: Ask the critical question, "What has changed since the system last performed well?" While this might seem straightforward, getting accurate answers during an escalated situation can be challenging. Look for objective reference points, such as statistics or log files, to compare the system's performance before and after the issue arose.
- Use Diagnostic Tools: Leverage automatic tuning features and tools like Oracle Enterprise Manager Cloud Control to diagnose the problem. These tools can help identify top SQL queries and sessions that may be contributing to the performance issue.
2. Conduct a Sanity Check on Hardware Utilization
Next, check the hardware utilization across all components of the application system:
CPU, Disk, Memory, and Network Performance: Determine where the highest CPU utilization is occurring and assess disk, memory, and network performance. This quick analysis will help you identify which tier of the system—application, database, or another component—is causing the problem.
Application vs. Database Server: If the issue appears to be with the application, shift your focus to debugging the application. If the problem lies within the database server, proceed with a more detailed analysis of the database.
3. Analyze Database Server Constraints
If the database server is the bottleneck, identify whether it’s constrained by CPU usage or wait events:
- CPU Constraints: If the database server is CPU-constrained, investigate sessions consuming high CPU resources. Use views like V$SESS_TIME_MODEL for database CPU usage and V$SESSTAT and V$SQLSTATS to identify sessions or statements with high buffer gets. Look for execution plan changes that may be causing suboptimal SQL execution, incorrect initialization parameters, or algorithmic issues due to recent code changes or upgrades.
- Wait Events: If the database is experiencing wait events, follow the wait events listed in V$SESSION_WAIT to diagnose what’s causing the delays. The V$ACTIVE_SESSION_HISTORY view provides a sampled history of session activity, which is useful for post-incident analysis. If there’s significant contention, especially for resources like the library cache latch, you may need to rely on historical data to understand the root cause.
4. Apply Emergency Actions
To stabilize the system, you may need to take drastic actions:
- Restrict Workload or Take Components Offline: In some cases, it might be necessary to restrict the workload on the system or take parts of the application offline to reduce the load. This could involve restarting the system or terminating processes that are consuming excessive resources.
- Service Level Implications: Be aware that these emergency actions could have service level implications, such as temporary outages or reduced functionality for users.
5. Validate System Stability
After applying emergency actions, it’s crucial to ensure the system is stable:
- Collect Reference Statistics: Once the system is stabilized, gather a new set of reference statistics for the database. This will help in future performance analysis and in ensuring that the system remains stable.
- Long-Term Performance Improvement: While the immediate issue may be resolved, the work isn’t over. Follow a rigorous performance improvement method to fully restore functionality and user access. This might involve significant reengineering of the application or other components.
Conclusion
Performance emergencies require a swift and methodical approach to bring a system back to normal operation. By following these steps, you can quickly diagnose the problem, apply necessary fixes, and stabilize the system. Remember, keeping detailed notes throughout the process is essential, as it provides valuable insights for both immediate resolution and future prevention. Just like a doctor documenting patient records, your notes will serve as a critical reference for ongoing performance management.
Read more :
DBA's Guide to Troubleshooting Database/Query Performance Problems
&
Addressing Client-Reported Slowness: A DBA's Guide
Wednesday, 23 October 2024
Restore Point in Oracle: A Tool for Flashback Recovery and Controlled Testing
Monday, 14 October 2024
Addressing Client-Reported Slowness: A DBA's Guide
Sunday, 6 October 2024
Exploring the Features of Oracle Autonomous Database
- Automated Index Management: The system automates key index management tasks such as creating, rebuilding, and dropping indexes, adapting dynamically to changes in application workloads.
- Dynamic Resource Allocation: As your workload or storage demands grow, Oracle Autonomous Database can automatically scale CPU, I/O resources, and additional storage to meet these needs efficiently.
- Frequent Statistics Gathering: By default, the database gathers real-time statistics every 15 minutes, ensuring that performance optimization is based on the most current data.
- Real-Time Statistics Collection: While conventional DML workloads are running, Oracle Autonomous Database collects real-time statistics to keep performance finely tuned.
- SQL Plan Management: The system automatically assesses and identifies opportunities for SQL plan changes, optimizing performance for frequently executed SQL statements.
- Resource Quarantine for SQL Statements: To manage resource consumption, Oracle Autonomous Database can quarantine execution plans of SQL statements that excessively use system resources, ensuring balanced performance.
- Automatic Partitioning: The database analyzes and automates the creation of partitions for tables and indexes, improving both performance and manageability.
- Support for Complex Data Types: It supports complex types in ORC, Avro, and Parquet structured files, enhancing the flexibility of data handling and querying.
- Apache ORC Format Support: For seamless data loading and querying, the database supports the Apache ORC format, making it easier to work with data in object storage.
- Preinstalled RMAN Recovery Catalog: The Recovery Manager (RMAN) recovery catalog is preinstalled in the schema RMAN$CATALOG, based on the latest Oracle Database version, streamlining backup and recovery operations.
- Automatic Initialization Parameter Configuration: When provisioning a new database, Oracle Autonomous Database automatically configures initialization parameters. You can still modify these parameters if necessary.
- Autonomous Data Guard: This feature provides a standby (peer) database to ensure data protection and disaster recovery, enhancing the reliability of your Autonomous Database instance.
Exploring REGEXP_LIKE in Oracle: Making Pattern Matching Fun!
Tuesday, 1 October 2024
From Generic to Specific: How ERROR_MESSAGE_DETAILS Enhances Error Resolution and Performance
In the world of database management, efficiency and precision are paramount. One of the most powerful tools at your disposal for enhancing error diagnostics and optimizing performance is the ERROR_MESSAGE_DETAILS feature. This often-overlooked gem can transform how you handle and resolve errors, leading to more robust and performant databases.
Why ERROR_MESSAGE_DETAILS Matters
Imagine this: You're managing a complex Oracle database, and an error occurs. You get a generic error message that leaves you guessing about the root cause. This scenario can lead to prolonged downtime and frustration. Enter ERROR_MESSAGE_DETAILS—a feature designed to change the game.
Unveiling the Power of Detailed Error Messages
ERROR_MESSAGE_DETAILS provides an in-depth look at errors, offering insights that go beyond surface-level descriptions. Here’s how it makes a difference:
- Enhanced Precision: Detailed error messages provide specific information about what went wrong. Whether it’s a syntax error, data integrity issue, or system misconfiguration, you get a clearer picture, which translates into faster troubleshooting.
- Swift Resolution: With more precise error details, you can zero in on the problem quicker. This means less time diagnosing issues and more time implementing effective solutions, ultimately reducing system downtime.
- Performance Optimization: Detailed error information helps you understand performance bottlenecks better. By identifying exact issues, you can take targeted actions to optimize performance, improving the efficiency of your database operations.
- Smarter Debugging: Developers and DBAs benefit from enhanced error insights by refining code and database configurations. This results in more resilient applications and smoother database performance.
How to Leverage ERROR_MESSAGE_DETAILS
To make the most of this feature, ensure that:
1. Error Logging is Enabled: Set up comprehensive error logging to capture detailed messages.
2. Utilize Diagnostic Tools: Use Oracle’s diagnostic views like DBA_ERRORS, V$DIAG_INFO, and V$SESSION to access and interpret detailed error information.
3. Monitor and Act: Regularly review error logs and diagnostics to proactively address issues and optimize performance.
Conclusion
Incorporating ERROR_MESSAGE_DETAILS into your database management strategy is like having a high-resolution lens on your error diagnostics. It empowers you with the knowledge needed to tackle issues head-on, optimize performance, and keep your database running smoothly. Embrace this feature, and watch your database management practices soar to new heights!
So, are you ready to revolutionize your approach to error handling? Dive into ERROR_MESSAGE_DETAILS and take control of your database like never before. 🚀
Sunday, 29 September 2024
Navigating Oracle Licensing for Data Recovery Environments ( Oracle Licensing DataGaurd )
Sunday, 15 September 2024
Oracle to Postgres Migration: A Whirlwind Adventure! 🌪️
Set sail on a daring voyage from the shores of Oracle to the exotic lands of Postgres migration! Embark on a journey of database transformation as we delve into the intricacies of migrating from Oracle to Postgres. 🚀🔍Discover essential tips and strategies for seamless conversion, ensuring a smooth transition between these powerful database systems.