Total Pageviews

Wednesday, September 9, 2026

The Fix for the Double Login Prompt when run report 6i from form

 Since you are running in a Desktop (client-server) architecture, the login prompt and buffering are directly tied to how the local Windows environment interacts with your Oracle 11gR2 database.

In a client-server setup, clicking a report launches a completely separate executable (rwrun60.exe or rwcli60.exe) in the background. Because it is a separate program, it does not inherently know who is logged into the Form (ifrun60.exe).
Here is how to resolve the login prompt and the buffering on your desktop clients:
1. The Fix for the Double Login Prompt
You need to explicitly pass the active database connection from the Form to the Report executable using your Form's PL/SQL code.
Update the trigger that fires your report (usually WHEN-BUTTON-PRESSED) to pass the current session's userid:
plsql
DECLARE
   v_connect_str VARCHAR2(100);
BEGIN
   -- Dynamically fetch the current username/password@database
   v_connect_str := Get_Application_Property(CONNECT_STRING);
   
   -- Pass the connection string using the USERID parameter
   -- Replace 'my_report' with your actual report filename
   Run_Product(REPORTS, 'my_report', SYNCHRONOUS, RUNTIME, 
               FILESYSTEM, 'USERID='||v_connect_str, NULL);
END;
Use code with caution.
2. The Fix for the "Buffering" / Hanging Issue
In a desktop environment, intermittent hanging or buffering is almost always caused by one of three local Windows client configurations:
  • The Default Printer Bug (Most Common): Client-server Oracle Reports 6i strictly queries the Windows default printer to calculate page layouts before rendering the report on the screen. If the user's default printer is a network printer that is offline, sleeping, or slow to respond, the report will buffer or hang indefinitely.
    • Fix: Change the user's Windows default printer to a local virtual printer (like "Microsoft Print to PDF" or "Microsoft XPS Document Writer"). If the report opens instantly after doing this, you have found your culprit.
  • SQLNET.AUTHENTICATION_SERVICES Conflict: Oracle 11gR2 utilizes newer security protocols than Reports 6i natively expects.
    • Fix: On the client desktop machine, open the sqlnet.ora file (located in your Oracle Client Home \NETWORK\ADMIN directory). Look for the line SQLNET.AUTHENTICATION_SERVICES = (NTS) and change it to:
      text
      SQLNET.AUTHENTICATION_SERVICES = (NONE)
      
      Use code with caution.
  • TNSNAMES Path Confusion: If the client machine has multiple Oracle Homes (e.g., one for the 11g database client and one for Forms/Reports 6i), the Report engine might be looking at a different tnsnames.ora file than the Form engine. This causes it to hang while trying to resolve the database alias.
    • Fix: Make sure the exact same tnsnames.ora file is copied into the \NET80\ADMIN (or \NETWORK\ADMIN) folder of your Forms/Reports 6i home directory.
Restart the client system.

plsql
-- Change SYNCHRONOUS to ASYNCHRONOUS
Run_Product(REPORTS, 'my_report', ASYNCHRONOUS, RUNTIME, 
            FILESYSTEM, 'USERID='||v_connect_str, NULL);


Since the network and printer defaults are correct but the issue persists,
the problem is a known compatibility conflict between the 32-bit Oracle 6i
networking layer
and the 64-bit Windows OS / 11g Database architecture.

Sunday, August 18, 2024

ORA-00845: MEMORY_TARGET not supported on this system

 The shared memory file system should have enough space to accommodate the MEMORY_TARGET and MEMORY_MAX_TARGET values.


To verify:


SQL> show parameter memory


NAME                                 TYPE        VALUE

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

hi_shared_memory_address             integer     0

memory_max_target                    big integer 6096M

memory_target                        big integer 6096M

shared_memory_address                integer     0

In UNIX/Linux, you will have to set the shared memory file system accordingly.


Verify:


df -h /dev/shm

Set:


mount -t tmpfs shmfs -o size=<some_value_in_number_with_size> /dev/shm

For example,


mount -t tmpfs shmfs -o size=4096m /dev/shm

Sunday, July 30, 2023

10 Essential Sales KPIs to Track in Your Sales Dashboard

 By putting information together to tell the right story through eye-catching visualisations can be time-consuming if you don’t have an automated dashboard tool. The faster you can turn your data into insights, the better.


That leads to your salespeople working extra hours to create daily, weekly, or monthly Excel reports that are overcrowded with information, are hard to read, and get lost in people’s email. That’s senseless, especially when there’s a faster and more efficient way to access and digest your CRM info.

Sales KPI dashboards are a way to create automated visualisations of your most important sales data and get automated notifications with actionable alerts or snapshots of your business performance. Here’s what to measure and how to do it.

What is a sales KPI dashboard?

Sales KPI dashboards are interactive data visualisations that allow you to have at-a-glance access to real-time CRM data. Dashboards use graphics and visual assets to tell the story of your business, and in this case, of your sales performance.

10 most important metrics for your sales performance dashboard

KPIs are meant to be tracked in order to achieve sales goals in a time period. There are several different metrics that you could be tracking as a sales leader. We’ve compiled a list of the ten we see Trevor.io users keep track of the most:

1. Sales target and growth

Tracking these two together allows you to keep track of your sales against the target and see the growth over a time period. You can add this metric to your sales dashboard by using a BI dashboard feature like dynamic text boxes, or creating automated sales reports with graphics that measure sales vs target.

These metrics also answer the following questions:
  • Is your current revenue higher or lower than your forecast?
  • Is the trend going up or down?
  • How many new customers do you need to meet the target?
  • Is your growth steady? Do you need to double down on a specific period?

Code of Items hide/visible by Push Button in Oracle Forms

Trigger of Push Button WHEN-BUTTON-PRESSED and WHEN-WINDOW-ACTIVATED at form level.

declare

m_label varchar2(30);

begin

m_label:=Get_Item_Property('control.filter' ,label);

if m_label = '- Filter' then

set_item_property('control.state',visible,property_false);

set_item_property('control.city',visible,property_false);

set_item_property('control.from_date',visible,property_false);

set_item_property('control.to_date',visible,property_false);

set_item_property('control.filter',label,'+ Filter');

else

set_item_property('control.state',visible,property_true);

set_item_property('control.city',visible,property_true);

set_item_property('control.from_date',visible,property_true);

set_item_property('control.to_date',visible,property_true);

set_item_property('control.filter',label,'- Filter');

end if;

end; 

Tuesday, July 4, 2023

ORA-12528: TNS:listener: all appropriate instances are blocking new connections

ORA-12528: TNS:listener: all appropriate instances are blocking new connections OR

ORA-12528 message 12528 not found product=rdbms facility=ora

Tried to connect a NOMOUNT database, but it failed with ORA-12528.

C:\Users\ed>sqlplus sys/password@orcl as sysdba
...
ERROR:
ORA-12528: TNS:listener: all appropriate instances are blocking new connections

ORA-12528 means that the database is at NOMOUNT state, there's no way to connect to a NOMOUNT database for normal users at client side. On the other side, there's a way that can allow SYS to connect to a NOMOUNT database externally.

In such moment, the connection to the service of database is BLOCKED in the listener, which means, normal connections will be rejected. For example:

SQL> conn hr/hr@orcl
ERROR:
ORA-12528: TNS:listener: all appropriate instances are blocking new connections

Let's check the service status of database in listener.

[oracle@test ~]$ lsnrctl status
...
Services Summary...
Service "ORCL" has 1 instance(s).
Instance "ORCL", status BLOCKED, has 1 handler(s) for this service...

The command completed successfully

Solution

For normal users who want to connect to the database, you have to open the database to able them to access. For connections by SYS, the solution is to add a special parameter UR=A in connect descriptor to lift off the restriction. More specifically, we added (UR=A) for a connect identifier ORCL.

[oracle@test ~]$ vi $ORACLE_HOME/network/admin/tnsnames.ora
...
ORCL =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = standby01)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = ORCL) (UR=A)
)
)

Let's see how we connect the NOMOUNT database.

C:\Users\ed>sqlplus sys/password@ORCL as sysdba
...
Connected.

We solved it.

Sunday, June 25, 2023

How to resolve ORA-00214: control file inconsistent with file


Tried to startup or mount a database, we got ORA-00214.

SQL> startup
ORACLE instance started.
...
ORA-00214: control file
'/u01/app/oracle/fast_recovery_area/ORCLCDB/control02.ctl' version 2286
inconsistent with file '/u01/app/oracle/oradata/ORCLCDB/control01.ctl' version
2248

Let's see its status.

SQL> select status from v$instance;

STATUS
------------
STARTED

What does STARTED means? We can tell what state of database currently is by some means. It's at NOMOUNT now.

Read more....

Friday, June 9, 2023

Schema Assignment to Workspace in Oracle Apex

Run oracle apex by entering the link in your browser. In my case I am using chrome and entered the link http://127.0.0.1:8080/apex/apex_admin


Select "manage workspace".


Select "manage workspace to schema assignment".


Select the name of space to which you want to assign schema.


select database schema and apply changes.




The Fix for the Double Login Prompt when run report 6i from form

  Since you are running in a Desktop (client-server) architecture , the login prompt and buffering are directly tied to how the local Window...