Ever deleted or changed something by accident in your application and wished you could get it back?
You can! The oracle database has a feature called flashback, and APEX can take advantage of this feature. (Flashback needs to be enabled on the database, if you are not sure if it is enabled on your database, you can always ask your DBA).
Today I will show you some of the different places, where you can (more...)
Looking forward to speaking at
Please come join me !
I lived in Portland between 2006-2008 and love city. It will be fun being back.
8:15 – 9:00 Keynote “EBS Strategy and Roadmap” – Vanessa Paskill
||Practical Tips for Oracle Business Intelligence Applications 11g Implementations (Michael Raney, Rittman Mead)
||Lessons learned while Integrating Procurement Cards with Internet Expense (Ashish Nagarkar, AST (more...)|
This morning a colleague of mine noticed an alert from our plan change monitor and prevented any impact on the users by forcing a SQL’s plan to its normal fast plan before the users could be affected. I want to share the monitor script and describe how we use its output.
I know this is long but I want to paste the SQL text of the monitor script here. Review my comments on each step. (more...)
I’ll be presenting at a “Lets Talk Oracle” event in Perth, with fellow Ex-Oracle ACE Directors Richard Foote and Chris Muir. Full agenda as follows:
8:30-9:00 Registration and coffee
9:00-10:30 Richard Part I – Database 12c New Features for DBAs (and Developers)
11:00-12:30 Richard Part II – Database 12c New Features for DBAs (and Developers)
1:30-2:30 Chris – Creating RESTful APIs with Oracle Data Services (for Developers and DBAs)
The EM agent’s scheduled activities can be listed using emctl status agent scheduler, like this:
You’ll see a regular cycle of Response calls (anybody home?), metric uploads, and heartbeats.
In the previous post, I mentioned that for a programming environment fetching rows from the database, then the method of
- open a ref cursor
- issue a fetch call
- close the ref cursor
might not be appropriate for those situations where the result set is known be a single row (eg primary key lookup).
A better option might be to call a procedure and get those outputs as parameters.
And I broke a cardinal rule… (more...)
In various programming environments, a common metaphor is to open a cursor on the database (a REF CURSOR in Oracle parlance), return that cursor handle to the calling environment, and then that cursor is used to fetch or “fill” a data object, which may map to a grid on screen, or just to an array in memory.
And that’s totally fine – its an effective means to obtain a result set from the database to (more...)
I mentioned this class earlier in a blog post but I wanted to remind people who read this blog that the class is starting again on Wednesday. Here is the URL for the class: link
The class is completely free and taught at a very high level of quality.
It teaches computer science concepts that apply in any programming language but also teaches Python programming.
It is valuable information in the increasingly computer oriented world (more...)
Agenda for Oaktable World 2014, located at Creativity Museum, is
||Monday Oct 26
||Tuesday Oct 27
||Mark W. Farnham – Minimizing the concurrency footprint of transactions with Logical Units of Work stored in PL/SQL
||Kyle Hailey – Virtual Data
Kerry Osborne – SQL Translation Framework
|Kellyn Pot’Vin-Gorman, AWR Warehouse Trending and Analysis with OBIEE
||Greg Rahn – Taming JSON with SQL: From Raw to Results
Marco Gralike – Improving XML performance (more...)
If you create a trigger that does not compile, any part of your application that refers to the table with the invalid trigger is basically dead until that trigger becomes valid. Even if a DML on that table is not going affect any rows, you still wont be able to issue it. For example,
SQL> delete from T where 1=0;
delete from T where 1=0
ERROR at line 1:
ORA-04098: trigger 'TRG' (more...)
As a developer, you might have have been reading about SQL trace. After all, we all want to be able to diagnose and improve the performance of the code we write. So if you’ve googled on Oracle performance, you will have no doubt stumbled upon SQL trace.
So if you’ve run “alter session set sql_trace = true”, or perhaps “DBMS_MONITOR.SESSION_TRACE_ENABLE”. you’re probably itching to get your hands on that trace file. The (more...)
Development asked me to look at ways to cut the run time of a series of PeopleSoft payroll batch jobs so I took an AWR report of the entire 4 hour period. Based on the waits, the percentage of the elapsed time spent using I/O and the buffer pool advisory I chose to double the size of the buffer cache. But, this added memory did not improve the run time of the batch jobs. Maybe the affected (more...)
As of August 1, 2015, Google promoted Fishbowl Solutions to Premier Partner status! This elevation is a testament to our commitment to selling and servicing Google Search Solutions, and we are very excited to be counted among the select companies to attain this level of partnership. Kim Negaard, the Google Product Manager at Fishbowl, took some time to talk about our history with Google and what being a Premier Partner means.
The post Fishbowl (more...)
We keep 6 weeks of history in the AWR on our databases, but I want to capture some information for long-term trending. What I really want to do is capture some metrics and put them in some database tables to use to generate reports, but I have not had time to build the scripts to do that. So, instead I built a simple set of scripts to capture an AWR for the previous month. Since we have 6 (more...)
There is quite a debate going around based on Simon’s linkedin post regarding the future of Forms; but when you read it you’ll see, he doesn’t actually talk about the future of Forms – he talks about the demise of Forms and its replacement with Oracle APEX. As someone who does believe in the future of forms, there are several things I wanted to clarify.
Firstly, it mentions that despite the release of Oracle Forms 12c, Oracle (more...)
Just like everything else in Enterprise Manager, an Exadata is a target and all of its components are targets. All of these pieces can be removed through the 12c console.
Select Exadata from the bottom of the main Targets drop-down to display a list of Database Machines in your environment. Highlight the row containing the subject machine and press the Big Red X to take you into the detail page.
The left panel shows you the (more...)
Recently, a colleague of mine had some problems with pinning application procedures into the shared pool. His database was upgraded to RAC and he wanted to pin the application procedures and packages into shared pool upon the database startup.
The non-RAC version of the database was using a shell script, something like $ORACLE_HOME/local/scripts/pin_procs.sh in the script that was starting DB when the system was booted
However, RAC starts the database automatically and no user (more...)
I applied the current July patch sets to a 11.2 and a 12.1 test database. Now I have a 126.96.36.199.7 and a 188.8.131.52.4 test database. It is helpful to have test databases that are on the most current patch sets and releases. If I see unexpected behavior on some other database I can try the same thing on the patched test databases to see if some (more...)
Mainly: You do not want to pick the tool that’s hot this year.
(picture from blog above)
The reason is that choosing this year’s hot framework is an unnecessary leap of faith that places your project at risk. What happens if you choose wrong? You’ll watch your application (more...)