Feed aggregator

loading jar files into Oracle

Tom Kyte - Mon, 2017-07-31 15:46
Could you please provide an example that 1) Loads a jar file into oracle [any permissions and path variables that needs to be set-up using DBAs help] 2) Load a class that uses the above jar file 3) Create a PL/SQL procedure or function that uses ...
Categories: DBA Blogs

How to Compile Code on all Connections

Tom Kyte - Mon, 2017-07-31 15:46
Hi, Scenario: We are using 6 different schemas and we are compiling codes on all of them. So first, I connect to those schemas, then when I need to compile my codes, what i do is: Select Schema, Compile, Repeat. I was wondering if there's a tec...
Categories: DBA Blogs

Oracle DB audit

Tom Kyte - Mon, 2017-07-31 15:46
We have set Oracle DB audit to DB, Extended. From the 2 hour span AWR report, there are 824,993 physical reads to AUD$ table. Is this physical read, Oracle internal process? or external query to the AUD$ table? Will it affect the database perform...
Categories: DBA Blogs

Performance of the PL/SQL function

Tom Kyte - Mon, 2017-07-31 15:46
Hi Team , I need some help here for performance improvement I have an XML as below ,this XML would be input to my PL/SQL function <?xml version="1.0" encoding="UTF-8"?> <n1:Request xmlns:n1="urn:global:cs:common"> <n1:Conditions> ...
Categories: DBA Blogs

New OA Framework 12.2.5 Update 14 Now Available

Steven Chan - Mon, 2017-07-31 11:07

Web-based content in Oracle E-Business Suite Release 12 runs on the Oracle Application Framework (also known as OA Framework, OAF, or FWK) user interface libraries and infrastructure. Since the initial release of Oracle E-Business Suite Release 12.2 in 2013, we have released a number of cumulative updates to Oracle Application Framework to fix performance, security, and stability issues.

These updates are provided in cumulative Release Update Packs, and cumulative Bundle Patches that can be applied on top of the Release Update Packs. In this context, cumulative means that the latest RUP or Bundle Patch contains everything released earlier.

The latest OAF update for Oracle E-Business Suite Release 12.2.5 is now available:

Where is this update documented?

Instructions for installing this OAF Release Update Pack are in the following My Oracle Support knowledge document:

Who should apply this patch?

All Oracle E-Business Suite Release 12.2.5 users should apply this patch.  Future OAF patches for EBS Release 12.2.5 will require this patch as a prerequisite. 

What's new in this update?

This bundle patch is cumulative: it includes 44 fixes in total, including all fixes released in previous EBS Release 12.2.5 bundle patches.

This latest bundle patch includes fixes for following bugs/issues:

  • Exporting table data fails when the View Object has view links associated with it and has a different number of bind parameters and bind values.
  • Long notification title is not wrapping.
  • Code changes in OA Framework to support Thai, English Hijrah and Arabic Hijrah calendars in WebADI.

Related Articles

Categories: APPS Blogs

Video: The Rise of ChatBots in Enterprise Mobile Application Development

OTN TechBlog - Mon, 2017-07-31 08:16

Conversations between human beings and computers have been a mainstay of science fictions movies for decades. Remember the HAL 9000 in director Stanley Kubrick's groundbreaking 1968 epic "2001 - A Space Odyssey?" Remember Joshua, the computer in the 1983 hit "War Games?" Remember Kirk and Spock issuing verbal commands to the Starship Enterprise's onboard computer? In the second decade of the 21st century, conversational interfaces have transcended fiction to become a reality, and the next big thing in consumer and enterprise mobile application development. Paired with artificial intelligence, chatbots help to simplify mobile communication between users and services. As in human conversation, well-chosen wordings allow users to book a table in a restaurant, arrange a taxi to the airport, buy an airline ticket, and more. This on-demand session video from the Oracle Code Online event in June 2017 explores a developer perspective on chatbots.

Additional Resources

What Employers Want : A Series of Posts

Tim Hall - Mon, 2017-07-31 04:37

A couple of years ago I was asked to give a talk about employability, with respect to graduates. I’m not an expert in that field, so I reached out to a few friends and companies to get some feedback about what they expect from new staff. I get questions about jobs all the time, so I figured I would write a short series of posts on the subject, just so I can refer people to them.

The posts in the series are as follows.

After doing the presentation I discussed it with the careers staff present, who confirmed this matched the feedback they were getting from their industrial contacts, so it seems the feedback I got from my contacts was on the money!

As I publish each post I will turn these bullet points into links.

Hope this helps.



What Employers Want : A Series of Posts was first posted on July 31, 2017 at 10:37 am.
©2012 "The ORACLE-BASE Blog". Use of this feed is for personal non-commercial use only. If you are not reading this article in your feed reader, then the site is guilty of copyright infringement.

Re-assigning all objects from on role to another in PostgreSQL

Yann Neuhaus - Mon, 2017-07-31 04:07

From time to time it might be required to move objects (tables, indexes, whatever) from one user to another user in a database system. You could do that by dumping all the objects with pg_dump and then load it to the target user. But there are other solutions which are faster than that. Lets go.

Obviously we need two users when we want to move objects from one user to another (actually it is not really moving the objects but more about changing the ownership):

postgres=# create role a login password 'a';
postgres=# create role b login password 'b';
postgres=# create schema a authorization a;
postgres=# create schema b authorization b;
postgres=# alter role a set search_path=a;
postgres=# alter role b set search_path=b;

Lets create some objects in schema “a” owned by user “a”:

postgres=# \c postgres a
You are now connected to database "postgres" as user "a".
postgres=> \! cat a.sql
create table a ( a int );
create table b ( a int );
create table c ( a int );
create table d ( a int );
create index i1 on a (a);
create index i2 on b (a);
create index i3 on c (a);
create index i4 on d (a);

postgres=> \i a.sql

By joining pg_class and pg_roles we can verify who is actually the owner of the objects:

postgres=> select t.relname, d.rolname 
             from pg_class t, pg_roles d 
            where t.relowner = d.oid and d.rolname = 'a';
 relname | rolname 
 a       | a
 b       | a
 c       | a
 d       | a
 i1      | a
 i2      | a
 i3      | a
 i4      | a
(8 rows)

The easiest way to make these objects owned by another user (call it “c”) would be:

postgres=# alter user a rename to c;
NOTICE:  MD5 password cleared because of role rename
postgres=# select t.relname, d.rolname from pg_class t, pg_roles d where t.relowner = d.oid and d.rolname = 'c';
 relname | rolname 
 a       | c
 b       | c
 c       | c
 d       | c
 i1      | c
 i2      | c
 i3      | c
 i4      | c
(8 rows)

Not a good idea though as the schema still is named “a” and this at least will create some confusion with the naming. Of course we could rename the schema as well:

postgres=# alter schema a rename to c;
postgres=# \c postgres c
You are now connected to database "postgres" as user "c".
postgres=> select count(*) from a;
2017-07-28 15:51:25.499 CEST [3415] ERROR:  relation "a" does not exist at character 22
2017-07-28 15:51:25.499 CEST [3415] STATEMENT:  select count(*) from a;
ERROR:  relation "a" does not exist
LINE 1: select count(*) from a;

… but now we have another mess. Because the search_path is still set to “a” we can not see the objects by default but we will need to use the fully qualified name:

postgres=> select count(*) from c.a;
(1 row)

Finally we would need to adjust the search_path to get back the previous behavior:

postgres=> set search_path=c;
postgres=> select count(*) from a;
(1 row)

A lot of steps to follow. Easier is:

postgres=# reassign owned by c to b;
postgres=# alter user b set search_path=c,b;
postgres=# \c postgres b
You are now connected to database "postgres" as user "b".
postgres=> select count(*) from a;
(1 row)
postgres=> select t.relname, d.rolname from pg_class t, pg_roles d where t.relowner = d.oid and d.rolname = 'b';
 relname | rolname 
 d       | b
 i4      | b
 c       | b
 i3      | b
 b       | b
 i2      | b
 a       | b
 i1      | b
(8 rows)

Cool :) There is also a command to drop all objects of a user:

postgres=> drop owned by b;
postgres=> select t.relname, d.rolname from pg_class t, pg_roles d where t.relowner = d.oid and d.rolname = 'b';
 relname | rolname 
(0 rows)

Nice …


Cet article Re-assigning all objects from on role to another in PostgreSQL est apparu en premier sur Blog dbi services.

String extraction

Tom Kyte - Sun, 2017-07-30 21:26
Hi I have a query regarding strings. If I give a string like 'Mrs xxxxxx yyyyy', I should get the output like Title FirstName LastName Mrs xxxxxx yyyyy How can I do this using string functions. Many...
Categories: DBA Blogs

How is undo data retrieved for the purpose of a Flashback Query?

Tom Kyte - Sun, 2017-07-30 21:26
Hello Tom, Looking at a flashback version query, it is obvious that all changes to a row are kept in the undo, not just the latest one. My understanding is that the address of the undo corresponding to a specific row is stored in the header of...
Categories: DBA Blogs

Frequency of archive log switches

Tom Kyte - Sun, 2017-07-30 21:26
Hi, I've been a DBA for a very long time (since 7.3.4) and in the old days I remember 'rules-of-thumb' that stated that you should never switch logs more than 'x' times an hour. This was of course due to the fact that checkpoints take up a lot of ...
Categories: DBA Blogs

INSERT SELECT with APPEND NOLOGGING PARALLEL(t,8) - Whether this can able to process upto 15 crores records ?

Tom Kyte - Sun, 2017-07-30 21:26
As part of data migration project , i need to transfer data from staging table to target table (with out filter criteria) for about 41 tables. Its a simple insert select and below query i am using for 41 tables. INSERT /*+ APPEND NOLOGGING */...
Categories: DBA Blogs

Best practice for ETL update

Tom Kyte - Sun, 2017-07-30 21:26
We have an ETL process on a table with 38 updatable columns. The source data is a CSV file with a single column unique record identifier and we set this file up as an external table. The target table has a corresponding primary key column. The sou...
Categories: DBA Blogs

Dynamic file names with sql Loader

Tom Kyte - Sun, 2017-07-30 21:26
Hi Can I load a file using sqlloader within a batch file where the file name changes dynamically. Eg: The file name is FUNC_DDMMYY.csv Can I load this file by passing it to SQLLoader as FUNC_*.csv? Would wild cards work in this case. How...
Categories: DBA Blogs

Presented at CLOUG OTN Day 2017, Chile stop of the 2017 LAD OTN Tour

Pakistan's First Oracle Blog - Sun, 2017-07-30 20:37
Amidst lots of Empanadas and Lomo Saltodos, I presented at CLOUG OTN Day 2017, Chile stop of the 2017 LAD OTN Tour last week and it was great to see a very passionate audience.

Despite of long flight and opposite time zone difference, Santiago, Chille came out very welcoming and lively. The event was very well organized and was studded with international speakers including fellow Pythianite Bjoern Rost, and various other well known speakers like Markus Michalewicz, Ricardo Gonzalez, Craig Shallahamer and so on.

Categories: DBA Blogs

Oracle Linux support in Oracle Cloud

Wim Coekaerts - Sun, 2017-07-30 13:00

This is a topic that comes up every now and again with customers or users of Oracle Cloud: Is Oracle Linux support included with our IaaS services and if so, which parts of Oracle Linux support are included?

The answer is very straightforward. Any customer in Oracle Cloud that creates new, creates their own or  uses existing "Oracle Linux" images, in both Oracle Public Cloud and Oracle Bare Metal Cloud Services, have full Oracle Linux Premier Support included at no additional cost. There is no extra hourly surcharge on top of the IaaS subscriptions. This includes access to Oracle Support, access to the My Oracle Support portal, Oracle Ksplice, use of Oracle Enterprise Manager Cloud Control to manage and monitor Oracle Linux instances and of course the packages and updates for Oracle Linux.  

Oracle Ksplice for Oracle Linux in Bare Metal Cloud Services

Wim Coekaerts - Sun, 2017-07-30 12:39

A few weeks ago I wrote a blog post that talked about setting up Oracle Ksplice in Oracle Cloud (specifically Bare Metal Cloud Services). At the time, the instructions included editing the uptrack.conf file and adding a specific auth key. We have since automated that part as well.

For existing instances or newly created instances (any VM.* and BM.* shapes with Oracle Linux) you can just simply download a new installation script that takes care of it all for you. As mentioned in the previous post, we are going to include the uptrack tools by default as well in a future image version of Oracle Linux but that's not completed yet.

The simple steps to follow now:

Connect to your BMCS instance

# ssh -l opc <public ip address of your instance>

sudo to root

# sudo bash

# cd

Download the ksplice installation script   

# wget -N https://www.ksplice.com/uptrack/install-uptrack-oc

--2017-07-30 17:27:59--  https://www.ksplice.com/uptrack/install-uptrack-oc

Resolving www.ksplice.com (www.ksplice.com)...

Connecting to www.ksplice.com (www.ksplice.com)||:443... connected.

HTTP request sent, awaiting response... 200 OK

Length: 10154 (9.9K) [text/plain]

Saving to: ‘install-uptrack-oc’

100%[======================================>] 10,154      --.-K/s   in 0.06s   

2017-07-30 17:28:00 (179 KB/s) - ‘install-uptrack-oc’ saved [10154/10154]

Run the installation script   

# sh install-uptrack-oc

[ Release detected: ol ]

--2017-07-30 17:30:36--  https://www.ksplice.com/yum/uptrack/ol/ksplice-uptrack-release.noarch.rpm

Resolving www.ksplice.com (www.ksplice.com)...

Connecting to www.ksplice.com (www.ksplice.com)||:443... connected.

HTTP request sent, awaiting response... 200 OK

Length: 6876 (6.7K) [application/x-rpm]

Saving to: ‘ksplice-uptrack-release.noarch.rpm’

100%[======================================>] 6,876       --.-K/s   in 0s      

2017-07-30 17:30:36 (46.5 MB/s) - ‘ksplice-uptrack-release.noarch.rpm’ saved [6876/6876]

[ Installing Uptrack ]

warning: ksplice-uptrack-release.noarch.rpm: Header V3 DSA/SHA1 Signature, key ID 16c083cd: NOKEY

Preparing packages...


Loaded plugins: langpacks, ulninfo

ksplice-uptrack                                          |  951 B     00:00     

ol7_UEKR4                                                | 1.2 kB     00:00     

ol7_addons                                               | 1.2 kB     00:00     

ol7_latest                                               | 1.4 kB     00:00     

ol7_optional_latest                                      | 1.2 kB     00:00     

(1/7): ol7_UEKR4/x86_64/updateinfo                         |  83 kB   00:00     

(2/7): ol7_latest/x86_64/updateinfo                        | 1.3 MB   00:00     

(3/7): ksplice-uptrack/7Server/x86_64/primary              | 2.0 kB   00:00     

(4/7): ol7_optional_latest/x86_64/primary                  | 4.0 MB   00:00     

(5/7): ol7_optional_latest/x86_64/updateinfo               | 940 kB   00:00     

(6/7): ol7_latest/x86_64/primary                           |  26 MB   00:00     

(7/7): ol7_UEKR4/x86_64/primary                            |  19 MB   00:00     

ksplice-uptrack                                                             7/7

ol7_UEKR4                                                               396/396

ol7_latest                                                          19362/19362

ol7_optional_latest                                                 13397/13397

Resolving Dependencies

--> Running transaction check

---> Package uptrack.noarch 0:1.2.41-0.el7 will be installed

--> Processing Dependency: perl(Fatal) for package: uptrack-1.2.41-0.el7.noarch

--> Processing Dependency: perl-autodie for package: uptrack-1.2.41-0.el7.noarch

--> Running transaction check

---> Package perl-autodie.noarch 0:2.16-2.el7 will be installed

--> Finished Dependency Resolution

Dependencies Resolved


 Package            Arch         Version            Repository             Size



 uptrack            noarch       1.2.41-0.el7       ksplice-uptrack       298 k

Installing for dependencies:

 perl-autodie       noarch       2.16-2.el7         ol7_latest             77 k

Transaction Summary


Install  1 Package (+1 Dependent package)

Total download size: 375 k

Installed size: 996 k

Downloading packages:

(1/2): perl-autodie-2.16-2.el7.noarch.rpm                  |  77 kB   00:00     

(2/2): uptrack-1.2.41-0.el7.noarch.rpm                     | 298 kB   00:00     


Total                                              689 kB/s | 375 kB  00:00     

Running transaction check

Running transaction test

Transaction test succeeded

Running transaction

Warning: RPMDB altered outside of yum.

  Installing : perl-autodie-2.16-2.el7.noarch                               1/2 

  Installing : uptrack-1.2.41-0.el7.noarch                                  2/2 

There are no existing modules on disk that need basename migration.

  Verifying  : perl-autodie-2.16-2.el7.noarch                               1/2 

  Verifying  : uptrack-1.2.41-0.el7.noarch                                  2/2 


  uptrack.noarch 0:1.2.41-0.el7                                                 

Dependency Installed:

  perl-autodie.noarch 0:2.16-2.el7                                              


Effective kernel version is 4.1.12-94.3.6.el7uek

The following steps will be taken:

Install [nq2lixsa] Improve the interface to freeze tasks.

Install [4g8860bp] CVE-2017-1000364: Increase stack guard size to 1 MiB.

Install [iw78w90p] CVE-2017-7645: Remote denial-of-service via overly sized NFS2/3 RPC call.

Install [5ct5a8wv] CVE-2017-7477: Remote Denial-of-service in 802.1AE implementation.

Install [5v18x54y] Denial-of-service when bonding multiple IPOIB devices.

[ Installation Complete! ]

[ Please run '/usr/sbin/uptrack-upgrade -y' to bring your system up to date ]

To install the available Ksplice patches on your running kernel, just run the uptrack-upgrade tool (as root)  

# uptrack-upgrade 

The following steps will be taken:

Install [nq2lixsa] Improve the interface to freeze tasks.

Install [4g8860bp] CVE-2017-1000364: Increase stack guard size to 1 MiB.

Install [iw78w90p] CVE-2017-7645: Remote denial-of-service via overly sized NFS2/3 RPC call.

Install [5ct5a8wv] CVE-2017-7477: Remote Denial-of-service in 802.1AE implementation.

Install [5v18x54y] Denial-of-service when bonding multiple IPOIB devices.

Go ahead [y/N]? y

Installing [nq2lixsa] Improve the interface to freeze tasks.

Installing [4g8860bp] CVE-2017-1000364: Increase stack guard size to 1 MiB.

Installing [iw78w90p] CVE-2017-7645: Remote denial-of-service via overly sized NFS2/3 RPC call.

Installing [5ct5a8wv] CVE-2017-7477: Remote Denial-of-service in 802.1AE implementation.

Installing [5v18x54y] Denial-of-service when bonding multiple IPOIB devices.

Your kernel is fully up to date.

Effective kernel version is 4.1.12-94.3.9.el7uek


Partner Webcast – Inter Process Communication with Correlations in Oracle Process Cloud Service

Oracle Process Cloud Service (PCS) started a while ago as a lightweight process automation cloud tool that very quickly picked up momentum. It has been making a huge progress in all aspects and...

We share our skills to maximize your revenue!
Categories: DBA Blogs

Oracle JET Busy Context API to Control Asynchronous REST Calls

Andrejus Baranovski - Sat, 2017-07-29 10:59
I have received feedback from users working with JET UI - sometimes it is not obvious that action button was pressed, users tend to press same button again very fast, which leads to parallel REST calls executing at the same time. In JET - REST call is executed asynchronously, this makes user to believe action was done instantly when button was pressed. However, REST call still may run in the background - while user will be trying to call same service again. While in most of the cases such behaviour is fine, still there are use cases when we want to block action button, until REST response is not received (while response is executed, button will be disabled - this will give visual feedback to the user about action still executing). JET provides Busy Context API to handle asynchronous REST calls in synchronous way.

I will describe how to apply Busy Context API in your JET application. Take a look into my sample app (JET + ADF BC REST) available on GitHub - JETCRUD.

When you run sample app, go to Customers tab and navigate to edit screen. There you will find Save button, which is enabled:

Save button calls saveCustomer() JS function. JET Busy Context is established in this method, before making REST call. Busy Context is attached to Save button. If there are no busy states in the context, function isReady() returns true and we can register busy context. After busy context is registered - REST call can be made. If saveCustomer() JS function will be called again, before REST call is executed - isReady() will return false and no REST call will be made. When busy state is created, we update observable variable - which helps to change disabled property for the button:

Data in one of the fields is changed and user pressed Save button to execute REST call - button becomes disabled:

Button stays disabled until REST call response is received. Of course when REST service is fast you even will not notice that. But if REST service call takes a second or so - you will see disabled button, when action is busy. After REST response is received and if there are no errors - success callback is executed. We call resolve() function there and this removes busy state:

We need to use promise call for whenReady() function to read changed value from isReady() function. This step updates button visual state back to enabled:

Save button becomes enabled:

Observable variable is set for UI button disabled property. This is how visual state is controlled from JS:

Don't forget to add resolve() to error callback too, otherwise button will stay disabled - if REST call fails:

Words I Don’t Use, Part 3: “Best Practice”

Cary Millsap - Sat, 2017-07-29 10:24
The third “word I do not use” is best practice.

The “best practice” serves a vital need in any industry. It is the answer to, “Please don’t make me learn about this; just tell me what to do.” The “best practice” is a fine idea in spirit, but here’s the thing: many practices labeled “best” don’t deserve the adjective. They’re often containers for bad advice.

The most common problem with “best practices” is that they’re not parameterized like they should be. A good practice usually depends on something: if this is true, then do that; otherwise, do this other thing. But most “best practices” don’t come with conditions of execution—they often contain no if statements at all. They come disguised as recipes that can save you time, but they often encourage you to skip past thinking about things that you really ought to be thinking about.

Most of my objections to “best practices” go away when the practices being prescribed are actually good. But the ones I see are often not, like the old SQL “avoid full-table scans” advice. Enforcing practices like this yields applications that don’t run as well as they should and developers that don’t learn the things they should. Practices like “Measure the efficiency of your SQL at every phase of the software life cycle,” are actually “best”-worthy, but alas, they’re less popular because they sound like real work.


Subscribe to Oracle FAQ aggregator