Submitted by dmann on Fri, 10/01/2010 - 13:15
Came upon this post
during my travels. Jonathan Lewis reveals how to write a string to the Alert Log, Current Session Trace File, or Both. Also a few misc functions are included.
writes to alert log
writes to session's trace file
writes to both
dbms_system.ksddt - writes a date-time stamp
dbms_system.ksdind(N) - indents text using ":' characters
Submitted by dmann on Mon, 09/13/2010 - 13:51
I have a love/hate relationship with frameworks. Once you get proficient with a framework (like Application Express) you can get a lot done quickly. The framework can also stand in your way if you encounter a bug or maybe a gray area where the Framework wasn't fully fleshed out. Sometimes it takes some digging to find a workaround.
In this case I have a simple reporting application that I built in Application Express. I wanted the user to select a report, then continue to a Criteria screen, enter some date ranges and then hit 'Submit' to render the report.
Submitted by dmann on Fri, 09/03/2010 - 16:22
> du .nfs*
.nfsxxxxx files are orphaned files that were deleted from an NFS mount but are still in use by a process. Once the final process using the file releases its file handle the file will be deleted. Because of the shared nature of NFS mounts, the files can be viewed from any of the machines connected to the mount. Keep in mind the process may be running on any of the machines connected to the mount.
Submitted by dmann on Thu, 07/29/2010 - 13:24
I shared a shell script that will check Oracle CDC Queues to make sure they aren't going stale. If your CDC consumer has not picked up changes in 48-72 hours then something may be wrong. The scripts can be customized to alert at any interval, hopefully this will serve as a good 'nudge' to get you going in the right direction.
Everything you need is here.
If you are an OEM user you can probably grab the SQL I shared and modify it for use with OEM User Defined Metrics or alerting.
Submitted by dmann on Thu, 07/22/2010 - 15:53
I have a customer with a million row 125mb table. A query they are running returns very slowly:
explain plan for SELECT * FROM BIGTABLE WHERE col1 IS NULL;
SELECT * FROM TABLE(dbms_xplan.display);
| Id | Operation | Name | Rows | Bytes | Cost |
| 0 | SELECT STATEMENT | | 1 | 96 | 1436 |
Submitted by dmann on Wed, 07/21/2010 - 15:52
Did you know that OEM has a built in interface for executing simple ad-hoc queries and recording the results?
Here is how I set up a recurring query to find the number of user logins every 15 minutes and record the data.
1) Navigate to a database instance in OEM
2) Select the Related Links -> User Defined Metrics link from the bottom of the Database Instance Home tab.
3) Select the Create button to create a new User Defined Metric
a. Enter the Metric Name
Submitted by dmann on Tue, 07/20/2010 - 12:36
I recently had an issue where a query being submitted to the database had a large change in performance. I could attribute the change to a recent change in object statistics, but the query wasn't behaving because of a combination of a view, subquery, UNION, and LIKE operators. After spending too much time on this statement I decided to hint it to make it perform like it did before the most recent stats change.
Submitted by dmann on Mon, 04/12/2010 - 12:42
If you want to record copies of changed records on a target system you can do this with Golden Gate Software and not incur much in the way of source side resource drain.
Submitted by dmann on Fri, 03/26/2010 - 16:42
I recently fielded a question about getting data out of Oracle quickly. Without much detail on the systems involved here is my answer:
I need to migrate data from Oracle to MySQL quickly (in less than 1 day). What are my options?
Oracle does not supply an out-of-the-box unload utility.
Keep in mind without comprehensive info about your environment (oracle version? server platform? how much data? what datatypes?) everything here is YMMV and you would want to give it a go on your system for performance and timing.
Submitted by dmann on Fri, 02/19/2010 - 15:02
I keep coming across a construct in some legacy SQL that has been causing all kinds of performance issues for us. I guess you could call it using the IN condition with multi-column subqueries. I located the syntax for the IN condition here
but it doesn't really get into much detail about using this construct.
Here is an example of the subquery (it returns the lowest salary and department_id for each department):