Skip to Main Content

SQL & PL/SQL

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

PL/SQL CLOB variable: Which user owns the LOB?

Satish KandiFeb 10 2017 — edited Feb 10 2017

Hello,

Our environment: 64 bit Oracle 11.2.0.3.0 Standard edition - June 2013 bundle, on Microsoft Windows 2008 R2 server.

Needless to mention, we have to upgrade

While debugging a performance issue which involves a procedure working around DBMS_LOB package, we found that the APPEND method takes a lot of time.

Sample piece of code:

>>

newCLOB CLOB := EMPTY_CLOB();

oldCLOB CLOB := EMPTY_CLOB();

BEGIN

...................

IF OperationFlag = 'I' THEN

DBMS_LOB.APPEND(newCLOB, '<some text>');

END IF;

IF OperationFlag = 'I' THEN

DBMS_LOB.APPEND(newCLOB, '<some other text>');

END IF;

.............

>>

The DBMS_LOB.APPEND takes anywhere between 500ms to 3 seconds, at random.

Search on Oracle support site indicated a bug in our version (Bug 12834930 : DBMS_LOB.APPEND CONSUMES HIGH CPU USAGE WHEN USER IS NOT THE LOB OWNER). As per support site, a patch including fix for this bug is provided for every other operating system than ours.

Before, we jump to conclusion that our environment is affected by this bug, we would like to know the answer to the question - who owns these in memory LOB object because based on our understanding, since the procedure is owned by the application schema user, the in memory LOB is also owned by the user.

If this is the case, are we looking at another performance bug in this release?

Thanks,

Satish

This post has been answered by Billy Verreynne on Feb 10 2017
Jump to Answer

Comments

Billy Verreynne

Sounds like the installer attempted to resolve your Windows platform's hostname to an IP address and failed.
What is the primary IP of your platform? Is it DHCP? If so, what assigns the IPs (home router/VPN/etc) and hostname? (use ipconfig to check IP configuration).
If the db installation part succeeded, then getting the Listener working should be trivial. Is the Oracle XE database instance up and running, and can you connect to it using "sqlplus / as sysdba"?

Eslam_Elbyaly

I am sorry. It does not say "Configuring Listener", it says "Configuring Oracle Software". I edited the question.
No sqlplus or any binaries. It's just about 4 folders. Each with a couple of files.
my pc is not connected to a router or anything. I just installed the Lan driver.
ipconfig just shows "media disconnected".
I tried assigning an IP manually but did not work. I even opened the "hosts" file and added a new line with the manual IP I assigned like this.... "192.168.1.1 localhost" without quotes. Always the same problem.

Billy Verreynne

Do NOT set other addresses as localhost.
What is your platform's NetBIOS name? Typically the same name is used as IP hostname.
A "ping <hostname>" should work. If not then it is unlikely that Oracle will work correctly.
You can try adding your hostname to IP 127.0.0.1 in \windows\system32\drivers\etc\hosts (think that's the location). No idea however how your kernel's networking in general will react to it. So undo it in case of encountering errors.
The 127.0.0.0 subnet is yours though. You can look at adding IPs to it for local only hosts and networking via the IP stack's loopback interface.
Recommendation however is a working LAN config.

Eslam_Elbyaly

Do NOT set other addresses as localhost.
There was not any addresses set in the hosts file. All are commented like this...

#127.0.0.1 localhost
#::1 localhost
ping localhost returns.....
reply from ::1: time<1ms
reply from ::1: time<1ms
reply from ::1: time<1ms
reply from ::1: time<1ms
I tried adding 127.0.0.1 localhost and ahmed-PC(my computers name) to the hosts file with no vain.

Billy Verreynne

Your hosts file should look as follows:

127.0.0.1 localhost 
::1       ip6-localhost ip6-loopback 
fe00::0   ip6-localnet 
ff00::0   ip6-mcastprefix 
ff02::1   ip6-allnodes 
ff02::2   ip6-allrouters

You can try adding your PC name to 127.0.0.1:

127.0.0.1  localhost ahmed-pc

However, you should instead define a network interface with a private address such as 192.168.0.11/24.

Eslam_Elbyaly

unfortunately, I figured out that it needs a network specialist or something. I dropped windows 7 and installed windows 8.1 and the database was installed successfully. Thanks Billy for your help.

Billy Verreynne

You should consider dropping Windows entirely for Linux.
And despite the vaccine jab, I still prefer Linux and don't like Gates and Windows. My 5G reception though is now excellent.

Eslam_Elbyaly

Do you mean Oracle Linux? Or another distribution?

Billy Verreynne

I prefer Ubuntu with KDE, called Kubuntu. Ubuntu has excellent device support for laptops and desktops (am using it for both). Plasma KDE is the best desktop GUI.
Been using Kubuntu now for over a decade for Oracle database development and administration and support. Am using Oracle InstantClient (with sqlplus) and SQL-Developer on it. Been using Linux as a desktop for over 20 years.
Oracle however does not support the Debian branch for their db server s/w - they use the Redhat branch. Oracle XE 10g works on Ubuntu, but XE 18c does not.
So I use vagrant on Kubuntu - git clone https://github.com/oracle/vagrant-projects
This has vagrant builds for everything from Oracle RAC, DataGuard, GoldenGate, to Oracle XE.
Change dir to ./vagrant-projects/OracleDatabase/18.4.0.-XE and run vagrant up. Some minutes later you have an Oracle Linux 7 VM running an Oracle XE 18c database.

Billy Verreynne

Oh yeah - alternatives to the typical Windows user s/w stack:
MS Office replaced with Libre (Open) Office. Outlook replaced by Web Outlook. MS Teams Linux version used, or the web-based Teams can be used. Zoom supports Linux. KDE Konsole instead of Putty. Chrome/Firefox instead of Edge/IE11.
No anti-virus needed. And your laptop/desktop will be untouched in a ransome ware attack.
Tons of free Open Source s/w available.
Freedom to choose and configure and install and upgrade.
edit: PS. and OpenConnect for VPN access instead of Cisco AnyConnect.

1 - 10
Locked Post
New comments cannot be posted to this locked post.

Post Details

Locked on Mar 10 2017
Added on Feb 10 2017
4 comments
176 views