Here are 100 tricky interview questions tailored for a Senior Oracle DBA role. These questions span a wide range of topics, including performance tuning, backup and recovery, high availability, security, and real-world troubleshooting scenarios.
Performance Tuning and Optimization
What are the main differences between hard parsing and soft parsing, and how can you reduce hard parsing in a database?
- Answer: Hard parsing involves creating a new execution plan, while soft parsing reuses an existing one. Use bind variables to reduce hard parsing.
How would you approach SQL query tuning if the AWR report shows high
db file scattered read
waits?- Answer: Investigate full table scans, ensure proper indexing, and consider partitioning large tables.
What is a SQL Plan Baseline, and how does it help in stabilizing execution plans?
- Answer: SQL Plan Baseline stores known good execution plans to prevent regressions. It allows only verified plans to be used.
How does the
OPTIMIZER_INDEX_COST_ADJ
parameter influence query optimization?- Answer: It adjusts the cost of index access paths relative to full table scans, encouraging the optimizer to favor indexes more or less based on its value.
Explain how histogram statistics help in query optimization.
- Answer: Histograms provide detailed distribution information for skewed data, helping the optimizer choose better execution plans.
How do you handle a situation where an execution plan changes unexpectedly, causing performance degradation?
- Answer: Use SQL Plan Baselines, SQL Profiles, or force the old plan using hints. Investigate why the plan changed (e.g., new statistics, parameter changes).
What is Adaptive Query Optimization in Oracle, and when is it useful?
- Answer: Adaptive Query Optimization allows Oracle to adjust execution plans dynamically based on runtime statistics. It's useful in complex queries where initial estimates might be incorrect.
How can you monitor and tune the PGA memory usage in Oracle?
- Answer: Use the
V$PGASTAT
view to monitor PGA memory usage and adjust thePGA_AGGREGATE_TARGET
andWORKAREA_SIZE_POLICY
parameters accordingly.
- Answer: Use the
What is the significance of the
DB_FILE_MULTIBLOCK_READ_COUNT
parameter in tuning full table scans?- Answer: It determines the number of blocks read in one I/O operation during full table scans. Increasing it can improve performance for large table scans.
How do you identify and resolve contention caused by buffer busy waits?
- Answer: Check
V$SESSION_WAIT
for buffer busy waits, identify the hot blocks, and consider reducing contention by optimizing SQL, increasing freelists, or using partitioning.
- Answer: Check
What are the implications of the
CURSOR_SHARING
parameter, and when should it be set toFORCE
?- Answer: Setting
CURSOR_SHARING
toFORCE
allows similar SQL statements to share cursors, reducing hard parses. It should be used when SQL statements have literals instead of bind variables.
- Answer: Setting
How does the Oracle database handle row chaining and migration, and how can you mitigate their effects?
- Answer: Row chaining occurs when a row exceeds the block size, and row migration happens when a row is updated and moved to a different block. Use appropriate PCTFREE settings and reorganize tables to mitigate their effects.
What is the role of the
DB_CACHE_ADVICE
view in Oracle performance tuning?- Answer:
DB_CACHE_ADVICE
provides recommendations on how changes to the buffer cache size would affect hit ratios, helping DBAs adjust cache sizes appropriately.
- Answer:
How do you optimize Oracle's redo and undo generation in a high-transaction environment?
- Answer: Optimize SQL to reduce unnecessary redo and undo, use batch commits, and size redo log files and undo tablespace appropriately.
Explain the concept of SQL Plan Directives and how they affect query execution.
- Answer: SQL Plan Directives are automatically created by the optimizer to correct misestimations. They help the optimizer make better decisions for future queries.
What is the impact of
index clustering factor
on performance, and how can you reduce it?- Answer: The clustering factor measures how well-ordered the data is in relation to the index. A high clustering factor can lead to poor performance, and it can be reduced by reorganizing the table or using partitioning.
What tools and views do you use to analyze a slow-running query in Oracle?
- Answer: Use
EXPLAIN PLAN
,AUTOTRACE
,SQL Monitoring
, andV$SQL_PLAN
, combined with AWR reports to analyze slow-running queries.
- Answer: Use
How would you tune a query with high
log file sync
wait times?- Answer: Investigate commit frequency, disk I/O performance for redo logs, and network latency if using remote log shipping. Batch commits can reduce
log file sync
waits.
- Answer: Investigate commit frequency, disk I/O performance for redo logs, and network latency if using remote log shipping. Batch commits can reduce
What is the purpose of Oracle's
DBMS_STATS.GATHER_SYSTEM_STATS
procedure?- Answer: It gathers system-level statistics like CPU and I/O performance, which helps the optimizer generate better execution plans.
What are the advantages of using Exadata Smart Scans for query performance?
- Answer: Exadata Smart Scans allow filtering and column projection at the storage level, reducing the amount of data sent to the database server and improving query performance.
Backup and Recovery
How does Oracle's RMAN handle backup compression, and what are the different compression algorithms available?
- Answer: RMAN offers basic, ZLIB, BZIP2, and ZSTANDARD compression algorithms. Compression reduces backup size but increases CPU usage during the backup process.
What is the difference between
CUMULATIVE
andINCREMENTAL
level 1 backups in RMAN?- Answer: A cumulative level 1 backup backs up all changes since the last level 0 backup, while an incremental level 1 backup only backs up changes since the last level 1 backup.
How would you recover from the loss of a critical datafile if no backup is available?
- Answer: Use RMAN to perform block-level recovery if partial backups exist. If no backups exist, attempt to recover using archived redo logs, or as a last resort, restore from an export or manually reconstruct the lost data.
What is the purpose of the
DBMS_FLASHBACK
package, and how does it differ from traditional recovery?- Answer:
DBMS_FLASHBACK
allows you to view or recover data as it existed at a specific point in time without restoring from backup. It's more efficient than traditional recovery as it uses undo data instead of restoring files.
- Answer:
How do you configure and use Oracle Data Pump for both export and import operations?
- Answer: Use the
expdp
andimpdp
utilities with parameters likeDIRECTORY
,DUMPFILE
, andLOGFILE
to perform export and import operations. Data Pump offers faster performance and better options compared to the traditionalexp
andimp
.
- Answer: Use the
How do you recover an Oracle database from an inconsistent backup?
- Answer: Perform media recovery using RMAN and apply all necessary redo logs to make the database consistent.
What are the pros and cons of using
ARCHIVELOG
mode versusNOARCHIVELOG
mode?- Answer:
ARCHIVELOG
mode allows point-in-time recovery and recovery from media failures, whileNOARCHIVELOG
mode has better performance but only allows for complete recovery from backups.
- Answer:
What is the difference between hot backups and cold backups, and when would you use each?
- Answer: Hot backups are taken while the database is running and allow continuous operation, while cold backups require the database to be shut down. Use cold backups when downtime is acceptable and for full consistency.
Explain the use of the
RESTORE POINT
feature in Oracle for database recovery.- Answer: A restore point is a named snapshot of the database's state at a particular time. It can be used with Flashback Database to revert to that point, allowing easy recovery from logical errors.
How does Oracle RAC handle backup and recovery operations across multiple nodes?
- Answer: RMAN can perform backups from any RAC node, and you can configure RMAN to distribute backup operations across multiple nodes for load balancing. Recovery can also be performed from any node, with coordination handled by the cluster.
High Availability
What are the different types of Oracle Data Guard configurations, and when would you use each?
- Answer: Oracle Data Guard supports physical standby (for disaster recovery), logical standby (for reporting), and snapshot standby (for testing). Choose based on the required balance between availability and functionality.
Explain the difference between
Maximum Protection
,Maximum Availability
, andMaximum Performance
Data Guard modes.- Answer:
- Maximum Protection: Guarantees no data loss but may cause downtime if the standby becomes unavailable.
- Maximum Availability: Similar to Maximum Protection, but allows operation with a possible lag if the standby is unavailable.
- Maximum Performance: Prioritizes performance over synchronization, with the potential for some data loss.
How do you switch roles between the primary and standby databases in Oracle Data Guard?
- Answer: Use the
SWITCHOVER
command to gracefully switch roles, ensuring no data loss. In case of a disaster, useFAILOVER
to promote the standby as the new primary.
- Answer: Use the
What is the purpose of the
Fast-Start Failover
feature in Oracle Data Guard?- Answer: Fast-Start Failover automatically triggers a failover to the standby database without DBA intervention if the primary database becomes unavailable, minimizing downtime.
Explain the architecture and benefits of Oracle RAC.
- Answer: Oracle RAC provides clustering and load balancing for high availability and scalability. Multiple instances share the same database, ensuring continuous availability in case one instance fails.
How do you handle split-brain scenarios in Oracle RAC, and what mechanisms are in place to prevent it?
- Answer: Oracle RAC uses the voting disk and network heartbeats to detect and prevent split-brain scenarios. If a split-brain is detected, Oracle Clusterware will automatically reboot the offending nodes to restore consistency.
What are the differences between Oracle Streams and Oracle GoldenGate?
- Answer:
- Oracle Streams: An older, deprecated technology for data replication within Oracle databases.
- Oracle GoldenGate: A more flexible and powerful tool for real-time data replication across heterogeneous environments.
How does Oracle Grid Infrastructure provide high availability for Oracle databases?
- Answer: Oracle Grid Infrastructure manages cluster resources, including Oracle RAC databases. It provides high availability by automatically failing over services, databases, and nodes in case of failures.
What is Oracle Sharding, and how does it differ from Oracle RAC?
- Answer: Oracle Sharding partitions data across multiple databases (shards), each of which operates independently. Unlike RAC, which provides a single database across nodes, sharding provides horizontal scalability and geographically distributed databases.
Explain how
Service Availability
is managed in an Oracle RAC environment.- Answer: Services allow you to define workloads in RAC and assign them to specific instances. Oracle Clusterware manages service availability, ensuring services are started on available nodes and redistributed in case of node failure.
Security
How do you implement Oracle Transparent Data Encryption (TDE) for securing sensitive data?
- Answer: TDE encrypts data at rest using encryption keys stored in the Oracle Wallet. It can be applied at the column or tablespace level, and no application changes are required.
What is Oracle Database Vault, and how does it enhance security?
- Answer: Oracle Database Vault adds layers of security by creating realms around sensitive data, restricting privileged user access, and enforcing separation of duties within the database.
How do you secure Oracle database listener connections and prevent unauthorized access?
- Answer: Use the
TCP.VALIDNODE_CHECKING
andSECURE_REGISTER
parameters to restrict access, configure Oracle Net encryption, and enable password protection for the listener.
- Answer: Use the
What is the purpose of Oracle Label Security (OLS), and how is it implemented?
- Answer: OLS enforces row-level security by assigning labels to data and users. Access is controlled based on these labels, making it useful for environments requiring mandatory access controls.
Explain the differences between
DBMS_CRYPTO
andDBMS_OBFUSCATION_TOOLKIT
.- Answer:
DBMS_CRYPTO
is the modern package for encryption and decryption, offering more advanced algorithms and better performance compared to the olderDBMS_OBFUSCATION_TOOLKIT
, which is now deprecated.
- Answer:
How do you implement fine-grained auditing in Oracle?
- Answer: Fine-grained auditing (FGA) allows you to audit specific data access based on conditions, such as auditing access to sensitive columns or rows. Use
DBMS_FGA
to create policies for FGA.
- Answer: Fine-grained auditing (FGA) allows you to audit specific data access based on conditions, such as auditing access to sensitive columns or rows. Use
What is the purpose of Virtual Private Database (VPD) in Oracle?
- Answer: VPD allows for row-level security by dynamically adding predicates to SQL queries based on user privileges, ensuring users only see the data they are authorized to access.
How do you protect against SQL injection attacks in Oracle?
- Answer: Use bind variables, input validation, and least-privilege principles. Additionally, utilize Oracle security features like VPD, FGA, and roles to mitigate the impact of any successful injection attempts.
What is the role of Oracle Advanced Security, and what features does it include?
- Answer: Oracle Advanced Security provides data encryption (TDE, Data Redaction) and network encryption (SSL, TLS) to protect data at rest and in transit.
Explain how Oracle Unified Auditing differs from traditional auditing.
- Answer: Unified Auditing consolidates all audit trails into a single repository, providing more flexibility, better performance, and a simpler configuration compared to traditional auditing methods.
Troubleshooting and Diagnostics
How do you troubleshoot
ORA-00020: maximum number of processes exceeded
?- Answer: Increase the
PROCESSES
parameter or investigate and reduce the number of active sessions if appropriate.
- Answer: Increase the
How do you approach diagnosing slow database performance when there is no clear culprit?
- Answer: Use AWR reports, ASH, and ADDM to identify bottlenecks, review system metrics (CPU, memory, I/O), and analyze individual query performance.
What steps would you take to resolve
ORA-04031: unable to allocate memory in the shared pool
?- Answer: Increase the shared pool size, reduce hard parsing by using bind variables, and consider enabling automatic memory management (AMM) if not already in use.
How do you handle a situation where a session is consuming excessive CPU, causing performance degradation?
- Answer: Identify the session using
V$SESSION
andV$SQL
, and analyze the query being executed. Tune the query or kill the session if necessary.
- Answer: Identify the session using
How do you resolve
ORA-01555: snapshot too old
errors in a highly transactional database?- Answer: Increase the undo retention period, optimize long-running queries, and ensure sufficient undo tablespace size.
What are the common causes of
ORA-600
internal errors, and how do you approach resolving them?- Answer:
ORA-600
errors indicate internal database issues. Check the Oracle Support site with the error code details and review alert logs for further information. Applying patches or restoring from backup may be required.
- Answer:
How do you recover a database after the loss of the system tablespace?
- Answer: Restore the system tablespace from backup and apply media recovery using archived redo logs. If no backup is available, database recovery may not be possible.
How do you monitor and manage lock contention in Oracle?
- Answer: Use
V$LOCK
,V$SESSION
, andV$LOCKED_OBJECT
to identify blocking sessions and deadlocks. Resolve contention by killing sessions or optimizing application code to reduce locking.
- Answer: Use
What is the significance of the
ora-7445
error, and how should it be handled?- Answer:
ORA-7445
indicates an unexpected exception (e.g., a crash). Check the trace files for details and involve Oracle Support if necessary.
- Answer:
Explain the steps to troubleshoot and resolve log file contention in Oracle.
- Answer: Monitor
V$SYSTEM_EVENT
forlog file sync
andlog file parallel write
waits, tune redo log buffer size, and improve disk I/O performance for redo logs. Consider using faster storage (e.g., SSDs) for redo log files.
- Answer: Monitor
Data Modeling and Partitioning
How would you design a partitioning strategy for a large table with historical data that is frequently queried and updated?
- Answer: Use range partitioning based on the date column to segment historical data. Consider subpartitioning by hash for better load balancing across partitions.
What is the difference between local and global indexes in Oracle partitioning, and when would you use each?
- Answer: Local indexes are specific to each partition, while global indexes span multiple partitions. Local indexes are easier to manage with partition maintenance operations, while global indexes may be required for certain types of queries.
How do you manage partition pruning in Oracle to improve query performance?
- Answer: Ensure that queries include the partition key in their predicates. Use appropriate partitioning methods (range, list, hash) to allow Oracle to eliminate unnecessary partitions during query execution.
What is Interval Partitioning, and how does it simplify partition management?
- Answer: Interval Partitioning automatically creates partitions as needed based on a specified interval (e.g., daily, monthly). It simplifies management by eliminating the need for manual partition creation.
How do you handle large data loads into partitioned tables without impacting performance?
- Answer: Use direct-path inserts, disable indexes and constraints during the load, and load data into empty partitions to minimize contention.
Explain the concept of reference partitioning in Oracle and its use case.
- Answer: Reference partitioning allows child tables to inherit partitioning from their parent tables, ensuring that related data is co-located, which improves query performance and simplifies partition management.
What are the advantages of using virtual columns in a partition key?
- Answer: Virtual columns allow you to create partitions based on computed values without physically storing the column data. This can simplify partitioning for derived data.
How do you perform partition maintenance operations (e.g., splitting, merging) without causing downtime?
- Answer: Use online partition maintenance features to perform operations like splitting, merging, or dropping partitions while keeping the table available for queries and DML.
What are the trade-offs between composite partitioning and single-level partitioning?
- Answer: Composite partitioning provides more flexibility and finer-grained control over data distribution, but it can be more complex to manage. Single-level partitioning is simpler but may not handle all use cases effectively.
How do you implement a partitioning strategy that optimizes both query performance and data load times?
- Answer: Use partitioning to separate data that is frequently queried from data that is frequently loaded or modified. Consider using parallelism for data loads and partition pruning for queries.
Advanced Features and New Technologies
What are the benefits of using Oracle In-Memory for query performance, and how is it different from traditional indexing?
- Answer: Oracle In-Memory stores data in a columnar format in memory, allowing for faster analytical queries by eliminating the need for traditional row-based scanning. It's different from indexing because it accelerates full table scans instead of point lookups.
How do you implement and manage Oracle Database In-Memory to ensure optimal performance?
- Answer: Identify and prioritize frequently accessed data for the In-Memory Column Store (IMCS), set the appropriate size for
INMEMORY_SIZE
, and monitor performance usingV$IM_SEGMENTS
.
- Answer: Identify and prioritize frequently accessed data for the In-Memory Column Store (IMCS), set the appropriate size for
What is Oracle Multitenant, and how does it enhance database consolidation efforts?
- Answer: Oracle Multitenant allows multiple pluggable databases (PDBs) to share a single container database (CDB). It simplifies database consolidation, reduces resource usage, and makes management more efficient.
Explain the differences between non-CDB and CDB architectures in Oracle 12c and later.
- Answer: The non-CDB architecture is the traditional standalone database setup, while the CDB architecture introduces container databases that host multiple pluggable databases. The CDB architecture is more flexible and scalable, making it better suited for cloud and consolidation environments.
How do you handle resource management in a Multitenant environment to prevent one PDB from impacting others?
- Answer: Use Resource Manager to allocate CPU, I/O, and memory resources to each PDB based on business priorities. This prevents resource contention and ensures that critical PDBs have the necessary resources.
What are the advantages of using Oracle Active Data Guard compared to a regular standby configuration?
- Answer: Oracle Active Data Guard allows the standby database to be open for read-only queries while still applying redo logs from the primary database. This improves resource utilization by offloading read workloads to the standby.
How do you implement and manage Oracle Real Application Testing (RAT) to capture and replay production workloads?
- Answer: Use RAT to capture workloads from a production environment and replay them in a test environment. This allows you to test changes (e.g., upgrades, patches) without impacting production and ensures that performance and functionality are not degraded.
What is the purpose of Oracle's Automatic Storage Management (ASM), and how does it simplify storage management?
- Answer: ASM automates disk management, including striping and mirroring, and eliminates the need for third-party volume managers. It simplifies storage management by providing a unified interface for Oracle databases.
How do you migrate a non-ASM database to ASM with minimal downtime?
- Answer: Use RMAN to migrate datafiles to ASM, or use Data Pump for logical migration. You can also use Oracle’s Transportable Tablespaces feature to move data between filesystems and ASM.
Explain how Oracle’s Zero Data Loss Recovery Appliance (ZDLRA) enhances backup and recovery capabilities.
- Answer: ZDLRA ensures zero data loss by continuously capturing redo and integrating it with backups. It provides near-real-time recovery, significantly reducing the recovery window compared to traditional backups.
Troubleshooting Complex Issues
How do you handle a scenario where a database hangs, and you cannot connect through normal SQL*Plus sessions?
- Answer: Use OS tools like
oradebug
to connect with a SYSDBA privilege, generate systemstate dumps, and identify the root cause (e.g., resource contention, deadlocks).
- Answer: Use OS tools like
What steps would you take to diagnose a database-wide performance degradation with no obvious wait events?
- Answer: Check system resources (CPU, memory, I/O) using
V$SYSSTAT
and OS tools. Analyze AWR reports for system-level bottlenecks, and use SQL Monitoring to identify problematic queries.
- Answer: Check system resources (CPU, memory, I/O) using
How do you approach troubleshooting an issue where database sessions are being terminated unexpectedly with
ORA-03113
errors?- Answer: Investigate network stability, review listener logs, and check for resource limits or security policies that might be terminating sessions. Consider enabling client/server SQL tracing for further diagnosis.
How do you resolve an issue where the undo tablespace is consistently running out of space during large transactions?
- Answer: Increase the size of the undo tablespace, configure auto-extend, optimize transactions to commit more frequently, or tune the undo retention policy.
How do you troubleshoot
ORA-12560: TNS:protocol adapter error
when trying to connect to the database?- Answer: Check if the Oracle services are running, verify the environment variables (ORACLE_SID, ORACLE_HOME), and review the listener configuration.
What is the significance of
ORA-27102: out of memory
, and how do you resolve it in a Linux environment?- Answer:
ORA-27102
indicates insufficient shared memory for the Oracle instance. Adjust the kernel parameters (shmmax
,shmall
) and increase the SGA size within the system limits.
- Answer:
How do you diagnose and resolve
ORA-19809: limit exceeded for recovery files
?- Answer: Increase the size of the
db_recovery_file_dest_size
parameter, delete obsolete files, or move archived logs to another location.
- Answer: Increase the size of the
How do you handle an issue where queries are returning inconsistent results due to a corrupted index?
- Answer: Rebuild or drop and recreate the affected index. Use
DBMS_REPAIR
for further analysis and repair of the corrupted index.
- Answer: Rebuild or drop and recreate the affected index. Use
What are the steps to resolve a situation where a standby database is lagging behind the primary database by several hours?
- Answer: Check network latency, redo log shipping configuration, and apply rates on the standby. Increase parallelism in redo apply, or use incremental backups to catch up faster.
How do you recover from a scenario where the primary database has been lost, and the only available standby database is in read-only mode?
- Answer: Convert the standby to the primary using
ALTER DATABASE ACTIVATE STANDBY DATABASE
, and perform recovery with any available archived logs.
- Answer: Convert the standby to the primary using
Automation and Scripting
How do you automate database maintenance tasks like backups and statistics gathering in Oracle?
- Answer: Use Oracle Scheduler to create jobs for RMAN backups, statistics gathering, and other maintenance tasks. Oracle Enterprise Manager can also automate routine tasks.
How do you implement and manage a custom script that monitors critical database metrics and sends alerts when thresholds are crossed?
- Answer: Write shell or PL/SQL scripts that query system views like
V$SYSTEM_EVENT
orV$SYSSTAT
, then configure email notifications usingUTL_MAIL
or OS-level mail commands.
- Answer: Write shell or PL/SQL scripts that query system views like
What is the best way to automate patch management across multiple Oracle instances in a large environment?
- Answer: Use Oracle Enterprise Manager (OEM) or Ansible scripts to automate patch downloads, validation, and application across multiple instances with centralized control and reporting.
How do you use Oracle’s DBMS_SCHEDULER to manage complex job chains and dependencies?
- Answer: Use
DBMS_SCHEDULER
to define jobs, programs, and chains. Manage dependencies between jobs by specifying conditions for the execution of subsequent jobs based on the success or failure of previous ones.
- Answer: Use
How do you implement dynamic SQL in PL/SQL for complex automation tasks?
- Answer: Use the
EXECUTE IMMEDIATE
statement for single-statement dynamic SQL orDBMS_SQL
for more complex requirements like parsing, binding, and executing dynamic SQL in a controlled manner.
- Answer: Use the
What are the best practices for scripting regular health checks on Oracle databases?
- Answer: Automate health checks with scripts that monitor key metrics such as tablespace usage, invalid objects, and alert logs. Use
UTL_FILE
to log outputs, and schedule the scripts using Oracle Scheduler.
- Answer: Automate health checks with scripts that monitor key metrics such as tablespace usage, invalid objects, and alert logs. Use
How do you implement proactive monitoring for identifying potential problems before they impact the Oracle database?
- Answer: Set up monitoring tools like Oracle Enterprise Manager, Nagios, or custom scripts to track system performance, wait events, and thresholds for key metrics like CPU usage, memory, and I/O.
How do you manage and automate schema comparison and synchronization across multiple databases?
- Answer: Use Oracle SQL Developer, Oracle Data Pump, or third-party tools like Liquibase or Redgate for schema comparison and synchronization. Automate the process using shell scripts and version control integration.
What are the best practices for scheduling and automating batch jobs in a RAC environment to ensure scalability and fault tolerance?
- Answer: Use Oracle Grid Infrastructure to distribute batch jobs across RAC nodes, ensuring that jobs are balanced and can fail over to available nodes in case of a failureHow do you automate performance tuning recommendations from AWR and ADDM reports in Oracle? - Answer: Use scripts to extract tuning recommendations from AWR and ADDM reports. Automate the application of non-invasive changes like gathering statistics or adjusting initialization parameters.
- How do you automate performance tuning recommendations from AWR and ADDM reports in Oracle? - Answer: Use scripts to extract tuning recommendations from AWR and ADDM reports. Automate the application of non-invasive changes like gathering statistics or adjusting initialization parameters.