<?xml version="1.0" encoding="UTF-8" standalone="no"?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:blogger="http://schemas.google.com/blogger/2008" xmlns:gd="http://schemas.google.com/g/2005" xmlns:georss="http://www.georss.org/georss" xmlns:openSearch="http://a9.com/-/spec/opensearchrss/1.0/" xmlns:thr="http://purl.org/syndication/thread/1.0"><id>tag:blogger.com,1999:blog-4295570291735945398</id><updated>2026-02-22T16:12:45.995+04:00</updated><category term="Oracle"/><category term="Linux"/><category term="ASM"/><category term="Enterprise Manager"/><category term="Rman"/><category term="Index"/><category term="CONTROLFILE"/><category term="OEM"/><category term="oracle database"/><category term="physical standby"/><category term="11g"/><category term="Oracle Linux"/><category term="RAC"/><category term="tablespace"/><category term="Data Guard"/><category term="ORA-00600"/><category term="ORA-06512"/><category term="PL/SQL"/><category term="VMware"/><category term="crontab"/><category term="dataguard"/><category term="disks"/><category term="hostname"/><category term="impdp"/><category term="linux system"/><category term="lock"/><category term="snapshot"/><category term="sqlserver"/><category term="standby"/><category term="ASM disks"/><category term="DGMGRL"/><category term="Exadata"/><category term="High Availabilty"/><category term="JOBS"/><category term="ORA-01031"/><category term="ORA-01078"/><category term="Oracle Exadata"/><category term="Oracle Text"/><category term="Partition"/><category term="Upgrade"/><category term="Windows"/><category term="alert.log"/><category term="db_link"/><category term="domain indexes"/><category term="expdp"/><category term="filesystem"/><category term="recovery area"/><category term="schedule in cron in linux"/><category term="sqlplus"/><category term="table"/><category term="tfa"/><category term="trace file analyzer"/><category term="tuning"/><category term="/dev/oracleasm/disks"/><category term="/etc/oraInst.loc"/><category term="10g"/><category term="12c"/><category term="32 bit"/><category term="64 bit"/><category term="7 days"/><category term="A lot of failed login attempts in the last 30 minutes"/><category term="ASMSNMP"/><category term="Assembly"/><category term="Audit"/><category term="Automatically start oracle database on linux"/><category term="BLOB"/><category term="BLOB size"/><category term="Bug: /dev/shm does not use /etc/fstab attributes after reboot in RHEL 6"/><category term="CELL-01514"/><category term="CLOB"/><category term="CLOB size"/><category term="CRS"/><category term="CRS-0184"/><category term="CRS-0184: Cannot communicate with the CRS daemon CRS-4639: Could not contact Oracle High Availability Services"/><category term="CRS-4124"/><category term="CRS-4639"/><category term="Cell"/><category term="Change ASM disk group from normal redundancy to external redundancy"/><category term="Change network device name from eth1 back to eth0"/><category term="Cloud control"/><category term="Configure FTP server on Linux"/><category term="Could not validate asmsnmp password due to following error ora-01031:insufficient privileges"/><category term="DBID"/><category term="DBMS_SCHEDULER"/><category term="DBNAME"/><category term="DIM-00014"/><category term="DIM-00014: Cannot open the Windows NT Service Control Manager"/><category term="DROP ASSEMBLY failed because is referenced by object"/><category term="DYNAMIC SQL Statements"/><category term="Database Link"/><category term="Duplicate"/><category term="Duplicate database from ASM to non ASM Database using RMAN"/><category term="During Installation ASM disks not shown"/><category term="EM"/><category term="EXECUTE IMMEDIATE"/><category term="EXECUTE IMMEDIATE ORA-01031: insufficient privileges"/><category term="Enterprise Manager - perl: warning: Setting locale failed"/><category term="Expired password"/><category term="FTP"/><category term="Got ORA-1013 while running PLSQL"/><category term="Grid Infrastructure"/><category term="Growth SYSAUX"/><category term="How To Change Instance name in Oracle"/><category term="How To Resize /dev/shm In Linux"/><category term="How To change database name in Oracle Database?"/><category term="How to Change Hostname in Linux"/><category term="How to check oracle database is either 32 bit or 64 bit"/><category term="How to clear alerts in enterprise manager (database control)"/><category term="How to delete duplicate rows in oracle database"/><category term="How to re-open expired oracle database account without change password"/><category term="How to stop/kill expdp/impdp processes"/><category term="How to use crontab in linux"/><category term="INS-30131"/><category term="Increase disk size in Oracle Linux on VMware"/><category term="Index size"/><category term="Infiniband Switch"/><category term="Instead bash-3.2$ hostname"/><category term="LC_ALL =(unset)"/><category term="Listener"/><category term="MS SQL Server"/><category term="No ADR base is set"/><category term="OEM sent emails alert history"/><category term="ORA-00000"/><category term="ORA-00000: normal"/><category term="ORA-00230"/><category term="ORA-00230: operation disallowed: snapshot control file enqueue unavailable"/><category term="ORA-00245"/><category term="ORA-00845"/><category term="ORA-00845: MEMORY_TARGET not supported on this system"/><category term="ORA-01000: maximum open cursors exceeded"/><category term="ORA-01012"/><category term="ORA-01012: not logged on"/><category term="ORA-01034"/><category term="ORA-01078: failure in processing system parameters ORA-29701: unable to connect to Cluster Synchronization Service"/><category term="ORA-01110"/><category term="ORA-01111"/><category term="ORA-01157"/><category term="ORA-01194"/><category term="ORA-01450"/><category term="ORA-01450: maximum key length (3215) exceeded"/><category term="ORA-01502"/><category term="ORA-01502: index or partition of such index is in unusable state"/><category term="ORA-01565"/><category term="ORA-01591"/><category term="ORA-01591: lock held by in-doubt distributed transaction"/><category term="ORA-01628"/><category term="ORA-01628: max # extents (32765) reached for rollback segment"/><category term="ORA-01873"/><category term="ORA-01873: the leading precision of the interval is too small"/><category term="ORA-01950"/><category term="ORA-01950: no privileges on tablespace"/><category term="ORA-02050"/><category term="ORA-02050: transaction rolled back"/><category term="ORA-03113"/><category term="ORA-03113: end-of-file on communication channel"/><category term="ORA-04021"/><category term="ORA-04021: Timeout occurred while waiting to lock object"/><category term="ORA-04052"/><category term="ORA-04098"/><category term="ORA-04098: trigger 'SYS.XDB_PI_TRIG' is invalid and failed re-validation"/><category term="ORA-06510"/><category term="ORA-06541"/><category term="ORA-06553"/><category term="ORA-08104"/><category term="ORA-08104: this index object ##### is being online built or rebuilt"/><category term="ORA-09817"/><category term="ORA-09817: Write to audit file failed"/><category term="ORA-1013"/><category term="ORA-10560"/><category term="ORA-10567"/><category term="ORA-12012"/><category term="ORA-12516"/><category term="ORA-12547: TNS:lost contact"/><category term="ORA-12720"/><category term="ORA-12720: operation requires database is in EXCLUSIVE mode"/><category term="ORA-16038"/><category term="ORA-16038: log cannot be archived ORA-19809: limit exceeded for recovery files"/><category term="ORA-16047"/><category term="ORA-16751"/><category term="ORA-16854"/><category term="ORA-17503"/><category term="ORA-19606"/><category term="ORA-19606: Cannot copy or restore to snapshot control file"/><category term="ORA-19809 flash_recovery_area"/><category term="ORA-20001"/><category term="ORA-21561"/><category term="ORA-21561: OID generation failed"/><category term="ORA-27123"/><category term="ORA-27369"/><category term="ORA-28040"/><category term="ORA-28040 no matching authentication protocol"/><category term="ORA-29283"/><category term="ORA-29283 expdp"/><category term="ORA-29701"/><category term="ORA-29857"/><category term="ORA-29857: domain indexes and/or secondary objects exist in the tablespace"/><category term="ORA-29907"/><category term="ORA-29907 : found duplicate labels in primary invocations"/><category term="ORA-32000"/><category term="ORA-32000: write to SPFILE requested but SPFILE is not modifiable"/><category term="ORA-38856"/><category term="ORA-39000"/><category term="ORA-39000: bad dump file specification"/><category term="ORA-39001"/><category term="ORA-39001: invalid argument value"/><category term="ORA-39002"/><category term="ORA-39070"/><category term="ORA-39142"/><category term="ORA-39142: incompatible version number 5.1 in dump file"/><category term="ORA-39700"/><category term="ORA-39700: database must be opened with upgrade option"/><category term="ORA-48216"/><category term="ORA-55641"/><category term="ORA-55641: Cannot drop tablespace used by Flashback Data Archive"/><category term="Opatch"/><category term="Oracle Enterprise Manager Cloud Control 12c Release 2 Installation"/><category term="Oracle SQL Developer Unable To Find Java Virtual Machine"/><category term="Oracle Text index size"/><category term="Oracle database 12c"/><category term="Oracle install"/><category term="PAGELATCH_SH"/><category term="PAGELATCH_UP"/><category term="PLS-1"/><category term="PLS-907"/><category term="PLS-907 cannot load library unit"/><category term="PLS-908"/><category term="PRODUCT_USER_PROFILE"/><category term="PUPBLD.SQL"/><category term="Package"/><category term="QOpatch"/><category term="RMAN-03009"/><category term="RMAN-06207"/><category term="RMAN-06208"/><category term="RMAN-06210"/><category term="RMAN-06211"/><category term="RMAN-06212"/><category term="RMAN-06213"/><category term="RMAN-06214"/><category term="RMAN-06900"/><category term="RMAN-06900: WARNING: unable to generate V$RMAN_STATUS or V$RMAN_OUTPUT row"/><category term="RPM packages local repository"/><category term="Retrieve Unicode data in non-unicode database using db_link"/><category term="SQL"/><category term="SQL Developer"/><category term="SQL Server"/><category term="SQLNET.ALLOWED_LOGON_VERSION"/><category term="SQLNET.ALLOWED_LOGON_VERSION_CLIENT"/><category term="SQLNET.ALLOWED_LOGON_VERSION_SERVER"/><category term="SYS.EXP_HEAD$"/><category term="SYS.EXP_OBJ$"/><category term="SYS.EXP_STAT$"/><category term="SYSAUX"/><category term="Selinux"/><category term="Solaris"/><category term="Solaris OEM12c Agent Unreachable with Error &quot;peer not authenticated&quot;"/><category term="Step by step installation guides"/><category term="TCP protocol error"/><category term="TFA-00002"/><category term="TNS-01153"/><category term="TNS-12538"/><category term="TX - row lock contention"/><category term="Target"/><category term="Terminal too wide in Unix (solaris)"/><category term="The database is down. Please specify the host credentials to access database restart and diagnostics tools"/><category term="UNIX shell"/><category term="UNNAMED_INSTANCE"/><category term="Upgrade Oracle Database from 10g to 11g on another host"/><category term="V$DIAG_ALERT_EXT"/><category term="WARNING Recovering data file from a fuzzy"/><category term="Where is the location of alert log file in oracle"/><category term="Windows NT Service Control Manager."/><category term="XML DB"/><category term="Xlib: No protocol specified"/><category term="Xming"/><category term="[INS-30131] Initial setup required for the execution of installer validations failed"/><category term="active database"/><category term="adrci"/><category term="agent nmhs"/><category term="alert log location in oracle"/><category term="auto optimizer stats collection"/><category term="auto space advisor"/><category term="auto task"/><category term="autobackup"/><category term="blocked row"/><category term="blocking row"/><category term="bug"/><category term="certificate"/><category term="change dbid"/><category term="change dbname"/><category term="change dbname in oracle"/><category term="change hostname ASM"/><category term="change password"/><category term="characterset"/><category term="compatible"/><category term="cron.allow"/><category term="cron.deny"/><category term="crs-4995&#10;crsctl&#10;-unsupported"/><category term="custom characterset"/><category term="cvuqdisk"/><category term="cvuqdisk-1.0.10-1.rpm"/><category term="database"/><category term="database processes"/><category term="db_link from oracle to sqlserver"/><category term="dba_autotask_client"/><category term="dba_free_space"/><category term="dba_free_space slow"/><category term="dba_jobs"/><category term="dba_jobs_running"/><category term="dbms_jobs"/><category term="dbms_qopatch"/><category term="dbms_repair"/><category term="dbshut"/><category term="dbstart"/><category term="default attribute"/><category term="delete old files"/><category term="dis51pr"/><category term="disable auto tasks"/><category term="discoverer"/><category term="discoverer plus"/><category term="discoverer viewer"/><category term="disk replacement"/><category term="diskgroup"/><category term="drop Assembly"/><category term="dump"/><category term="duplicate rows"/><category term="enq: TX – allocate ITL entry"/><category term="environment variables"/><category term="equeue"/><category term="expired certificate"/><category term="extents"/><category term="find alert.log file in oracle"/><category term="find blocked row"/><category term="find blocked row with rowid"/><category term="find which row is locked in oracle"/><category term="fixed table"/><category term="flash_recovery_area"/><category term="flashback"/><category term="free global transaction table"/><category term="fstab"/><category term="how to check which row is locked in oracle"/><category term="initrans"/><category term="install tfa"/><category term="instance"/><category term="instance name"/><category term="instance_stickiness"/><category term="insufficient privileges"/><category term="interface name"/><category term="is null"/><category term="jdk"/><category term="job"/><category term="kfod"/><category term="kill expdp/impdp"/><category term="kill local=no processes"/><category term="kill users processes"/><category term="lag"/><category term="libaio"/><category term="libpthread.so.0"/><category term="listener could not find available handler"/><category term="locked row"/><category term="lost update"/><category term="lost write"/><category term="max # extents (32765)"/><category term="max_dump_file_size"/><category term="memory_target"/><category term="migrate database"/><category term="migrate oracle database from filesystem to asm"/><category term="monitoring tablespace sizes"/><category term="netbackup"/><category term="non unicode"/><category term="oem is not working after change hostname"/><category term="oms"/><category term="online index"/><category term="online rebuild"/><category term="open cursors"/><category term="ora-20013"/><category term="oraInventory"/><category term="oracle 12c"/><category term="oracle instance"/><category term="oracle online index"/><category term="oracle online index rebuild"/><category term="oratop"/><category term="orcl"/><category term="parameter file"/><category term="permissions"/><category term="permissions on inventory"/><category term="pfile"/><category term="pg_stat_statements"/><category term="physical disk to asm disk"/><category term="postgresql"/><category term="qcisSetPlsqlCtx:tzi init"/><category term="raw devices"/><category term="recyclebin"/><category term="repo"/><category term="resize datafile"/><category term="restore_point"/><category term="rollback segment"/><category term="schedule in crontab"/><category term="scheduler"/><category term="scheduler_job"/><category term="secondary objects"/><category term="server database version"/><category term="shared folder"/><category term="shared_pool"/><category term="shrink datafile"/><category term="shrink rollback segments"/><category term="snapshot standby"/><category term="some remote DBs may be in-doubt"/><category term="spfile"/><category term="sql tuning advisor"/><category term="sqlnet.ora"/><category term="srvctl"/><category term="standby redo applying"/><category term="standby redo applying error"/><category term="standby switchover"/><category term="stop expdp/impdp"/><category term="successful completion"/><category term="sysman"/><category term="table with blob"/><category term="table with clob"/><category term="tablespace sizes"/><category term="tfactl"/><category term="trace"/><category term="undo"/><category term="unicode"/><category term="username in linux console"/><category term="vi"/><category term="vi editor in SQL PLUS"/><category term="webtier"/><category term="world"/><category term="x$ table"/><category term="xwindow application"/><category term="zoneinfo"/><title type="text">DBA Catalog</title><subtitle type="html">Simple Solution</subtitle><link href="https://dbacatalog.blogspot.com/feeds/posts/default" rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml"/><link href="https://www.blogger.com/feeds/4295570291735945398/posts/default?redirect=false" rel="self" type="application/atom+xml"/><link href="https://dbacatalog.blogspot.com/" rel="alternate" type="text/html"/><link href="http://pubsubhubbub.appspot.com/" rel="hub"/><link href="https://www.blogger.com/feeds/4295570291735945398/posts/default?start-index=26&amp;max-results=25&amp;redirect=false" rel="next" type="application/atom+xml"/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image height="16" rel="http://schemas.google.com/g/2005#thumbnail" src="https://img1.blogblog.com/img/b16-rounded.gif" width="16"/></author><generator uri="http://www.blogger.com" version="7.00">Blogger</generator><openSearch:totalResults>143</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><xhtml:meta content="noindex" name="robots" xmlns:xhtml="http://www.w3.org/1999/xhtml"/><entry><id>tag:blogger.com,1999:blog-4295570291735945398.post-4768126454157888687</id><published>2025-06-27T15:09:00.000+04:00</published><updated>2025-06-27T15:09:05.794+04:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="certificate"/><category scheme="http://www.blogger.com/atom/ns#" term="expired certificate"/><category scheme="http://www.blogger.com/atom/ns#" term="OEM"/><category scheme="http://www.blogger.com/atom/ns#" term="oms"/><category scheme="http://www.blogger.com/atom/ns#" term="Oracle"/><category scheme="http://www.blogger.com/atom/ns#" term="webtier"/><title type="text">OEM stopped working and start failed with webtier could not be started</title><content type="html">&lt;p&gt;Suddenly Oracle Enterprise Manager - oem stopped working and when we are trying to start it appears error:&amp;nbsp;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;
&lt;pre&gt;$emctl start oms
Oracle Enterprise Manager Cloud Control 13c Release 5
Copyright (c) 1996, 2021 Oracle Corporation. All rights reserved.
Starting Oracle Management Server...
WebTier Could Not Be Started.
Error Occurred: WebTier Could Not Be Started.&lt;span style="font-family: Times New Roman;"&gt;&lt;span style="white-space: normal;"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;div&gt;Oracle provides a default wallet and self-signed certificate Out-Of-The-Box that is used to test the functionality of SSL.&lt;/div&gt;&lt;div&gt;These Self-Signed Certificates will expire after some time and can prevent OHS from starting. This document is provided&lt;/div&gt;&lt;div&gt;to provide a simple method to recreate this wallet.&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;Solution:&lt;/b&gt;&amp;nbsp;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;1. Stop OHS(and AdminServer if collocated. Next, move ${ORACLE_INSTANCE}/config/fmwconfig/components/${COMPONENT_TYPE}/${COMPONENT_NAME}/keystores/default/cwallet.sso&lt;/div&gt;&lt;div&gt;to cwallet.sso.expired. Basically rename it as it will be recreated.&lt;/div&gt;&lt;/div&gt;&lt;div&gt;Example:&lt;/div&gt;&lt;div&gt;
&lt;pre&gt;$ pwd
$DOMAIN_HOME_PATH/config/fmwconfig/components/OHS/ohs1/keystores/default

$ mv cwallet.sso cwallet.sso.expired
&lt;span style="font-family: Times New Roman;"&gt;&lt;span style="white-space: normal;"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div&gt;&lt;domain_home_path&gt;&lt;div&gt;2. Make sure orapki is in the $PATH variable.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Check to see if orapki is in the $PATH Environment Variable:&lt;/div&gt;&lt;div&gt;
&lt;pre&gt;$ which orapki
&lt;/pre&gt;
  
&lt;/div&gt;&lt;/domain_home_path&gt;&lt;/div&gt;

Add it to the beginning of the $PATH environmental variable:&lt;div&gt;
&lt;pre&gt;$ export PATH=$OMS_HOME/oracle_common/bin:$PATH&lt;span style="font-family: Times New Roman;"&gt;&lt;span style="white-space: normal;"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;
&lt;/div&gt;4. Execute the following commands from the directory where the old one was renamed. i.e. ${ORACLE_INSTANCE}/config/fmwconfig/components/${COMPONENT_TYPE}/${COMPONENT_NAME}/keystores/default/&lt;div&gt;
&lt;pre&gt;$ orapki wallet create -wallet . -auto_login_only (NOTE: The dot (.) is specified here as the Present Working Directory.)
Example output:

Oracle PKI Tool : Version 12.2.1.2.0
Copyright (c) 2004, 2016, Oracle and/or its affiliates. All rights reserved.

Operation is successfully completed.

- $ ls
cwallet.sso cwallet.sso.expired cwallet.sso.lck
&lt;/pre&gt;
&lt;/div&gt;
5. Now recreate the self-signed certificate using the same DN used in the original wallet.&lt;div&gt;
&lt;pre&gt;$ orapki wallet add -wallet . -dn 'CN=localhost,OU=FOR TESTING ONLY,O=FOR TESTING ONLY' -keysize 2048 -self_signed -validity 3650 -auto_login_only
(NOTE: The dot (.) is specified here as the Present Working Directory.)
Example output:

Oracle PKI Tool : Version 12.2.1.2.0
Copyright (c) 2004, 2016, Oracle and/or its affiliates. All rights reserved.

Operation is successfully completed.&lt;span style="font-family: Times New Roman;"&gt;&lt;span style="white-space: normal;"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;
&lt;/div&gt;6. Now check the wallet with the display command:&lt;div&gt;
&lt;pre&gt;$ orapki wallet display -wallet . (NOTE: The dot (.) is specified here as the Present Working Directory.)
Example output:

Oracle PKI Tool : Version 12.2.1.2.0
Copyright (c) 2004, 2016, Oracle and/or its affiliates. All rights reserved.

Requested Certificates:
User Certificates:
Subject: CN=localhost,OU=FOR TESTING ONLY,O=FOR TESTING ONLY
Trusted Certificates:
Subject: CN=localhost,OU=FOR TESTING ONLY,O=FOR TESTING ONLY

$ openssl x509 -in server.cer -noout -text
Certificate:
Data:
Version: 1 (0x0)
Serial Number:
9a:a0:bb:e2:f5:ff:3b:e8:8d:46:7a:ac:18:f3:89:39
Signature Algorithm: sha256WithRSAEncryption
Issuer: O=FOR TESTING ONLY, OU=FOR TESTING ONLY, CN=localhost
Validity
Not Before: Nov 17 15:45:08 2020 GMT
Not After : Nov 15 15:45:08 2030 GMT&lt;span style="font-family: Times New Roman;"&gt;&lt;span style="white-space: normal;"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;
&lt;/div&gt;7. Now that a new, self-signed certificate/wallet has been created, in the same directory where the old one was renamed, OHS(and AdminServer if Collocated) can be restarted successfully.</content><link href="https://dbacatalog.blogspot.com/feeds/4768126454157888687/comments/default" rel="replies" title="Post Comments" type="application/atom+xml"/><link href="https://dbacatalog.blogspot.com/2025/06/oem-stopped-working-and-start-failed-with-webtier-could-not-be-started.html#comment-form" rel="replies" title="0 Comments" type="text/html"/><link href="https://www.blogger.com/feeds/4295570291735945398/posts/default/4768126454157888687" rel="edit" type="application/atom+xml"/><link href="https://www.blogger.com/feeds/4295570291735945398/posts/default/4768126454157888687" rel="self" type="application/atom+xml"/><link href="https://dbacatalog.blogspot.com/2025/06/oem-stopped-working-and-start-failed-with-webtier-could-not-be-started.html" rel="alternate" title="OEM stopped working and start failed with webtier could not be started" type="text/html"/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image height="16" rel="http://schemas.google.com/g/2005#thumbnail" src="https://img1.blogblog.com/img/b16-rounded.gif" width="16"/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4295570291735945398.post-1217408739082563461</id><published>2024-01-26T13:22:00.000+04:00</published><updated>2024-01-26T13:22:07.011+04:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="instance_stickiness"/><category scheme="http://www.blogger.com/atom/ns#" term="Oracle"/><category scheme="http://www.blogger.com/atom/ns#" term="RAC"/><category scheme="http://www.blogger.com/atom/ns#" term="scheduler_job"/><title type="text">How to run scheduler job on specific instance in RAC database</title><content type="html">Here I'll show you how to configure scheduler job to run on specific instance in RAC database.&lt;div&gt;create test job on RAC database:&lt;pre&gt;begin
	sys.dbms_scheduler.create_job(
	job_name        =&amp;gt; 'SYS.TEST_SCHEDULER_JOB',
    job_type        =&amp;gt; 'PLSQL_BLOCK',
    job_action      =&amp;gt; 'declare var1 varchar2(1);
begin
	select * into var1 from dual;
	dbms_output.put_line(var1);
end;',
    start_date      =&amp;gt; to_date('26-01-2024 00:00:00','dd-mm-yyyy hh24:mi:ss'),
	repeat_interval =&amp;gt; 'Freq=Secondly;Interval=5',
	end_date        =&amp;gt; to_date(null),
	job_class       =&amp;gt; 'DEFAULT_JOB_CLASS',
	enabled         =&amp;gt; true,
	auto_drop       =&amp;gt; false,
	comments        =&amp;gt; '');
end;
/
&lt;/pre&gt;
Using instance ID and instance stickiness attribute in job scheduler, Instance ID value indicate the instance on which the job is to be run. Instance Stickiness value true means job will run on same node until node is extremely overloaded or not available. False means job will run on any available node. Its default value is true. Job will continue on that on which its first run or started in RAC case. No use in Standalone server.&amp;nbsp;&lt;/div&gt;&lt;div&gt;check job with its instance_id and instance_stickiness:&lt;pre&gt;select OWNER,JOB_NAME,INSTANCE_STICKINESS,INSTANCE_ID from dba_scheduler_jobs where JOB_NAME='TEST_SCHEDULER_JOB';
&lt;/pre&gt;
change instance_id for job:&lt;pre&gt;begin 
 dbms_scheduler.set_attribute(name =&amp;gt; 'TEST_SCHEDULER_JOB' ,attribute=&amp;gt;'INSTANCE_ID', value=&amp;gt;'2');
end;
/
&lt;/pre&gt;
disable instance_stickiness attribute for job:&lt;pre&gt;begin 
 dbms_scheduler.set_attribute(name =&amp;gt; 'TEST_SCHEDULER_JOB' ,attribute=&amp;gt;'INSTANCE_STICKINESS', value=&amp;gt;FALSE);
end;
/
&lt;/pre&gt;
&lt;/div&gt;</content><link href="https://dbacatalog.blogspot.com/feeds/1217408739082563461/comments/default" rel="replies" title="Post Comments" type="application/atom+xml"/><link href="https://dbacatalog.blogspot.com/2024/01/how-to-run-scheduler-job-on-specific-instance-in-rac-database.html#comment-form" rel="replies" title="0 Comments" type="text/html"/><link href="https://www.blogger.com/feeds/4295570291735945398/posts/default/1217408739082563461" rel="edit" type="application/atom+xml"/><link href="https://www.blogger.com/feeds/4295570291735945398/posts/default/1217408739082563461" rel="self" type="application/atom+xml"/><link href="https://dbacatalog.blogspot.com/2024/01/how-to-run-scheduler-job-on-specific-instance-in-rac-database.html" rel="alternate" title="How to run scheduler job on specific instance in RAC database" type="text/html"/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image height="16" rel="http://schemas.google.com/g/2005#thumbnail" src="https://img1.blogblog.com/img/b16-rounded.gif" width="16"/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4295570291735945398.post-8453177254836791929</id><published>2023-12-23T18:55:00.001+04:00</published><updated>2023-12-23T18:55:34.161+04:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="7 days"/><category scheme="http://www.blogger.com/atom/ns#" term="autobackup"/><category scheme="http://www.blogger.com/atom/ns#" term="Oracle"/><category scheme="http://www.blogger.com/atom/ns#" term="Rman"/><title type="text">how to restore autobackup controlfile or spfile older than 7 days?</title><content type="html">when we are trying to restore spfile or controlfile from autobackup appears error:&lt;br /&gt;&lt;br /&gt;channel ORA_DISK_1: no autobackup in 7 days found&lt;br /&gt;
&lt;br /&gt;
&lt;pre&gt;
RMAN&amp;gt; restore spfile from autobackup;&lt;br /&gt;&lt;br /&gt;Starting restore at 23-DEC-23 &lt;br /&gt;&lt;br /&gt;using channel ORA_DISK_1&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;channel ORA_DISK_1: looking for autobackup on day: 20231223&lt;br /&gt;&lt;br /&gt;channel ORA_DISK_1: looking for autobackup on day: 20231222&lt;br /&gt;&lt;br /&gt;channel ORA_DISK_1: looking for autobackup on day: 20231221&lt;br /&gt;&lt;br /&gt;channel ORA_DISK_1: looking for autobackup on day: 20231220&lt;br /&gt;&lt;br /&gt;channel ORA_DISK_1: looking for autobackup on day: 20231219&lt;br /&gt;&lt;br /&gt;channel ORA_DISK_1: looking for autobackup on day: 20231218&lt;br /&gt;&lt;br /&gt;channel ORA_DISK_1: looking for autobackup on day: 20231217&lt;br /&gt;&lt;br /&gt;channel ORA_DISK_1: no autobackup in 7 days found&lt;br /&gt;&lt;br /&gt;RMAN-00571: ===========================================================&lt;br /&gt;&lt;br /&gt;RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============&lt;br /&gt;&lt;br /&gt;RMAN-00571: ===========================================================&lt;br /&gt;&lt;br /&gt;RMAN-03002: failure of restore command at 12/23/2023 18:41:09&lt;br /&gt;&lt;br /&gt;RMAN-06172: no autobackup found or specified handle is not a valid copy or piece&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;
&lt;/pre&gt;
When you are using RESTORE SPFILE FROM AUTOBACKUP or RESTORE CONTROLFILE FROM AUTOBACKUP, &lt;br /&gt;&lt;br /&gt;RMAN begins the search on the current day or on the day specified with the SET UNTIL caluse. &lt;br /&gt;&lt;br /&gt;If no autobackup is found in the current or SET UNTIL day, RMAN checks the previous day and so on. &lt;br /&gt;&lt;br /&gt;In this way RMAN by default checks for 7 days autobackup from the current or SET UNTIL day.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Solution:&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;However if you want to extend your searching of autobackup more than 7 days then you have to use &lt;br /&gt;MAXDAYS option with the RESTORE command.&lt;br /&gt;&lt;br /&gt;RMAN&amp;gt;restore spfile from autobackup maxdays 30;&lt;br /&gt;or&lt;br /&gt;RMAN&amp;gt;restore controlfile from autobackup maxdays 30;&lt;br /&gt;&lt;br /&gt;In these cases autobackup searches will be performed up to 30 days from the current or SET UNTIL day.</content><link href="https://dbacatalog.blogspot.com/feeds/8453177254836791929/comments/default" rel="replies" title="Post Comments" type="application/atom+xml"/><link href="https://dbacatalog.blogspot.com/2023/12/how-to-restore-autobackup-controlfile-or-spfile-older-than-7-days.html#comment-form" rel="replies" title="0 Comments" type="text/html"/><link href="https://www.blogger.com/feeds/4295570291735945398/posts/default/8453177254836791929" rel="edit" type="application/atom+xml"/><link href="https://www.blogger.com/feeds/4295570291735945398/posts/default/8453177254836791929" rel="self" type="application/atom+xml"/><link href="https://dbacatalog.blogspot.com/2023/12/how-to-restore-autobackup-controlfile-or-spfile-older-than-7-days.html" rel="alternate" title="how to restore autobackup controlfile or spfile older than 7 days?" type="text/html"/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image height="16" rel="http://schemas.google.com/g/2005#thumbnail" src="https://img1.blogblog.com/img/b16-rounded.gif" width="16"/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4295570291735945398.post-7667227922167791325</id><published>2023-08-04T16:36:00.000+04:00</published><updated>2023-08-04T16:36:04.331+04:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="ASM"/><category scheme="http://www.blogger.com/atom/ns#" term="disk replacement"/><category scheme="http://www.blogger.com/atom/ns#" term="Exadata"/><category scheme="http://www.blogger.com/atom/ns#" term="Oracle"/><title type="text">Exadata after disk replacement asm disk remain mount_status closed header_status candidate</title><content type="html">&lt;p&gt;One of physical disk on exadata cell was droped for replacement status, after engineer change physical disk with new disk in v$asm_disk view shown that mount_status is closed and header_status is candidate:&lt;/p&gt;
&lt;pre&gt;select g.NAME,
       d.disk_number dsk_num,
       d.mount_status,
       d.header_status,
       d.OS_MB,
       d.path
 from v$asm_disk d, v$asm_diskgroup g
 where
      d.GROUP_NUMBER=g.GROUP_NUMBER
      and d.disk_number = 26;
 

NAME           DSK_NUM MOUNT_STATUS HEADER_STATUS      OS_MB PATH
----------- ---------- ------------ ------------- ---------- ------------------------------------------------
RECO           26      CACHED       MEMBER            582080  o/192.168.10.17;192.168.10.18/RECO_FD_02_x81cel04
DATA           26      CLOSED       CANDIDATE         5217280 o/192.168.10.13;192.168.10.14/DATA_FD_02_x81cel02&lt;span style="font-family: Times New Roman;"&gt;&lt;span style="white-space: normal;"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;div&gt;&lt;b&gt;Solution :&lt;/b&gt; The problem will be resolved when the disks are added to the relevant disk groups by using the PATH value in the above query.&lt;/div&gt;&lt;div&gt;Processes must be performed by connecting to the ASM instance as SYSASM.&lt;/div&gt;&lt;div&gt;First of all check if rebalnce process is not working and if not than add disk manually.&lt;/div&gt;&lt;div&gt;check asm rebalance is not working:&lt;/div&gt;
&lt;pre&gt;sqlplus / as sysasm

SQL*Plus: Release 19.0.0.0.0 - Production on Fri Aug 4 16:21:21 2023
Version 19.17.0.0.0

Copyright (c) 1982, 2022, Oracle.  All rights reserved.


Connected to:
Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
Version 19.17.0.0.0

SQL&amp;gt; select * from v$asm_operation;

no rows selected

SQL&amp;gt;
&lt;/pre&gt;add disk manually:&lt;div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;
&lt;pre&gt;alter diskgroup DATA add disk 'o/192.168.10.13;192.168.10.14/DATA_FD_02_x81cel02' rebalance power 4;
&lt;/pre&gt;
you can check progress of rebalance againg in v$asm_operation.&lt;div&gt;After rebalance process finish its job disk statuses must be cached and member.&lt;/div&gt;&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;pre&gt;select g.NAME,
       d.disk_number dsk_num,
       d.mount_status,
       d.header_status,
       d.OS_MB,
       d.path
 from v$asm_disk d, v$asm_diskgroup g
 where
      d.GROUP_NUMBER=g.GROUP_NUMBER
      and d.disk_number = 26;
 

NAME           DSK_NUM MOUNT_STATUS HEADER_STATUS      OS_MB PATH
----------- ---------- ------------ ------------- ---------- ------------------------------------------------
RECO           26      CACHED       MEMBER            582080  o/192.168.10.17;192.168.10.18/RECO_FD_02_x81cel04
DATA           26      CACHED       MEMBER            5217280 o/192.168.10.13;192.168.10.14/DATA_FD_02_x81cel02
&lt;/pre&gt;</content><link href="https://dbacatalog.blogspot.com/feeds/7667227922167791325/comments/default" rel="replies" title="Post Comments" type="application/atom+xml"/><link href="https://dbacatalog.blogspot.com/2023/08/exadata-after-disk-replacement-asm-disk-remain-mount-status-closed-header-status-candidate.html#comment-form" rel="replies" title="0 Comments" type="text/html"/><link href="https://www.blogger.com/feeds/4295570291735945398/posts/default/7667227922167791325" rel="edit" type="application/atom+xml"/><link href="https://www.blogger.com/feeds/4295570291735945398/posts/default/7667227922167791325" rel="self" type="application/atom+xml"/><link href="https://dbacatalog.blogspot.com/2023/08/exadata-after-disk-replacement-asm-disk-remain-mount-status-closed-header-status-candidate.html" rel="alternate" title="Exadata after disk replacement asm disk remain mount_status closed header_status candidate" type="text/html"/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image height="16" rel="http://schemas.google.com/g/2005#thumbnail" src="https://img1.blogblog.com/img/b16-rounded.gif" width="16"/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4295570291735945398.post-4780691766636965174</id><published>2023-07-22T16:49:00.000+04:00</published><updated>2023-07-22T16:49:41.624+04:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="pg_stat_statements"/><category scheme="http://www.blogger.com/atom/ns#" term="postgresql"/><category scheme="http://www.blogger.com/atom/ns#" term="tuning"/><title type="text">ERROR:  relation pg_stat_statements does not exist</title><content type="html">When I try to select * from pg_stat_statements to get some information about queries that run on postgres database I getting&lt;pre&gt;  
ERROR: relation pg_stat_statements does not exist
&lt;/pre&gt;
In this post I'll write step by step how to install&amp;nbsp;pg_stat_statements in postgresql to analyze queries, whcih is very helpful during performance tuning.&amp;nbsp;&lt;div&gt;The pg_stat_statments table holds information on queries that ran in the past table has one row per for each query that ran. It provides useful information in columns like:&amp;nbsp;&lt;/div&gt;&lt;div&gt;pg_stat_statements.query — the query text&lt;/div&gt;&lt;div&gt;pg_stat_statements.calls — The number of times this query was run&lt;/div&gt;&lt;div&gt;pg_stat_statements.total_exec_time — The total time (ms) spent on the query.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;
Here is step by step how to install pg_stat_statements:&lt;div&gt;&lt;br /&gt;&lt;/div&gt;
&lt;pre&gt;postgres=# select * from pg_stat_statements;
ERROR:  relation "pg_stat_statements" does not exist
LINE 1: select * from pg_stat_statements;
                      ^
postgres=# SELECT * FROM pg_available_extensions where name='pg_stat_statements';
        name        | default_version | installed_version |                                comment
--------------------+-----------------+-------------------+------------------------------------------------------------------------
 pg_stat_statements | 1.10            |                   | track planning and execution statistics of all SQL statements executed
(1 row)&lt;span style="font-family: Times New Roman;"&gt;&lt;span style="white-space: normal;"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;Extensions in PostgreSQL server are database level. We have create extension for each database separately.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;
&lt;pre&gt;postgres=# CREATE EXTENSION pg_stat_statements;
CREATE EXTENSION
postgres=#
postgres=#
postgres=# SELECT * FROM pg_available_extensions where name='pg_stat_statements';
server closed the connection unexpectedly
        This probably means the server terminated abnormally
        before or while processing the request.
The connection to the server was lost. Attempting reset: Succeeded.
postgres=# SELECT * FROM pg_available_extensions where name='pg_stat_statements';
        name        | default_version | installed_version |                                comment
--------------------+-----------------+-------------------+------------------------------------------------------------------------
 pg_stat_statements | 1.10            | 1.10              | track planning and execution statistics of all SQL statements executed
(1 row)


postgres=# select * from pg_stat_statements;
ERROR:  pg_stat_statements must be loaded via shared_preload_libraries
postgres=#&lt;span style="font-family: Times New Roman;"&gt;&lt;span style="white-space: normal;"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;in postgresql.conf file add these records at the end:&lt;div&gt;&lt;br /&gt;&lt;/div&gt;
&lt;pre&gt;shared_preload_libraries = 'pg_stat_statements'
pg_stat_statements.max = 10000
pg_stat_statements.track = all&lt;span style="font-family: Times New Roman;"&gt;&lt;span style="white-space: normal;"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;restart postgresql:&lt;div&gt;&lt;br /&gt;&lt;/div&gt;
&lt;pre&gt;systemctl restart postgresql-15&lt;span style="font-family: Times New Roman;"&gt;&lt;span style="white-space: normal;"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;now you can check pg_stat_statements and use it for performance tuning, for example this query returns top 10 statement for database by average elapsed time:&lt;div&gt;&lt;br /&gt;&lt;/div&gt;
&lt;pre&gt;SELECT 
       query, 
&lt;span&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;calls, 
&lt;span&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;(total_exec_time/calls/1000)::integer AS avg_time_seconds 
FROM pg_stat_statements
WHERE 1=1 
--calls &amp;gt; 1000
ORDER BY avg_time_seconds DESC
LIMIT 10;
&lt;/pre&gt;
Happy postgres tuning.</content><link href="https://dbacatalog.blogspot.com/feeds/4780691766636965174/comments/default" rel="replies" title="Post Comments" type="application/atom+xml"/><link href="https://dbacatalog.blogspot.com/2023/07/error-relation-pg-stat-statements-does-not-exist.html#comment-form" rel="replies" title="0 Comments" type="text/html"/><link href="https://www.blogger.com/feeds/4295570291735945398/posts/default/4780691766636965174" rel="edit" type="application/atom+xml"/><link href="https://www.blogger.com/feeds/4295570291735945398/posts/default/4780691766636965174" rel="self" type="application/atom+xml"/><link href="https://dbacatalog.blogspot.com/2023/07/error-relation-pg-stat-statements-does-not-exist.html" rel="alternate" title="ERROR:  relation pg_stat_statements does not exist" type="text/html"/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image height="16" rel="http://schemas.google.com/g/2005#thumbnail" src="https://img1.blogblog.com/img/b16-rounded.gif" width="16"/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4295570291735945398.post-4232537691561564394</id><published>2023-05-13T21:00:00.002+04:00</published><updated>2023-07-20T20:54:38.165+04:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="monitoring tablespace sizes"/><category scheme="http://www.blogger.com/atom/ns#" term="Oracle"/><category scheme="http://www.blogger.com/atom/ns#" term="tablespace"/><category scheme="http://www.blogger.com/atom/ns#" term="tablespace sizes"/><title type="text">Oracle Database monitor tablespace script</title><content type="html">&lt;p&gt;With this script you can monitor tablespaces sizes in oracle database. This script returns next columns:&lt;/p&gt;&lt;p&gt;Tablespace - tablespace name&lt;/p&gt;&lt;p&gt;Size MB - currently allocated space of tablespace in megabytes&lt;/p&gt;&lt;p&gt;Free MB - free size from allocated space in tablespace in megabytes&lt;/p&gt;&lt;p&gt;Max MB - size of maximum space until tablespace will extend in megabytes&lt;/p&gt;&lt;p&gt;Maximum free space in MB - free space in tablespace until it will be full, this is real value for monitring because it is showing real free space in tablespace in megabytes&lt;/p&gt;&lt;p&gt;Used MB - what space is used frm allocated space by segments in tablespace in megabytes&lt;/p&gt;&lt;p&gt;Used % - percentage of used space in tablespace, this is also real monitoring value&lt;/p&gt;&lt;p&gt;Status - oracle offers best practice for tablespace used percentage values 85% - caution, 90% - alarm, 97% - critical, so this script is depend on this values.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;
&lt;pre&gt;
(
select df.tablespace_name "Tablespace",
       round(df.tablespace_size / 1024 / 1024, 2) "Size MB",
       round(nvl(fs.free_space, 0) / 1024 / 1024, 2) "Free MB",
       round(df.tablespace_maxsize / 1024 / 1024, 2) "Max MB",
       round((df.tablespace_maxsize - (df.tablespace_size - round(nvl(fs.free_space, 0), 2)))
       / 1024 / 1024,2) "Maximum free space in MB",
       round((df.tablespace_size / 1024 / 1024 - fs.free_space / 1024 / 1024),2) "Used MB",     
       to_char(round((df.tablespace_size - round(nvl(fs.free_space, 0), 2)) /
                     df.tablespace_maxsize * 100,
                     2),
               '990D99') || ' %' "Used %",
       case
         when round((df.tablespace_size - round(nvl(fs.free_space, 0), 2)) /
                    df.tablespace_maxsize * 100,
                    2) &gt; 95 then
          'CRITICAL - 95%'
         when round((df.tablespace_size - round(nvl(fs.free_space, 0), 2)) /
                    df.tablespace_maxsize * 100,
                    2) &gt; 90 then
          'ALARM - 90%'
         when round((df.tablespace_size - round(nvl(fs.free_space, 0), 2)) /
                    df.tablespace_maxsize * 100,
                    2) &gt; 85 then
          'CAUTION - 85%'
         else
          'OK &lt; 85%'
       end "Status"
  from (select 
               tablespace_name,
               sum(bytes) tablespace_size,
               sum(decode(maxbytes, 0, bytes, null, bytes, maxbytes)) tablespace_maxsize
          from dba_data_files
         group by tablespace_name) df,
       (select 
               tablespace_name, sum(bytes) free_space
          from dba_free_space
         group by tablespace_name) fs
 where df.tablespace_name = fs.tablespace_name(+)
 )
UNION
(
select 
       ts.tablespace_name "Tablespace",
       round(ts.tablespace_size / 1024 / 1024, 2) "Size MB",
       round(nvl(tfs.free_space, 0) / 1024 / 1024, 2) "Free MB",
       round(ts.tablespace_maxsize / 1024 / 1024, 2) "Max MB",
       round((ts.tablespace_maxsize - (ts.tablespace_size - tfs.free_space))
       / 1024 / 1024, 2) "Maximum free space in MB",
       round((ts.tablespace_size / 1024 / 1024 - tfs.free_space / 1024 / 1024),2)
        "Used MB",
       to_char(round((ts.tablespace_size - tfs.free_space) /
                     ts.tablespace_maxsize * 100,
                     2),
               '990D99') || ' %' "Used %",
       case
         when round((ts.tablespace_size - tfs.free_space) /
                    ts.tablespace_maxsize * 100,
                    2) &gt; 95 then
          'CRITICAL - 95%'
         when round((ts.tablespace_size - tfs.free_space) /
                    ts.tablespace_maxsize * 100,
                    2) &gt; 90 then
          'ALARM - 90%'
         when round((ts.tablespace_size - tfs.free_space) /
                    ts.tablespace_maxsize * 100,
                    2) &gt; 85 then
          'CAUTION - 85%'
         else
          'OK &lt; 85%'
       end "Status"
  from (select 
               tablespace_name,
               sum(bytes) tablespace_size,
               sum(decode(maxbytes, 0, bytes, null, bytes, maxbytes)) tablespace_maxsize
          from dba_temp_files
         group by tablespace_name) ts,
       (select
               tablespace_name, free_space from dba_temp_free_space) tfs
 where ts.tablespace_name = tfs.tablespace_name
    )
order by 7 desc, 1 asc;


&lt;/pre&gt;
&lt;br /&gt;
&lt;b&gt;note :&lt;/b&gt;
&lt;br /&gt;
If it'll work slow on your database, main reason for this is your recyclebin, if there is too many objects then dba_free_space view will work slow, solution for this is to purge dba_recyclebin
</content><link href="https://dbacatalog.blogspot.com/feeds/4232537691561564394/comments/default" rel="replies" title="Post Comments" type="application/atom+xml"/><link href="https://dbacatalog.blogspot.com/2023/05/oracle-database-monitor-tablespace-script.html#comment-form" rel="replies" title="0 Comments" type="text/html"/><link href="https://www.blogger.com/feeds/4295570291735945398/posts/default/4232537691561564394" rel="edit" type="application/atom+xml"/><link href="https://www.blogger.com/feeds/4295570291735945398/posts/default/4232537691561564394" rel="self" type="application/atom+xml"/><link href="https://dbacatalog.blogspot.com/2023/05/oracle-database-monitor-tablespace-script.html" rel="alternate" title="Oracle Database monitor tablespace script" type="text/html"/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image height="16" rel="http://schemas.google.com/g/2005#thumbnail" src="https://img1.blogblog.com/img/b16-rounded.gif" width="16"/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4295570291735945398.post-2656822812726833041</id><published>2023-04-24T16:21:00.005+04:00</published><updated>2023-04-24T16:23:53.432+04:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Index"/><category scheme="http://www.blogger.com/atom/ns#" term="is null"/><category scheme="http://www.blogger.com/atom/ns#" term="Oracle"/><category scheme="http://www.blogger.com/atom/ns#" term="tuning"/><title type="text">Tuning is null query in oracle</title><content type="html">When there is some simple query which is using just is null criteria on big table, oracle cost based optimizer making table access full, so query running slow, here is demonstration how to tune similar queries:
&lt;br /&gt;
&lt;pre&gt;create table my_test_table as select * from dba_objects;

insert into my_test_table  select * from dba_objects;
commit;

UPDATE my_test_table set object_name=null where rownum&amp;lt;=100;
commit;

create index my_test_table_i1 on my_test_table(object_name);

begin
  dbms_stats.gather_table_stats(ownname =&gt; 'QOBESA',
                                tabname =&gt; 'MY_TEST_TABLE',
                                cascade =&gt; true);
end;


select * from my_test_table where object_name is null;


------------------------------------------------------------------------------
| Id  | Operation           | Name          | Rows | Bytes | Cost | Time     |
------------------------------------------------------------------------------
|   0 | SELECT STATEMENT    |               |  100 | 12500 |  108 | 00:00:01 |
| * 1 |   TABLE ACCESS FULL | MY_TEST_TABLE |  100 | 12500 |  108 | 00:00:01 |
------------------------------------------------------------------------------

Predicate Information (identified by operation id):
------------------------------------------
* 1 - filter("OBJECT_NAME" IS NULL)
&lt;/pre&gt;
So we have table with more than 100 000 rows and in 100 rows column object_name is null, which is indexed column, but optimizer doesn't using it and making full table scan, if your table is huge and it contains many gigabytes of data it will be big problem. Many believes that there is no way to tune this type of statement, because oracle does not store NULL values in indexes, but here is little trick to use index on not null columns
&lt;pre&gt;
create index my_test_table_i2 on my_test_table(object_name, -1);


begin
  dbms_stats.gather_table_stats(ownname =&gt; 'QOBESA',
                                tabname =&gt; 'MY_TEST_TABLE',
                                cascade =&gt; true);
end;


select * from my_test_table where object_name is null;


---------------------------------------------------------------------------------------------------
| Id  | Operation                             | Name             | Rows | Bytes | Cost | Time     |
---------------------------------------------------------------------------------------------------
|   0 | SELECT STATEMENT                      |                  |  100 | 12900 |   78 | 00:00:01 |
|   1 |   TABLE ACCESS BY INDEX ROWID BATCHED | MY_TEST_TABLE    |  100 | 12900 |   78 | 00:00:01 |
| * 2 |    INDEX RANGE SCAN                   | MY_TEST_TABLE_I2 |  100 |       |    3 | 00:00:01 |
---------------------------------------------------------------------------------------------------

Predicate Information (identified by operation id):
------------------------------------------
* 2 - access("OBJECT_NAME" IS NULL)
&lt;/pre&gt;
So solution is to add some constant to the end of the index to be sure null values are stored.

</content><link href="https://dbacatalog.blogspot.com/feeds/2656822812726833041/comments/default" rel="replies" title="Post Comments" type="application/atom+xml"/><link href="https://dbacatalog.blogspot.com/2023/04/tuning-is-null-query-in-oracle.html#comment-form" rel="replies" title="0 Comments" type="text/html"/><link href="https://www.blogger.com/feeds/4295570291735945398/posts/default/2656822812726833041" rel="edit" type="application/atom+xml"/><link href="https://www.blogger.com/feeds/4295570291735945398/posts/default/2656822812726833041" rel="self" type="application/atom+xml"/><link href="https://dbacatalog.blogspot.com/2023/04/tuning-is-null-query-in-oracle.html" rel="alternate" title="Tuning is null query in oracle" type="text/html"/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image height="16" rel="http://schemas.google.com/g/2005#thumbnail" src="https://img1.blogblog.com/img/b16-rounded.gif" width="16"/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4295570291735945398.post-4137804281128605156</id><published>2023-03-17T17:42:00.002+04:00</published><updated>2023-07-20T20:58:23.713+04:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="dba_jobs"/><category scheme="http://www.blogger.com/atom/ns#" term="ORA-01873"/><category scheme="http://www.blogger.com/atom/ns#" term="ORA-01873: the leading precision of the interval is too small"/><category scheme="http://www.blogger.com/atom/ns#" term="Oracle"/><title type="text">ORA-01873: the leading precision of the interval is too small</title><content type="html">&lt;p&gt;&amp;nbsp;Hello,&lt;/p&gt;&lt;p&gt;Today we faced below error when quering dba_jobs:&lt;/p&gt;
&lt;pre&gt;SQL&amp;gt; select * from dba_jobs where job=4474623;
select * from dba_jobs where job=4474623

ORA-01873: the leading precision of the interval is too small

SQL&amp;gt; &lt;/pre&gt;
Oracle database is on 19c version so this dbms_job automatically converted in scheduler so this way it is correctly working:&lt;div&gt;&lt;br /&gt;&lt;/div&gt;
&lt;pre&gt;select * from dba_scheduler_jobs where job_name='DBMS_JOB$_4474623';
&lt;/pre&gt;
so problem is dba_jobs view, we can see how it looks like :&lt;div&gt;&lt;br /&gt;&lt;/div&gt;
&lt;pre&gt;create or replace view dba_jobs as
select
    m.dbms_job_number JOB, j.creator LOG_USER, u.name PRIV_USER,
    u.name SCHEMA_USER,
    CAST(j.last_start_date AS DATE) LAST_DATE,
    substr(to_char(j.last_start_date,'HH24:MI:SS'),1,8) LAST_SEC,
    CAST(
      DECODE(BITAND(j.job_status,2), 2, j.last_start_date, NULL)
    AS DATE) THIS_DATE,
    DECODE(BITAND(j.job_status,2), 2,
           substr(to_char(j.last_start_date,'HH24:MI:SS'),1,8), NULL) THIS_SEC,
    CAST(j.next_run_date AS DATE) NEXT_DATE,
    substr(to_char(j.next_run_date,'HH24:MI:SS'),1,8) NEXT_SEC,
    (CASE WHEN j.last_end_date&amp;gt;j.last_start_date THEN
     extract(day from (j.last_end_date-j.last_start_date)*86400) ELSE 0 END)
     TOTAL_TIME, &lt;b&gt;-- Scheduler does not track total time&lt;/b&gt;
    DECODE(BITAND(j.job_status,1),0,'Y','N') BROKEN,
    DECODE(BITAND(j.flags,1024+4096+134217728),
                  0, j.schedule_expr, NULL) INTERVAL,
    j.failure_count FAILURES, j.program_action WHAT,
    j.nls_env NLS_ENV, j.env MISC_ENV, NVL(j.instance_id, 0) INSTANCE
  from
    sys.scheduler$_dbmsjob_map m
    left outer join sys.obj$ o on (o.name = m.job_name)
    left outer join sys.user$ u on (u.name = m.job_owner)
    left outer join sys.scheduler$_job j on (j.obj# = o.obj#)
  where
    o.owner# = u.user#
;
comment on table DBA_JOBS is 'All jobs in the database';
comment on column DBA_JOBS.JOB is 'Identifier of job.  Neither import/export nor repeated executions change it.';
comment on column DBA_JOBS.LOG_USER is 'USER who was logged in when the job was submitted';
comment on column DBA_JOBS.PRIV_USER is 'USER whose default privileges apply to this job';
comment on column DBA_JOBS.SCHEMA_USER is 'select * from bar  means  select * from schema_user.bar ';
comment on column DBA_JOBS.LAST_DATE is 'Date that this job last successfully executed';
comment on column DBA_JOBS.LAST_SEC is 'Same as LAST_DATE.  This is when the last successful execution started.';
comment on column DBA_JOBS.THIS_DATE is 'Date that this job started executing (usually null if not executing)';
comment on column DBA_JOBS.THIS_SEC is 'Same as THIS_DATE.  This is when the last successful execution started.';
comment on column DBA_JOBS.NEXT_DATE is 'Date that this job will next be executed';
comment on column DBA_JOBS.NEXT_SEC is 'Same as NEXT_DATE.  The job becomes due for execution at this time.';
comment on column DBA_JOBS.TOTAL_TIME is 'Total wallclock time spent by the system on this job, in seconds';
comment on column DBA_JOBS.BROKEN is 'If Y, no attempt is being made to run this job.  See dbms_jobq.broken(job).';
comment on column DBA_JOBS.INTERVAL is 'A date function, evaluated at the start of execution, becomes next NEXT_DATE';
comment on column DBA_JOBS.FAILURES is 'How many times has this job started and failed since its last success?';
comment on column DBA_JOBS.WHAT is 'Body of the anonymous PL/SQL block that this job executes';
comment on column DBA_JOBS.NLS_ENV is 'alter session parameters describing the NLS environment of the job';
comment on column DBA_JOBS.MISC_ENV is 'a versioned raw maintained by the kernel, for other session parameters';
comment on column DBA_JOBS.INSTANCE is 'Instance number restricted to run the job';
&lt;/pre&gt;
So there is important comment on total time that&amp;nbsp;&lt;b&gt;-- Scheduler does not track total time.&lt;/b&gt;&lt;div&gt;&lt;b&gt;Solution :&amp;nbsp;&lt;/b&gt;&lt;div&gt;we can change dba_jobs view with this query to solve this problem or you can query from dba_Scheduler_jobs, we are changing just total_time field calculation with this:&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;
&lt;pre&gt;( CASE
              WHEN j.last_end_date &amp;gt; j.last_start_date THEN
                 --EXTRACT (
                 --DAY FROM (j.last_end_date - j.last_start_date) * 86400)
          (CAST(j.last_end_date AS DATE)-CAST(j.last_start_date AS DATE)) * 86400
              ELSE
                 0
           END )
     TOTAL_TIME, -- Scheduler does not track total time
&lt;/pre&gt;
&lt;br /&gt;
So whole view will be like that :
&lt;br /&gt;
&lt;pre&gt;create or replace view dba_jobs as
select
    m.dbms_job_number JOB, j.creator LOG_USER, u.name PRIV_USER,
    u.name SCHEMA_USER,
    CAST(j.last_start_date AS DATE) LAST_DATE,
    substr(to_char(j.last_start_date,'HH24:MI:SS'),1,8) LAST_SEC,
    CAST(
      DECODE(BITAND(j.job_status,2), 2, j.last_start_date, NULL)
    AS DATE) THIS_DATE,
    DECODE(BITAND(j.job_status,2), 2,
           substr(to_char(j.last_start_date,'HH24:MI:SS'),1,8), NULL) THIS_SEC,
    CAST(j.next_run_date AS DATE) NEXT_DATE,
    substr(to_char(j.next_run_date,'HH24:MI:SS'),1,8) NEXT_SEC,
    &lt;b&gt;( CASE
              WHEN j.last_end_date &amp;gt; j.last_start_date THEN
                 --EXTRACT (
                 --DAY FROM (j.last_end_date - j.last_start_date) * 86400)
          (CAST(j.last_end_date AS DATE)-CAST(j.last_start_date AS DATE)) * 86400
              ELSE
                 0
           END )&lt;/b&gt;
     TOTAL_TIME, -- Scheduler does not track total time
    DECODE(BITAND(j.job_status,1),0,'Y','N') BROKEN,
    DECODE(BITAND(j.flags,1024+4096+134217728),
                  0, j.schedule_expr, NULL) INTERVAL,
    j.failure_count FAILURES, j.program_action WHAT,
    j.nls_env NLS_ENV, j.env MISC_ENV, NVL(j.instance_id, 0) INSTANCE
  from
    sys.scheduler$_dbmsjob_map m
    left outer join sys.obj$ o on (o.name = m.job_name)
    left outer join sys.user$ u on (u.name = m.job_owner)
    left outer join sys.scheduler$_job j on (j.obj# = o.obj#)
  where
    o.owner# = u.user#
;
comment on table DBA_JOBS is 'All jobs in the database';
comment on column DBA_JOBS.JOB is 'Identifier of job.  Neither import/export nor repeated executions change it.';
comment on column DBA_JOBS.LOG_USER is 'USER who was logged in when the job was submitted';
comment on column DBA_JOBS.PRIV_USER is 'USER whose default privileges apply to this job';
comment on column DBA_JOBS.SCHEMA_USER is 'select * from bar  means  select * from schema_user.bar ';
comment on column DBA_JOBS.LAST_DATE is 'Date that this job last successfully executed';
comment on column DBA_JOBS.LAST_SEC is 'Same as LAST_DATE.  This is when the last successful execution started.';
comment on column DBA_JOBS.THIS_DATE is 'Date that this job started executing (usually null if not executing)';
comment on column DBA_JOBS.THIS_SEC is 'Same as THIS_DATE.  This is when the last successful execution started.';
comment on column DBA_JOBS.NEXT_DATE is 'Date that this job will next be executed';
comment on column DBA_JOBS.NEXT_SEC is 'Same as NEXT_DATE.  The job becomes due for execution at this time.';
comment on column DBA_JOBS.TOTAL_TIME is 'Total wallclock time spent by the system on this job, in seconds';
comment on column DBA_JOBS.BROKEN is 'If Y, no attempt is being made to run this job.  See dbms_jobq.broken(job).';
comment on column DBA_JOBS.INTERVAL is 'A date function, evaluated at the start of execution, becomes next NEXT_DATE';
comment on column DBA_JOBS.FAILURES is 'How many times has this job started and failed since its last success?';
comment on column DBA_JOBS.WHAT is 'Body of the anonymous PL/SQL block that this job executes';
comment on column DBA_JOBS.NLS_ENV is 'alter session parameters describing the NLS environment of the job';
comment on column DBA_JOBS.MISC_ENV is 'a versioned raw maintained by the kernel, for other session parameters';
comment on column DBA_JOBS.INSTANCE is 'Instance number restricted to run the job';

&lt;/pre&gt;
&lt;br /&gt;
after change dba_jobs view we can query that job without any error:
&lt;br /&gt;
&lt;pre&gt;SQL&amp;gt; select * from dba_jobs where job=4474623;
&lt;/pre&gt;</content><link href="https://dbacatalog.blogspot.com/feeds/4137804281128605156/comments/default" rel="replies" title="Post Comments" type="application/atom+xml"/><link href="https://dbacatalog.blogspot.com/2023/03/ora-01873-leading-precision-of-interval-is-too-small.html#comment-form" rel="replies" title="0 Comments" type="text/html"/><link href="https://www.blogger.com/feeds/4295570291735945398/posts/default/4137804281128605156" rel="edit" type="application/atom+xml"/><link href="https://www.blogger.com/feeds/4295570291735945398/posts/default/4137804281128605156" rel="self" type="application/atom+xml"/><link href="https://dbacatalog.blogspot.com/2023/03/ora-01873-leading-precision-of-interval-is-too-small.html" rel="alternate" title="ORA-01873: the leading precision of the interval is too small" type="text/html"/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image height="16" rel="http://schemas.google.com/g/2005#thumbnail" src="https://img1.blogblog.com/img/b16-rounded.gif" width="16"/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4295570291735945398.post-5796487622452844738</id><published>2023-02-25T20:53:00.005+04:00</published><updated>2023-07-07T12:24:51.823+04:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="auto optimizer stats collection"/><category scheme="http://www.blogger.com/atom/ns#" term="auto space advisor"/><category scheme="http://www.blogger.com/atom/ns#" term="auto task"/><category scheme="http://www.blogger.com/atom/ns#" term="dba_autotask_client"/><category scheme="http://www.blogger.com/atom/ns#" term="disable auto tasks"/><category scheme="http://www.blogger.com/atom/ns#" term="Oracle"/><category scheme="http://www.blogger.com/atom/ns#" term="sql tuning advisor"/><title type="text">Disable or enable auto task jobs in oracle database</title><content type="html">&lt;p&gt;Automatic database maintenance tasks is used by oracle for tunning SQL queries, gather stale or non existing statistics on objects and space advisory.&amp;nbsp;&lt;/p&gt;&lt;p&gt;These Automatic maintenance jobs is configured default in Oracle Database :&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;ul style="text-align: left;"&gt;&lt;li&gt;Automatic Optimizer Statistics Collection - Gathers stale or missing statistics&lt;/li&gt;&lt;li&gt;Automatic Segment Advisor – Identifies segments that reorganized to save space&lt;/li&gt;&lt;li&gt;Automatic SQL Tuning Advisor – Tune high load SQL&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;How to disable automatic jobs in oracle?&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;To disable all these jobs you can :&lt;pre&gt;begin
DBMS_AUTO_TASK_ADMIN.disable;
end;
/
&lt;/pre&gt;How to enable automatic jobs in oracle?&lt;pre&gt;begin
DBMS_AUTO_TASK_ADMIN.enable;
end;
/
&lt;/pre&gt;
How to disable sql tuning advisor, auto space advisor and auto optimizer stats collection separately one by one:&lt;pre&gt;SQL&amp;gt; SELECT client_name, status FROM dba_autotask_client;

CLIENT_NAME                           STATUS
-------------------------------       ---------
auto optimizer stats collection       ENABLED
auto space advisor                    ENABLED
sql tuning advisor                    ENABLED

SQL&amp;gt; EXEC DBMS_AUTO_TASK_ADMIN.DISABLE(client_name=&amp;gt;'sql tuning advisor', operation=&amp;gt;NULL, window_name=&amp;gt;NULL);

SQL&amp;gt; EXEC DBMS_AUTO_TASK_ADMIN.DISABLE(client_name=&amp;gt;'auto space advisor', operation=&amp;gt;NULL, window_name=&amp;gt;NULL);

SQL&amp;gt; EXEC DBMS_AUTO_TASK_ADMIN.DISABLE(client_name=&amp;gt;'auto optimizer stats collection', operation=&amp;gt;NULL, window_name=&amp;gt;NULL);

PL/SQL procedure successfully completed.

3. Check the status again for auto task jobs

SQL&amp;gt; SELECT client_name, status FROM dba_autotask_client;

 CLIENT_NAME                             STATUS
----------------------------------       ---------------
auto optimizer stats collection          DISABLED
auto space advisor                       DISABLED
sql tuning advisor                       DISABLED
&lt;/pre&gt;

How to enable sql tuning advisor, auto space advisor and auto optimizer stats collection separately one by one:

&lt;pre&gt;SQL&amp;gt; EXEC DBMS_AUTO_TASK_ADMIN.ENABLE(client_name=&amp;gt;'sql tuning advisor', operation=&amp;gt;NULL, window_name=&amp;gt;NULL);

SQL&amp;gt; EXEC DBMS_AUTO_TASK_ADMIN.ENABLE(client_name=&amp;gt;'auto space advisor', operation=&amp;gt;NULL, window_name=&amp;gt;NULL);

SQL&amp;gt; EXEC DBMS_AUTO_TASK_ADMIN.ENABLE(client_name=&amp;gt;'auto optimizer stats collection', operation=&amp;gt;NULL, window_name=&amp;gt;NULL);

PL/SQL procedure successfully completed.
&lt;/pre&gt;

</content><link href="https://dbacatalog.blogspot.com/feeds/5796487622452844738/comments/default" rel="replies" title="Post Comments" type="application/atom+xml"/><link href="https://dbacatalog.blogspot.com/2023/02/disable-or-enable-auto-task-jobs-in-oracle-database.html#comment-form" rel="replies" title="0 Comments" type="text/html"/><link href="https://www.blogger.com/feeds/4295570291735945398/posts/default/5796487622452844738" rel="edit" type="application/atom+xml"/><link href="https://www.blogger.com/feeds/4295570291735945398/posts/default/5796487622452844738" rel="self" type="application/atom+xml"/><link href="https://dbacatalog.blogspot.com/2023/02/disable-or-enable-auto-task-jobs-in-oracle-database.html" rel="alternate" title="Disable or enable auto task jobs in oracle database" type="text/html"/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image height="16" rel="http://schemas.google.com/g/2005#thumbnail" src="https://img1.blogblog.com/img/b16-rounded.gif" width="16"/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4295570291735945398.post-7417724922320466741</id><published>2022-08-31T11:17:00.000+04:00</published><updated>2022-08-31T11:17:33.989+04:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="OEM"/><category scheme="http://www.blogger.com/atom/ns#" term="open cursors"/><category scheme="http://www.blogger.com/atom/ns#" term="ORA-01000: maximum open cursors exceeded"/><category scheme="http://www.blogger.com/atom/ns#" term="Oracle"/><title type="text">ORA-01000: maximum open cursors exceeded oracle.sysman.emSDK.emd.comm.MetricGetException: ORA-01000: maximum open cursors exceeded</title><content type="html">Sometimes we are not getting alerts from OEM(Oracle Enterprise Manager) and if we try to check some metric values it is throwing error:
&lt;br /&gt;
&lt;b&gt;ORA-01000: maximum open cursors exceeded oracle.sysman.emSDK.emd.comm.MetricGetException: ORA-01000: maximum open cursors exceeded&lt;/b&gt;&amp;nbsp;&lt;div&gt;I Found interesting Doc about this issue on metalink:&amp;nbsp;&lt;/div&gt;&lt;div&gt;ORA-01000: MAXIMUM OPEN CURSORS EXCEEDED (Doc ID 2751726.1).&lt;/div&gt;&lt;div&gt;It seems it is Bug 31542357 - Use of setTimeToLiveTimeout causes leak of cursors and ORA-01000 eventually&amp;nbsp;&lt;/div&gt;&lt;div&gt;&lt;b&gt;Solution:&lt;/b&gt;&amp;nbsp;&lt;/div&gt;&lt;div&gt;For 13.4 Cloud Control the patch will be included in the 13.4 RU7 and newer patches.&amp;nbsp;&lt;/div&gt;&lt;div&gt;The work around from development is:
On agent side add this property in emd.properties and restart the agent. The following property will kill the seesion on db and avoid the cursor leak.&lt;/div&gt;&lt;div&gt;&lt;b&gt;SqlConnectionCache._TimeToLiveTimeout=0&lt;/b&gt;&lt;/div&gt;</content><link href="https://dbacatalog.blogspot.com/feeds/7417724922320466741/comments/default" rel="replies" title="Post Comments" type="application/atom+xml"/><link href="https://dbacatalog.blogspot.com/2022/08/ora-01000-maximum-open-cursors-exceeded.html#comment-form" rel="replies" title="0 Comments" type="text/html"/><link href="https://www.blogger.com/feeds/4295570291735945398/posts/default/7417724922320466741" rel="edit" type="application/atom+xml"/><link href="https://www.blogger.com/feeds/4295570291735945398/posts/default/7417724922320466741" rel="self" type="application/atom+xml"/><link href="https://dbacatalog.blogspot.com/2022/08/ora-01000-maximum-open-cursors-exceeded.html" rel="alternate" title="ORA-01000: maximum open cursors exceeded oracle.sysman.emSDK.emd.comm.MetricGetException: ORA-01000: maximum open cursors exceeded" type="text/html"/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image height="16" rel="http://schemas.google.com/g/2005#thumbnail" src="https://img1.blogblog.com/img/b16-rounded.gif" width="16"/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4295570291735945398.post-607649966537988829</id><published>2022-05-07T19:36:00.007+04:00</published><updated>2023-07-20T20:54:22.747+04:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="database"/><category scheme="http://www.blogger.com/atom/ns#" term="Oracle"/><category scheme="http://www.blogger.com/atom/ns#" term="world"/><title type="text">Oracle Database World 2022</title><content type="html">If you missed biggest database event of the year 2022 here you can access 18 sessions and 3 hands on lab:

&lt;b&gt;&lt;a href="https://www.oracle.com/database/database-world/2022/?source=:so:li:or:awr:odb:::RC_WWMK220210P00044:DBW22Ondemand&amp;amp;SC=:so:li:or:awr:odb:::RC_WWMK220210P00044:DBW22Ondemand&amp;amp;pcode=WWMK220210P00044"&gt;Oracle Database World 2022&lt;/a&gt;&lt;/b&gt;
</content><link href="https://dbacatalog.blogspot.com/feeds/607649966537988829/comments/default" rel="replies" title="Post Comments" type="application/atom+xml"/><link href="https://dbacatalog.blogspot.com/2022/05/oracle-database-world-2022.html#comment-form" rel="replies" title="0 Comments" type="text/html"/><link href="https://www.blogger.com/feeds/4295570291735945398/posts/default/607649966537988829" rel="edit" type="application/atom+xml"/><link href="https://www.blogger.com/feeds/4295570291735945398/posts/default/607649966537988829" rel="self" type="application/atom+xml"/><link href="https://dbacatalog.blogspot.com/2022/05/oracle-database-world-2022.html" rel="alternate" title="Oracle Database World 2022" type="text/html"/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image height="16" rel="http://schemas.google.com/g/2005#thumbnail" src="https://img1.blogblog.com/img/b16-rounded.gif" width="16"/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4295570291735945398.post-7016801975066755038</id><published>2022-04-14T15:19:00.002+04:00</published><updated>2023-07-20T21:00:05.465+04:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="adrci"/><category scheme="http://www.blogger.com/atom/ns#" term="No ADR base is set"/><category scheme="http://www.blogger.com/atom/ns#" term="Oracle"/><title type="text">No ADR base is set Oracle RAC 19c</title><content type="html">When I try connect to adrci appears below error:
&lt;pre&gt;
adrci

ADRCI: Release 19.0.0.0.0 - Production on Thu Apr 14 14:51:54 2022

Copyright (c) 1982, 2019, Oracle and/or its affiliates.  All rights reserved.

No ADR base is set
adrci&gt; show homes
No ADR homes are set
adrci&gt; exit
&lt;/pre&gt;

&lt;b&gt;Solution:&lt;/b&gt;
check to see if there is a file adrci_dir.mif in $ORACLE_HOME/log/diag
if the directory does not exist  do the following :
&lt;pre&gt;
mkdir -p $ORACLE_HOME/log/diag
printf "%s" "/u01/app/oracle" &gt; $ORACLE_HOME/log/diag/adrci_dir.mif
&lt;/pre&gt;

"/u01/app/oracle" will be your ADR base, which is actualy oracle_base.

After that adrci will work:
&lt;pre&gt;
adrci

ADRCI: Release 19.0.0.0.0 - Production on Thu Apr 14 15:01:21 2022

Copyright (c) 1982, 2019, Oracle and/or its affiliates.  All rights reserved.

ADR base = "/u01/app/oracle"
adrci&gt; show homes
ADR Homes: 
diag/asmtool/user_oracle/host_578647856_107
diag/asmtool/user_oracle/host_578647856_80
diag/asmtool/user_grid/host_578647856_107
diag/rdbms/testdb2/TESTDB2
diag/rdbms/testdb/TESTDB
&lt;/pre&gt;
</content><link href="https://dbacatalog.blogspot.com/feeds/7016801975066755038/comments/default" rel="replies" title="Post Comments" type="application/atom+xml"/><link href="https://dbacatalog.blogspot.com/2022/04/no-adr-base-is-set-oracle-rac-19c.html#comment-form" rel="replies" title="0 Comments" type="text/html"/><link href="https://www.blogger.com/feeds/4295570291735945398/posts/default/7016801975066755038" rel="edit" type="application/atom+xml"/><link href="https://www.blogger.com/feeds/4295570291735945398/posts/default/7016801975066755038" rel="self" type="application/atom+xml"/><link href="https://dbacatalog.blogspot.com/2022/04/no-adr-base-is-set-oracle-rac-19c.html" rel="alternate" title="No ADR base is set Oracle RAC 19c" type="text/html"/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image height="16" rel="http://schemas.google.com/g/2005#thumbnail" src="https://img1.blogblog.com/img/b16-rounded.gif" width="16"/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4295570291735945398.post-6392516784502225444</id><published>2022-02-22T12:59:00.001+04:00</published><updated>2023-07-20T21:04:28.853+04:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Cell"/><category scheme="http://www.blogger.com/atom/ns#" term="CELL-01514"/><category scheme="http://www.blogger.com/atom/ns#" term="Exadata"/><category scheme="http://www.blogger.com/atom/ns#" term="Oracle Exadata"/><title type="text">Exadata CELL-01514: Connect Error. Verify that Management Server is listening at the specified HTTP port: 8888</title><content type="html">&lt;p&gt;&amp;nbsp;Today we faced below problem while trying to connect cellcli on Exadata Storage Cell&lt;/p&gt;
&lt;pre&gt;
"CELL-01514: Connect Error. Verify that Management Server is listening at the specified HTTP port: 8888"
&lt;/pre&gt;
&lt;pre&gt;
[root@testcel01 ~]# cellcli -e list physicaldisk detail

CELL-01514: Connect Error. Verify that Management Server is listening at the specified HTTP port: 8888.
[root@testcel01 ~]#
&lt;/pre&gt;


Cell server is not running actually and we need to solve this problem. &lt;br /&gt;
To solve this problem, you need to start cell daemon:&lt;br /&gt;

&lt;pre&gt;
[root@testcel01 ~]# service celld start
1: ERROR: Resource temporarily unavailable
rds-ping failed on 192.168.10.27
1: ERROR: Resource temporarily unavailable
rds-ping failed on 192.168.23.16
1: 90 usec
1: 134 usec

Starting the RS, CELLSRV, and MS services...
Getting the state of RS services... running
Starting CELLSRV services...
The STARTUP of CELLSRV services was successful.
Starting MS services...
The STARTUP of MS services was successful.
[root@testcel01 ~]# 
[root@testcel01 ~]#
&lt;/pre&gt;
Cell server daemon was started successful. You can check its status:
&lt;pre&gt;
[root@testcel01 ~]# service celld status
rsStatus: running
msStatus: running
cellsrvStatus: running
[root@testcel01 ~]#
&lt;/pre&gt;</content><link href="https://dbacatalog.blogspot.com/feeds/6392516784502225444/comments/default" rel="replies" title="Post Comments" type="application/atom+xml"/><link href="https://dbacatalog.blogspot.com/2022/02/exadata-cell-01514-connect-error-verify-management-server-listening-specified port-8888.html#comment-form" rel="replies" title="0 Comments" type="text/html"/><link href="https://www.blogger.com/feeds/4295570291735945398/posts/default/6392516784502225444" rel="edit" type="application/atom+xml"/><link href="https://www.blogger.com/feeds/4295570291735945398/posts/default/6392516784502225444" rel="self" type="application/atom+xml"/><link href="https://dbacatalog.blogspot.com/2022/02/exadata-cell-01514-connect-error-verify-management-server-listening-specified port-8888.html" rel="alternate" title="Exadata CELL-01514: Connect Error. Verify that Management Server is listening at the specified HTTP port: 8888" type="text/html"/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image height="16" rel="http://schemas.google.com/g/2005#thumbnail" src="https://img1.blogblog.com/img/b16-rounded.gif" width="16"/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4295570291735945398.post-3484704188497231530</id><published>2022-01-28T15:13:00.001+04:00</published><updated>2023-07-20T21:05:27.824+04:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Oracle"/><category scheme="http://www.blogger.com/atom/ns#" term="oratop"/><category scheme="http://www.blogger.com/atom/ns#" term="tfa"/><category scheme="http://www.blogger.com/atom/ns#" term="TFA-00002"/><category scheme="http://www.blogger.com/atom/ns#" term="tfactl"/><category scheme="http://www.blogger.com/atom/ns#" term="trace file analyzer"/><title type="text">TFA-00002 : Oracle Trace File Analyzer (TFA) is not running</title><content type="html">When I tried to view oratop on database server appears below error: 
&lt;pre&gt;tfactl oratop -database testdb
TFA-00002 Oracle Trace File Analyzer (TFA) is not running
&lt;/pre&gt;

&lt;b&gt;Solution :&lt;/b&gt;

As a root user

&lt;pre&gt;/etc/init.d/init.tfa  start  
Starting TFA..
start: Job is already running: oracle-tfa
Waiting up to 100 seconds for TFA to be started..
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
Successfully started TFA Process..
. . . . .
TFA-00002 : Oracle Trace File Analyzer (TFA) is not running
TFA Failed to start listening for commands

&lt;/pre&gt;

If it is not started successfully than check below :&amp;nbsp;&lt;div&gt;run synctfanodes.sh  if you have root password .&amp;nbsp;&lt;/div&gt;&lt;div&gt;if no root password copy below files to TFA Failed node and try to restart TFA ..

Please check whether these 4 files exist on all nodes are similar.&lt;/div&gt;&lt;div&gt;TFA_HOME/server.jks&amp;nbsp;&lt;/div&gt;&lt;div&gt;TFA_HOME/client.jks&amp;nbsp;&lt;/div&gt;&lt;div&gt;TFA_HOME/internal/ssl.properties&amp;nbsp;&lt;/div&gt;&lt;div&gt;TFA_HOME/internal/&amp;nbsp;&lt;/div&gt;&lt;div&gt;portmapping.txt

If not similar just copy these files to TFA Failing node and try TFA Restart ..It Worked for me .

&lt;pre&gt; 
./tfactl  -v "debug" start
Starting TFA..
start: Job is already running: oracle-tfa
Waiting up to 100 seconds for TFA to be started..
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
Successfully started TFA Process..
. . . . .
TFA Started and listening for commands

tfactl print status

.------------------------------------------------------------------------------------------------.
| Host    | Status of TFA | PID    | Port | Version    | Build ID             | Inventory Status |
+---------+---------------+--------+------+------------+----------------------+------------------+
| x82db01 | RUNNING       | 272939 | 5000 | 21.2.1.0.0 | 21210020210813042249 | COMPLETE         |
'---------+---------------+--------+------+------------+----------------------+------------------'
&lt;/pre&gt;

After that we can use oratop and monitor database with : 

tfactl oratop -database testdb&lt;/div&gt;</content><link href="https://dbacatalog.blogspot.com/feeds/3484704188497231530/comments/default" rel="replies" title="Post Comments" type="application/atom+xml"/><link href="https://dbacatalog.blogspot.com/2022/01/tfa-00002-oracle-trace-file-analyzer-tfa-is-not-running.html#comment-form" rel="replies" title="0 Comments" type="text/html"/><link href="https://www.blogger.com/feeds/4295570291735945398/posts/default/3484704188497231530" rel="edit" type="application/atom+xml"/><link href="https://www.blogger.com/feeds/4295570291735945398/posts/default/3484704188497231530" rel="self" type="application/atom+xml"/><link href="https://dbacatalog.blogspot.com/2022/01/tfa-00002-oracle-trace-file-analyzer-tfa-is-not-running.html" rel="alternate" title="TFA-00002 : Oracle Trace File Analyzer (TFA) is not running" type="text/html"/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image height="16" rel="http://schemas.google.com/g/2005#thumbnail" src="https://img1.blogblog.com/img/b16-rounded.gif" width="16"/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4295570291735945398.post-8114937388564239154</id><published>2021-12-17T18:00:00.001+04:00</published><updated>2023-07-20T21:06:08.807+04:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="ORA-00600"/><category scheme="http://www.blogger.com/atom/ns#" term="ORA-48216"/><category scheme="http://www.blogger.com/atom/ns#" term="Oracle"/><category scheme="http://www.blogger.com/atom/ns#" term="V$DIAG_ALERT_EXT"/><title type="text">ORA-00600 [17147] ORA-48216 When Querying V$DIAG_ALERT_EXT View</title><content type="html">When I try to query v$diag_alert_ext appears error:
&lt;pre&gt;
ORA-00600: internal error code, arguments: [17147], [0x110A09510], [], [], [], [], [], [], [], [], [], []
ORA-48216: Field Len Exceeds Max Field Length [5] [30] [29286] [66]
&lt;/pre&gt;
Here is query which is used for quering alert.log entries
&lt;pre&gt;
select instance_id, originating_timestamp, message_text, '1'
  from table(gv$(cursor (select instance_id, originating_timestamp, message_text
                    from v$diag_alert_ext a
                   where originating_timestamp &gt; (sysdate - 1)
                     and (message_text like '%ORA-%' or
                         message_text like '%CRS-%'))))
 order by originating_timestamp desc;
&lt;/pre&gt;

As I found on metalink The issue is matching unpublished Bug 21266522 duplicate of unpublished Bug 18909196 - QUERIES INVOLVING X$DBGALERTEXT SOMETIMES FAIL DUE TO ORA-48216.
&lt;br /&gt;
&lt;b&gt;Solution:&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
1. Download and install the one-off Patch 18909196, available for your platform (this issue only exists in 11.2.0.4). If a patch does not exist for your platform please open a Service Request for Oracle Support.
&lt;br /&gt;

-OR-
&lt;br /&gt;
2. Implement the workaround: remove (i.e. delete) the xml-based alert log within &lt;ADR_HOME&gt;/alert/log.xml (and log_*.xml).
&lt;br /&gt;</content><link href="https://dbacatalog.blogspot.com/feeds/8114937388564239154/comments/default" rel="replies" title="Post Comments" type="application/atom+xml"/><link href="https://dbacatalog.blogspot.com/2021/12/ora-00600-17147-ora-48216-when-querying-diag-alert-ext-view.html#comment-form" rel="replies" title="0 Comments" type="text/html"/><link href="https://www.blogger.com/feeds/4295570291735945398/posts/default/8114937388564239154" rel="edit" type="application/atom+xml"/><link href="https://www.blogger.com/feeds/4295570291735945398/posts/default/8114937388564239154" rel="self" type="application/atom+xml"/><link href="https://dbacatalog.blogspot.com/2021/12/ora-00600-17147-ora-48216-when-querying-diag-alert-ext-view.html" rel="alternate" title="ORA-00600 [17147] ORA-48216 When Querying V$DIAG_ALERT_EXT View" type="text/html"/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image height="16" rel="http://schemas.google.com/g/2005#thumbnail" src="https://img1.blogblog.com/img/b16-rounded.gif" width="16"/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4295570291735945398.post-4734441719557462183</id><published>2021-11-16T19:10:00.001+04:00</published><updated>2023-07-20T21:06:43.949+04:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="ORA-12547: TNS:lost contact"/><category scheme="http://www.blogger.com/atom/ns#" term="Oracle"/><category scheme="http://www.blogger.com/atom/ns#" term="sqlplus"/><category scheme="http://www.blogger.com/atom/ns#" term="srvctl"/><title type="text">After startup database with srvctl, sqlplus as sysdba results in ORA-12547: TNS:lost contact</title><content type="html">We had a very strange situation on one of our test environment:&amp;nbsp;&lt;div&gt;1. If use sqlplus to start instance, then use srvctl to stop it will failed with ORA-12547
&lt;pre&gt;[oracle@test_host:/home/oracle]$sqlplus / as sysdba

SQL*Plus: Release 19.0.0.0.0 - Production on Fri Nov 15 12:57:46 2021
Version 19.3.0.0.0

Copyright (c) 1982, 2019, Oracle. All rights reserved.

Connected to:
Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
Version 19.3.0.0.0

SQL&amp;gt; exit
Disconnected from Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
Version 19.3.0.0.0
[oracle@test_host:/home/oracle]$srvctl stop database -d testdb
PRCD-1334 : failed to stop database testdb
PRCD-1124 : Failed to stop database testdb and its services
PRCD-1131 : Failed to stop database testdb and its services on nodes
PRCR-1133 : Failed to stop database testdb and its running services
PRCR-1132 : Failed to stop resources using a filter
ORA-12547: TNS:lost contact
CRS-2675: Stop of 'ora.testdb.db' on 'test_host' failed
&lt;/pre&gt;
2 . If use srvctl to start instance, sqlplus / as sysdba will get ORA-12547
&lt;pre&gt;[oracle@test_host:/home/oracle]$sqlplus / as sysdba

SQL*Plus: Release 19.0.0.0.0 - Production on Thu Nov 15 12:59:21 2021
Version 19.3.0.0.0

Copyright (c) 1982, 2019, Oracle. All rights reserved.

ERROR:
ORA-12547: TNS:lost contact

Enter user-name:
ERROR:
ORA-12547: TNS:lost contact

Enter user-name:
ERROR:
ORA-12547: TNS:lost contact

SP2-0157: unable to CONNECT to ORACLE after 3 attempts, exiting SQL*Plus
&lt;/pre&gt;

3. Checked the permission for oracle binary and library and orabasetab, no problem found:
&lt;pre&gt;$ls -l $ORACLE_HOME/bin/oracle
-rwsr-s--x 1 oracle asmadmin 441253072 Nov 15 12:29 /u01/app/oracle/product/19.0.0/db_1/bin/oracle
&lt;/pre&gt;
( No change after we start instance by using srvctl or sqlplus )
&lt;pre&gt;$ls -l $ORACLE_HOME|grep lib
drwxr-xr-x 2 oracle oinstall 4096 Apr 17 2019 jlib
drwxr-xr-x 4 oracle oinstall 12288 Nov 13 12:29 lib

$more orabasetab
#orabasetab file is used to track Oracle Home associated with Oracle Base
/u01/app/oracle/product/19.0.0/db_1:/u01/app/oracle:OraDB19Home1:N:
&lt;/pre&gt;

&lt;b&gt;Solution:&lt;/b&gt;
The issue is due to incorrect configuration for Oracle home in OCR:
&lt;pre&gt;[grid@test_host:/home/grid]$srvctl config database -db testdb
Database unique name: testdb
Database name:
Oracle home: /u01/app/oracle/product/19.0.0/db_1/
&lt;/pre&gt;
&lt;b&gt;So problem is / symbol at the end of oracle_home  and we can change it&lt;/b&gt;

&lt;pre&gt;srvctl stop database -d testdb
srvctl modify database -d testdb -o /u01/app/oracle/product/19.0.0/db_1
srvctl start database -d testdb
&lt;/pre&gt;

This is corresponding oracle support doc: 
&lt;b&gt;DB started by sqlplus cannot be stopped by srvctl( ORA-12547 ), and vice versa (Doc ID 2612663.1)&lt;/b&gt;
&lt;/there&gt;&lt;/pre&gt;&lt;/div&gt;</content><link href="https://dbacatalog.blogspot.com/feeds/4734441719557462183/comments/default" rel="replies" title="Post Comments" type="application/atom+xml"/><link href="https://dbacatalog.blogspot.com/2021/11/after-startup-database-with-srvctl-sqlplus-as-sysdba-results-in-ora-12547-tns-lost-contact.html#comment-form" rel="replies" title="0 Comments" type="text/html"/><link href="https://www.blogger.com/feeds/4295570291735945398/posts/default/4734441719557462183" rel="edit" type="application/atom+xml"/><link href="https://www.blogger.com/feeds/4295570291735945398/posts/default/4734441719557462183" rel="self" type="application/atom+xml"/><link href="https://dbacatalog.blogspot.com/2021/11/after-startup-database-with-srvctl-sqlplus-as-sysdba-results-in-ora-12547-tns-lost-contact.html" rel="alternate" title="After startup database with srvctl, sqlplus as sysdba results in ORA-12547: TNS:lost contact" type="text/html"/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image height="16" rel="http://schemas.google.com/g/2005#thumbnail" src="https://img1.blogblog.com/img/b16-rounded.gif" width="16"/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4295570291735945398.post-8862867234515261722</id><published>2021-09-07T12:35:00.001+04:00</published><updated>2021-09-07T12:35:18.120+04:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="fixed table"/><category scheme="http://www.blogger.com/atom/ns#" term="Oracle"/><category scheme="http://www.blogger.com/atom/ns#" term="x$ table"/><title type="text">How To Grant Select On X$ Objects In Oracle</title><content type="html">The X$ tables are owned by the SYS database user and are read-only, which is why they are referred to as fixed tables and the V$ views are referred to as fixed views. 

Only SYS can query the X$ tables, they cannot be granted.  However, you can create view on them and grant the view.

You cannot grant a select privilege on X$* tables to another user due to they are internally protected.

If you try grant select on x$ objects then you will receive the following error:
&lt;pre&gt;
SQL&gt; grant select on sys.x$tables to scott;
grant select on sys.x$tables to scott
*
ERROR at line 1:
ORA-02030: can only select from fixed tables/views
&lt;/pre&gt;
Alternatively, We can create a view and then grant a select privilege on that new view to another user as follow:

– Now create my own  user and gives related grants to my user:
&lt;pre&gt;
SQL&gt; create user qobesa identified by pass ;
User created.

SQL&gt; grant resource to qobesa ;

Grant succeeded.

SQL&gt; grant connect to qobesa ;

Grant succeeded.
&lt;/pre&gt;
Connect database as my user qobesa and try to select any of X$ tables:
&lt;pre&gt;
SQL&gt; connect qobesa/pass
Connected.

SQL&gt; show user
USER is "qobesa"

SQL&gt; select * from sys.x$ksppcv;
select * from sys.x$ksppcv
*
ERROR at line 1:
ORA-00942: table or view does not exist
&lt;/pre&gt;
As you can see We are hitting ORA-00942. Let us try to give Select grant to our new user qobesa:
&lt;pre&gt;
SQL&gt; show user
USER is "SYS"
SQL&gt; grant select on sys.x$ksppcv to qobesa;
grant select on sys.x$ksppcv to qobesa
*
ERROR at line 1:
ORA-02030: can only select from fixed tables/views
&lt;/pre&gt;
As you can see We can not give select grant and hitting ORA-02030 error.

Now Let us create view and grant select to our new view.
&lt;pre&gt;
SQL&gt; create view vw_x$ksppcv as select * from sys.x$ksppcv;

View created.

SQL&gt; grant select on sys.vw_x$ksppcv to qobesa;

Grant succeeded.
&lt;/pre&gt;

Now Let us try to select any x$table such as:
&lt;pre&gt;
SQL&gt; select * from sys.vw_x$ksppcv;
&lt;/pre&gt;

That's all.</content><link href="https://dbacatalog.blogspot.com/feeds/8862867234515261722/comments/default" rel="replies" title="Post Comments" type="application/atom+xml"/><link href="https://dbacatalog.blogspot.com/2021/09/how-to-grant-select-on-x-objects-in-oracle.html#comment-form" rel="replies" title="0 Comments" type="text/html"/><link href="https://www.blogger.com/feeds/4295570291735945398/posts/default/8862867234515261722" rel="edit" type="application/atom+xml"/><link href="https://www.blogger.com/feeds/4295570291735945398/posts/default/8862867234515261722" rel="self" type="application/atom+xml"/><link href="https://dbacatalog.blogspot.com/2021/09/how-to-grant-select-on-x-objects-in-oracle.html" rel="alternate" title="How To Grant Select On X$ Objects In Oracle" type="text/html"/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image height="16" rel="http://schemas.google.com/g/2005#thumbnail" src="https://img1.blogblog.com/img/b16-rounded.gif" width="16"/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4295570291735945398.post-6601152095959126699</id><published>2021-06-14T15:31:00.001+04:00</published><updated>2023-07-21T11:27:02.583+04:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="dataguard"/><category scheme="http://www.blogger.com/atom/ns#" term="Oracle"/><category scheme="http://www.blogger.com/atom/ns#" term="physical standby"/><category scheme="http://www.blogger.com/atom/ns#" term="snapshot standby"/><title type="text">How to convert physical standby database to snapshot standby database</title><content type="html">&lt;p&gt;Snapshot Standby database feature in dataguard environment gives us opportunity to open standby database in read write mode and then return to back as physical standby in read only.&lt;/p&gt;&lt;p&gt;We can use dgmgrl or sqlplus to convert physical standby database to snapsho standby database, here I'll write both method.&lt;/p&gt;&lt;p&gt;To open physical standby database in read write mode as snapshot standby database, flashback must be on.&lt;/p&gt;&lt;p&gt;&lt;br /&gt; 
Using SQLPLUS to convert phyical standby database to snapshot standby database:&lt;br /&gt;
&lt;pre&gt;
SQL&gt; alter system set db_recovery_file_dest='+DG';
System altered.

SQL&gt; alter system set db_recovery_file_dest_size=500G;
System altered.

SQL&gt; recover managed standby database cancel;

Media recovery complete.

SQL&gt; shutdown immediate;

SQL&gt; startup mount;

SQL&gt; alter database flashback on;
Database altered.

SQL&gt; select flashback_on from v$database;
FLASHBACK_ON
------------------
YES

SQL&gt; ALTER DATABASE CONVERT TO SNAPSHOT STANDBY;
Database altered.

SQL&gt; select NAME, OPEN_MODE, GUARD_STATUS, DATABASE_ROLE from v$database;
NAME      OPEN_MODE            GUARD_S DATABASE_ROLE
--------- -------------------- ------- ----------------
TESTDB     MOUNTED              NONE    SNAPSHOT STANDBY

SQL&gt; shut immediate

SQL&gt; startup

SQL&gt; Select NAME, OPEN_MODE, GUARD_STATUS, DATABASE_ROLE from v$database;
NAME      OPEN_MODE            GUARD_S DATABASE_ROLE
--------- -------------------- ------- ----------------
TESTDB     READ WRITE           NONE    SNAPSHOT STANDBY
&lt;/pre&gt;
&lt;br /&gt;
Convert snapshot standby database back to physical standby database:&lt;br /&gt;
&lt;pre&gt;
SQL&gt; select NAME, OPEN_MODE, GUARD_STATUS, DATABASE_ROLE from v$database;
NAME      OPEN_MODE            GUARD_S DATABASE_ROLE
--------- -------------------- ------- ----------------
TESTDB     READ WRITE           NONE    SNAPSHOT STANDBY

SQL&gt; shut immediate

SQL&gt; Startup nomount

SQL&gt; alter database mount;

SQL&gt; ALTER DATABASE CONVERT TO PHYSICAL STANDBY;
Database altered.

SQL&gt; shut immediate

SQL&gt; alter database mount standby database;
Database altered.

SQL&gt; recover managed standby database disconnect from session;
Media recovery complete.

SQL&gt; Select NAME, OPEN_MODE, GUARD_STATUS, DATABASE_ROLE from v$database;
NAME      OPEN_MODE            GUARD_S DATABASE_ROLE
--------- -------------------- ------- ----------------
TESTDB     MOUNTED              NONE    PHYSICAL STANDBY
&lt;/pre&gt;
Using DGMGRL to convert snapshot standby database to physical standby and return back:&lt;br /&gt;
&lt;pre&gt;

-- convert physical standby to snapshot standby
DGMGRL&gt; CONVERT DATABASE TESTDB TO SNAPSHOT STANDBY;

-- convert snapshot satndby to physical standby
DGMGRL&gt; CONVERT DATABASE TESTDB to PHYSICAL STANDBY;
&lt;/pre&gt;
</content><link href="https://dbacatalog.blogspot.com/feeds/6601152095959126699/comments/default" rel="replies" title="Post Comments" type="application/atom+xml"/><link href="https://dbacatalog.blogspot.com/2021/06/how-to-convert-physical-standby-to-snapshot-standby.html#comment-form" rel="replies" title="0 Comments" type="text/html"/><link href="https://www.blogger.com/feeds/4295570291735945398/posts/default/6601152095959126699" rel="edit" type="application/atom+xml"/><link href="https://www.blogger.com/feeds/4295570291735945398/posts/default/6601152095959126699" rel="self" type="application/atom+xml"/><link href="https://dbacatalog.blogspot.com/2021/06/how-to-convert-physical-standby-to-snapshot-standby.html" rel="alternate" title="How to convert physical standby database to snapshot standby database" type="text/html"/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image height="16" rel="http://schemas.google.com/g/2005#thumbnail" src="https://img1.blogblog.com/img/b16-rounded.gif" width="16"/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4295570291735945398.post-721973051048501839</id><published>2021-05-25T19:45:00.001+04:00</published><updated>2023-07-21T11:31:41.489+04:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="online index"/><category scheme="http://www.blogger.com/atom/ns#" term="ORA-01450"/><category scheme="http://www.blogger.com/atom/ns#" term="ORA-01450: maximum key length (3215) exceeded"/><category scheme="http://www.blogger.com/atom/ns#" term="Oracle"/><category scheme="http://www.blogger.com/atom/ns#" term="oracle online index"/><title type="text">ORA-01450: maximum key length (3215) exceeded</title><content type="html">Today I faced very interesting thig and I want to share it.&lt;br /&gt;I am just trying to create index online and getting this error:&lt;br /&gt;
&lt;pre&gt;SQL&amp;gt; create index owner.index_name_i1 on owner.table_name(column_name) tablespace tbl_name online;
 
ORA-00604: error occurred at recursive SQL level 1
ORA-01450: maximum key length (3215) exceeded
 
SQL&amp;gt; &lt;span style="font-family: Times New Roman;"&gt;&lt;span style="white-space: normal;"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;
&lt;div&gt;&lt;b&gt;Problem:&lt;/b&gt;&lt;/div&gt;&lt;div&gt;When creating an index the total length of the index cannot exceed a certain value. Primarily this value depends on DB_BLOCK_SIZE.&lt;/div&gt;&lt;div&gt;If 2K block size then maximum index key length=758&lt;/div&gt;&lt;div&gt;If 4K block size then maximum index key length=1578&lt;/div&gt;&lt;div&gt;If 8K block size then maximum index key length=3218&amp;nbsp;&lt;/div&gt;&lt;div&gt;If 16K block size then maximum index key length=6498&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;How the maximum index key length is measured by?&lt;/div&gt;&lt;div&gt;Maximum index key length=Total index length (Sum of width of all indexed column + the number of indexed columns) + Length of the key (2 bytes) + ROWID (6 bytes) + the length of the rowid (1 byte)&lt;/div&gt;&lt;div&gt;The index key size is limited by the value of db_block_size, because a key value may not span multiple blocks. So, based on the size of the block size of index depends. In fact, it is required that any index block must contain at least TWO index entries per block.&lt;/div&gt;&lt;div&gt;So we can say that the maximum key length for an index will be less than half of the DB_BLOCK_SIZE. But we know that in a block there also needed space for PCTFREE, INITRANS and space for block overhead (Block Header, ROW Directory, Table Directory, etc.). After considering these bytes the actual space that can be used for the Index key is actually just over 1/3 of the DB_BLOCK_SIZE.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;Solution:&lt;/b&gt;&lt;/div&gt;&lt;div&gt;1) Increase your database block size. Create a tablespace with bigger block size and create index on that tablespace.&lt;/div&gt;&lt;div&gt;2) If you have index on multiple columns then you can split index to single or 2 columns so that size does not extended over it can handle.&lt;/div&gt;&lt;div&gt;3) create/rebuild the index without online clause.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Because the online rebuild of the index creates a journal table and index. This internal journal IOT table contains more columns in its index.&amp;nbsp;&lt;/div&gt;&lt;div&gt;This is a feature of online rebuild. This time the error arises because that current value of the initialization parameter db_block_size is not large enough to create internal journal IOT.&lt;/div&gt;

</content><link href="https://dbacatalog.blogspot.com/feeds/721973051048501839/comments/default" rel="replies" title="Post Comments" type="application/atom+xml"/><link href="https://dbacatalog.blogspot.com/2021/05/ora-01450-maximum-key-length-3215-exceeded.html#comment-form" rel="replies" title="0 Comments" type="text/html"/><link href="https://www.blogger.com/feeds/4295570291735945398/posts/default/721973051048501839" rel="edit" type="application/atom+xml"/><link href="https://www.blogger.com/feeds/4295570291735945398/posts/default/721973051048501839" rel="self" type="application/atom+xml"/><link href="https://dbacatalog.blogspot.com/2021/05/ora-01450-maximum-key-length-3215-exceeded.html" rel="alternate" title="ORA-01450: maximum key length (3215) exceeded" type="text/html"/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image height="16" rel="http://schemas.google.com/g/2005#thumbnail" src="https://img1.blogblog.com/img/b16-rounded.gif" width="16"/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4295570291735945398.post-8399711869747943235</id><published>2020-11-08T12:39:00.004+04:00</published><updated>2023-07-21T11:33:55.463+04:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="cron.allow"/><category scheme="http://www.blogger.com/atom/ns#" term="cron.deny"/><category scheme="http://www.blogger.com/atom/ns#" term="crontab"/><category scheme="http://www.blogger.com/atom/ns#" term="Oracle"/><category scheme="http://www.blogger.com/atom/ns#" term="schedule in cron in linux"/><title type="text">You (oracle) are not allowed to use this program (crontab)</title><content type="html">&lt;p&gt;&amp;nbsp;On one of our server we are trying to schedule some os script in cron but appears oracle user can't do that:&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;
&lt;pre&gt;$ crontab -l
You (oracle) are not allowed to use this program (crontab)
See crontab(1) for more information
&lt;/pre&gt;
&lt;br /&gt;
&lt;b&gt;Solution :&lt;/b&gt;
&lt;br /&gt;
This error is due to oracle don’t have access to crontab.
&lt;br /&gt;
There are two files on server, to allow and deny access to crontab, Files are named as etc/cron.allow and /etc/cron.deny
&lt;br /&gt;
check that if oracle user is present in cron.deny file. if it is present remove oracle user from cron.deny file and
add oracle user to cron.allow file.
&lt;br /&gt;
if the files "/etc/cron.allow" and "/etc/cron.deny" files are not present on server, we can create both files manually.
&lt;br /&gt;
&lt;pre&gt;
# cat /etc/cron.allow
root
&lt;/pre&gt;
&lt;br /&gt;
So, I haved added oracle user to cron.allow file, file will look as follows:
&lt;br /&gt;
&lt;pre&gt;
# cat /etc/cron.allow
root
oracle
&lt;/pre&gt;
&lt;br /&gt;
Now Oracle user able to access the crontab.
&lt;br /&gt;
&lt;pre&gt;
$ crontab -l
no crontab for oracle
&lt;/pre&gt;</content><link href="https://dbacatalog.blogspot.com/feeds/8399711869747943235/comments/default" rel="replies" title="Post Comments" type="application/atom+xml"/><link href="https://dbacatalog.blogspot.com/2020/11/you-oracle-are-not-allowed-to-use-this-program-crontab.html#comment-form" rel="replies" title="0 Comments" type="text/html"/><link href="https://www.blogger.com/feeds/4295570291735945398/posts/default/8399711869747943235" rel="edit" type="application/atom+xml"/><link href="https://www.blogger.com/feeds/4295570291735945398/posts/default/8399711869747943235" rel="self" type="application/atom+xml"/><link href="https://dbacatalog.blogspot.com/2020/11/you-oracle-are-not-allowed-to-use-this-program-crontab.html" rel="alternate" title="You (oracle) are not allowed to use this program (crontab)" type="text/html"/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image height="16" rel="http://schemas.google.com/g/2005#thumbnail" src="https://img1.blogblog.com/img/b16-rounded.gif" width="16"/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4295570291735945398.post-6108571271154899101</id><published>2020-10-29T18:01:00.006+04:00</published><updated>2023-07-21T11:35:22.724+04:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="DGMGRL"/><category scheme="http://www.blogger.com/atom/ns#" term="ORA-16751"/><category scheme="http://www.blogger.com/atom/ns#" term="Oracle"/><category scheme="http://www.blogger.com/atom/ns#" term="physical standby"/><category scheme="http://www.blogger.com/atom/ns#" term="standby"/><category scheme="http://www.blogger.com/atom/ns#" term="standby switchover"/><title type="text">ORA-16751: failed to switchover to physical standby database and Switchover Ends with Two Physical Standby Databases</title><content type="html">You might find yourself in a situation where your switchover fails and left your
environment with two physical standby databases.
&lt;br /&gt;
From the broker your might see the following error:
&lt;br /&gt;
ORA-16816: incorrect database role
&lt;br /&gt;
&lt;b&gt;Solution:&lt;/b&gt;
&lt;br /&gt;
&lt;b&gt;!!!!!!!!!!!!!!!!! First of all you need to stop database instances on all servers.&lt;/b&gt;
&lt;br /&gt;

1. Logon (as sysdba) to the instance that was your Primary database instance before the switchover.
&lt;br /&gt;
&lt;br /&gt;
2. Confirm the database role.
&lt;br /&gt;
&lt;pre&gt;
SQL&gt; select database_role from v$database;

DATABASE_ROLE

-------------------------------

PHYSICAL STANDBY
&lt;/pre&gt;
&lt;br /&gt;
3.       Shutdown the instance.
&lt;br /&gt;
&lt;pre&gt;
SQL&gt; shutdown immediate;

Oracle Instance Shutdown.
&lt;/pre&gt;
&lt;br /&gt;
4.       Mount the database.
&lt;br /&gt;
&lt;pre&gt;
SQL&gt; startup mount;

Database opened.
&lt;/pre&gt;
&lt;br /&gt;
5.       Cancel the MRP process. You will receive "ORA-16136: Managed Standby Recovery not active" if it is not running, but you can ignore.
&lt;br /&gt;
&lt;pre&gt;
SQL&gt; alter database recover managed standby database cancel;
&lt;/pre&gt;
&lt;br /&gt;
6.       Terminate the current switchover to Standby that never completed fully.  
&lt;br /&gt;
&lt;pre&gt;
SQL&gt; alter database recover managed standby database finish;

Database altered
&lt;/pre&gt;
&lt;br /&gt;
7.       Now switchover to Primary.
&lt;br /&gt;
&lt;pre&gt;
SQL&gt; alter database commit to switchover to primary with session shutdown;

Database altered
&lt;/pre&gt;
&lt;br /&gt;
8.       Open the database.
&lt;br /&gt;
&lt;pre&gt;
SQL&gt; alter database open;

Database altered.

&lt;/pre&gt;
&lt;br /&gt;
9.       Confirm the database role.
&lt;br /&gt;
&lt;pre&gt;
SQL&gt; select database_role from v$database;

DATABASE_ROLE

------------------------------

PRIMARY


&lt;/pre&gt;
&lt;br /&gt;
Additional Steps
&lt;br /&gt;
When attempting to open the Primary Database you may suffer the following error:
&lt;br /&gt;
&lt;pre&gt;
SQL&gt; alter database open

*

ERROR at line 1:

ORA-16649: possible failover to another database prevents this database being opened
&lt;/pre&gt;
&lt;br /&gt;
In this case, before you can open the database, you must disable Data Guard Broker as follows:
&lt;br /&gt;
&lt;pre&gt;
 SQL&gt; alter system set dg_broker_start=false scope=both;

 System altered.

SQL&gt; alter database open;

 Database altered.
&lt;/pre&gt;
&lt;br /&gt;

Now re-install Data Guard Broker. 
</content><link href="https://dbacatalog.blogspot.com/feeds/6108571271154899101/comments/default" rel="replies" title="Post Comments" type="application/atom+xml"/><link href="https://dbacatalog.blogspot.com/2020/10/ora-16751-failed-to-switchover-to-physical-standby-switchover-ends-with-two-physical-standby-databases.html#comment-form" rel="replies" title="0 Comments" type="text/html"/><link href="https://www.blogger.com/feeds/4295570291735945398/posts/default/6108571271154899101" rel="edit" type="application/atom+xml"/><link href="https://www.blogger.com/feeds/4295570291735945398/posts/default/6108571271154899101" rel="self" type="application/atom+xml"/><link href="https://dbacatalog.blogspot.com/2020/10/ora-16751-failed-to-switchover-to-physical-standby-switchover-ends-with-two-physical-standby-databases.html" rel="alternate" title="ORA-16751: failed to switchover to physical standby database and Switchover Ends with Two Physical Standby Databases" type="text/html"/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image height="16" rel="http://schemas.google.com/g/2005#thumbnail" src="https://img1.blogblog.com/img/b16-rounded.gif" width="16"/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4295570291735945398.post-3779362348178259149</id><published>2020-10-29T16:30:00.004+04:00</published><updated>2023-07-21T11:36:33.806+04:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="ORA-00600"/><category scheme="http://www.blogger.com/atom/ns#" term="Oracle"/><category scheme="http://www.blogger.com/atom/ns#" term="qcisSetPlsqlCtx:tzi init"/><category scheme="http://www.blogger.com/atom/ns#" term="zoneinfo"/><title type="text">ORA-00600: internal error code, arguments: [qcisSetPlsqlCtx:tzi init], [], [], [], [], [], [], [], [], [], [], []</title><content type="html">&lt;p&gt;I was trying to restore Oracle database on another host and after open database with resetlogs option in alert.log file appear below internal error:&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;
&lt;pre&gt;ORA-00600: internal error code, arguments: [qcisSetPlsqlCtx:tzi init], [], [], [], [], [], [], [], [], [], [], []
&lt;/pre&gt;
&lt;br /&gt;
Beside this, database was working very slowly, every command was working extremely slowly and overall database working was unresponsive.
&lt;br /&gt;
&lt;b&gt;Solution:&lt;/b&gt; 
&lt;br /&gt;
1) Check files under $ORACLE_HOME/oracore/zoneinfo directory on database server, where backup is taken and replace files
on local $ORACLE_HOME/oracore/zoneinfo where restore is done.
&lt;br /&gt;
2) Restart database and everything is going smoothly.
&lt;br /&gt;</content><link href="https://dbacatalog.blogspot.com/feeds/3779362348178259149/comments/default" rel="replies" title="Post Comments" type="application/atom+xml"/><link href="https://dbacatalog.blogspot.com/2020/10/ora-00600-internal-error-code-arguments-qcisSetPlsqlCtxtzi-init.html#comment-form" rel="replies" title="0 Comments" type="text/html"/><link href="https://www.blogger.com/feeds/4295570291735945398/posts/default/3779362348178259149" rel="edit" type="application/atom+xml"/><link href="https://www.blogger.com/feeds/4295570291735945398/posts/default/3779362348178259149" rel="self" type="application/atom+xml"/><link href="https://dbacatalog.blogspot.com/2020/10/ora-00600-internal-error-code-arguments-qcisSetPlsqlCtxtzi-init.html" rel="alternate" title="ORA-00600: internal error code, arguments: [qcisSetPlsqlCtx:tzi init], [], [], [], [], [], [], [], [], [], [], []" type="text/html"/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image height="16" rel="http://schemas.google.com/g/2005#thumbnail" src="https://img1.blogblog.com/img/b16-rounded.gif" width="16"/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4295570291735945398.post-2672896372153445841</id><published>2020-10-19T20:22:00.002+04:00</published><updated>2023-07-21T11:37:40.275+04:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="CONTROLFILE"/><category scheme="http://www.blogger.com/atom/ns#" term="ORA-00245"/><category scheme="http://www.blogger.com/atom/ns#" term="Oracle"/><category scheme="http://www.blogger.com/atom/ns#" term="RAC"/><category scheme="http://www.blogger.com/atom/ns#" term="RMAN-03009"/><category scheme="http://www.blogger.com/atom/ns#" term="snapshot"/><title type="text">ORA-00245: control file backup failed; in Oracle RAC, target might not be on shared storage</title><content type="html">RAC database backup with RMAN failed with error:
&lt;br /&gt;
&lt;pre&gt;
Starting Control File and SPFILE Autobackup at 2015-09-14:23:13:44
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03009: failure of Control File and SPFILE Autobackup command on Disk channel at 2015-09-14:23:13:45
ORA-00245: control file backup failed; in Oracle RAC, target might not be on shared storage
&lt;/pre&gt;
&lt;br /&gt;
This is because From 11gR2 onwards, the controlfile backup happens without holding the controlfile enqueue. For non-RAC database, this doesn't change anything. 
But for RAC database, due to the changes made to the controlfile backup mechanism in 11gR2, any instance in the cluster may write to the snapshot controlfile. Due to this snapshot controlfile need to be visible to all instances.
The snapshot controlfile MUST be accessible by all nodes of a RAC database, if the snapshot controlfile does not reside on a shared device error will be raised at the time of RMAN backup while taking snapshot of controlfile. 
This applies to backing up controlfile using sqlplus / having autobackup of controlfile configured on non shared location.
&lt;br /&gt;
&lt;b&gt;Solution:&lt;/b&gt;
&lt;br /&gt;
This is a RAC specific configuration issue and the correct configuration is as described below
It is changed behaviour which requires that the snapshot controlfile in a RAC environment, is on a shared location.
&lt;br /&gt;
Check the snapshot controlfile location: 
&lt;br /&gt;
&lt;pre&gt;
RMAN&gt; show snapshot controlfile name;
&lt;/pre&gt;
&lt;br /&gt;
Configure the snapshot controlfile to a shared disk : 
&lt;br /&gt;
&lt;pre&gt;
RMAN&gt; CONFIGURE SNAPSHOT CONTROLFILE NAME TO '+DG01/snapcf_RACDB.f';
&lt;/pre&gt;


</content><link href="https://dbacatalog.blogspot.com/feeds/2672896372153445841/comments/default" rel="replies" title="Post Comments" type="application/atom+xml"/><link href="https://dbacatalog.blogspot.com/2020/10/ora-00245-control-file-backup-failed-in-oracle-rac-target-might-not-be-on-shared-storage.html#comment-form" rel="replies" title="0 Comments" type="text/html"/><link href="https://www.blogger.com/feeds/4295570291735945398/posts/default/2672896372153445841" rel="edit" type="application/atom+xml"/><link href="https://www.blogger.com/feeds/4295570291735945398/posts/default/2672896372153445841" rel="self" type="application/atom+xml"/><link href="https://dbacatalog.blogspot.com/2020/10/ora-00245-control-file-backup-failed-in-oracle-rac-target-might-not-be-on-shared-storage.html" rel="alternate" title="ORA-00245: control file backup failed; in Oracle RAC, target might not be on shared storage" type="text/html"/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image height="16" rel="http://schemas.google.com/g/2005#thumbnail" src="https://img1.blogblog.com/img/b16-rounded.gif" width="16"/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4295570291735945398.post-4546531826417531618</id><published>2020-10-16T15:23:00.005+04:00</published><updated>2023-07-21T11:38:30.455+04:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Growth SYSAUX"/><category scheme="http://www.blogger.com/atom/ns#" term="Oracle"/><category scheme="http://www.blogger.com/atom/ns#" term="SYS.EXP_HEAD$"/><category scheme="http://www.blogger.com/atom/ns#" term="SYS.EXP_OBJ$"/><category scheme="http://www.blogger.com/atom/ns#" term="SYS.EXP_STAT$"/><category scheme="http://www.blogger.com/atom/ns#" term="SYSAUX"/><title type="text">SYS.EXP_HEAD$ Growth in Tablespace SYSAUX</title><content type="html">&lt;p&gt;&amp;nbsp;Optimizer Expression Tracking allocates too much space in SYSAUX with following objects:&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;
&lt;pre&gt;SYS.EXP_HEAD$
SYS.EXP_OBJ$
SYS.EXP_STAT$
&lt;/pre&gt;
&lt;br /&gt;
Optimizer expression statistics monitoring is introduced in 12.2 database version.
Expression statistics monitoring is enabled by default in 12.2.  For specific applications, this might end up in growing repository segments.
Monitoring expression statistics is introduced for a new optimizer feature in 12.2 to collect expression usage statistics in SQL queries.
Monitoring feature is controlled by parameter "_column_tracking_level".
High growth have been noticed when monitoring expression statistics is active, enabled by default.
Note: There is no effects to execution plan of SQL if in-memory is disable.
What is this feature used for? You can imagine that it is useful for optimization in general, but right now it has a single "client": Oracle Database In-Memory, where it’s referred to as the Expression Statistics Store (ESS).&lt;br /&gt;&lt;b&gt;Solution:&lt;/b&gt;&lt;br /&gt;
Disable future monitoring:&lt;br /&gt;
&lt;pre&gt;alter system set "_column_tracking_level"=17 scope=both;
--wait 10 minutes
&lt;/pre&gt;
&lt;br /&gt;
To purge data from tables:
&lt;br /&gt;
&lt;pre&gt;exec DBMS_STATS.FLUSH_DATABASE_MONITORING_INFO();
truncate table sys.exp_head$ drop storage;
truncate table sys.exp_obj$ drop storage;
truncate table sys.exp_stat$ drop storage;
alter index SYS.I_EXP_HEAD$ rebuild tablespace sysaux online;
alter index SYS.I_EXP_STAT$ rebuild tablespace sysaux online;
alter index SYS.I_EXP_OBJ$ rebuild tablespace sysaux online;
&lt;/pre&gt;
&lt;br /&gt;
To re-enable expression statistics monitoring later :
&lt;br /&gt;
&lt;pre&gt;alter system set "_column_tracking_level"=21 scope=both; 
&lt;/pre&gt;
</content><link href="https://dbacatalog.blogspot.com/feeds/4546531826417531618/comments/default" rel="replies" title="Post Comments" type="application/atom+xml"/><link href="https://dbacatalog.blogspot.com/2020/10/sysexphead-growth-in-tablespace-sysaux.html#comment-form" rel="replies" title="0 Comments" type="text/html"/><link href="https://www.blogger.com/feeds/4295570291735945398/posts/default/4546531826417531618" rel="edit" type="application/atom+xml"/><link href="https://www.blogger.com/feeds/4295570291735945398/posts/default/4546531826417531618" rel="self" type="application/atom+xml"/><link href="https://dbacatalog.blogspot.com/2020/10/sysexphead-growth-in-tablespace-sysaux.html" rel="alternate" title="SYS.EXP_HEAD$ Growth in Tablespace SYSAUX" type="text/html"/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image height="16" rel="http://schemas.google.com/g/2005#thumbnail" src="https://img1.blogblog.com/img/b16-rounded.gif" width="16"/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4295570291735945398.post-846065353081071644</id><published>2020-09-30T16:41:00.001+04:00</published><updated>2023-07-21T11:39:17.977+04:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="ORA-04052"/><category scheme="http://www.blogger.com/atom/ns#" term="ORA-06541"/><category scheme="http://www.blogger.com/atom/ns#" term="ORA-06553"/><category scheme="http://www.blogger.com/atom/ns#" term="Oracle"/><category scheme="http://www.blogger.com/atom/ns#" term="PLS-1"/><category scheme="http://www.blogger.com/atom/ns#" term="PLS-908"/><title type="text">PLS-908: The stored format is not supported by this release ORA-06541: PL/SQL: compilation error ORA-06553: PLS-1: ORA-06540</title><content type="html">&lt;p&gt;On one of our database development team member getting below error when trying to use remote database package procedure into local view, which have execute privilege on remote object:&lt;/p&gt;
&lt;pre&gt;ORA-04052: eror occured when looking up remote object test.test_pack@testdb
ORA-06541: PL/SQL: compilation error - compilation aborted
ORA-06553: PLS-1: ORA-06540: PL/SQL: compilation error
ORA-06553: PLS-908: The stored format of test.test_pack@testdb is not supported by this release
&lt;/pre&gt;
On metaLink there is doc &lt;b&gt;&lt;u&gt;PLS-908 Error When Objects Are Accessed Across a DBLink (Doc ID 824951.1)&lt;/u&gt;&lt;/b&gt;
and it's bug, but in our case we have other version than doc says and also development team member said that this view was working some times ago, ooh this was hint for me and I tried to flush shared_pool with command:&lt;pre&gt;SQL&amp;gt; ALTER SYSTEM FLUSH SHARED_POOL;&lt;/pre&gt;&lt;pre&gt;on database where view exist and bingo! it's working now and everybody are happy!
&lt;/pre&gt;</content><link href="https://dbacatalog.blogspot.com/feeds/846065353081071644/comments/default" rel="replies" title="Post Comments" type="application/atom+xml"/><link href="https://dbacatalog.blogspot.com/2020/09/pls-908-stored-format-is-not-supported-by-this-release-.html#comment-form" rel="replies" title="0 Comments" type="text/html"/><link href="https://www.blogger.com/feeds/4295570291735945398/posts/default/846065353081071644" rel="edit" type="application/atom+xml"/><link href="https://www.blogger.com/feeds/4295570291735945398/posts/default/846065353081071644" rel="self" type="application/atom+xml"/><link href="https://dbacatalog.blogspot.com/2020/09/pls-908-stored-format-is-not-supported-by-this-release-.html" rel="alternate" title="PLS-908: The stored format is not supported by this release ORA-06541: PL/SQL: compilation error ORA-06553: PLS-1: ORA-06540" type="text/html"/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image height="16" rel="http://schemas.google.com/g/2005#thumbnail" src="https://img1.blogblog.com/img/b16-rounded.gif" width="16"/></author><thr:total>0</thr:total></entry></feed>