Grumpy old DBA
grumpy old dba at great lakes oracle conference ... join us!
Not very long before we kick off the 2013 Great Lakes Oracle Conference in Cleveland ( 2013 Great Lakes Oracle Conference ). This will be our biggest and best ever conference.
Key notes by Tom Kyte and 2 from CJ Date ( the godfather of relational database design ). Workshop sessions by Joel Kallman ( Apex I never new it was this easy ) / Tom Kyte / Craig Shallahamer.
Two days of sessions by top Oracle national class presenters Oakies / Aces / Ace Directors ... we got the whole enchilada ... please check it out and think about attending ... May 13/14/15 2013.
Hope to see you there! If not this year then next year and think about submitting a presentation abstract next year ( yeah that's you Mr. Gorbachev and the pythian gang! also you Enkitec people )!
Key notes by Tom Kyte and 2 from CJ Date ( the godfather of relational database design ). Workshop sessions by Joel Kallman ( Apex I never new it was this easy ) / Tom Kyte / Craig Shallahamer.
Two days of sessions by top Oracle national class presenters Oakies / Aces / Ace Directors ... we got the whole enchilada ... please check it out and think about attending ... May 13/14/15 2013.
Hope to see you there! If not this year then next year and think about submitting a presentation abstract next year ( yeah that's you Mr. Gorbachev and the pythian gang! also you Enkitec people )!
Categories: DBA Blogs
developers gone wild ... make me grumpy
Actually the best suggestion I had from a competent developer was that I the DBA should physically remove the keyboard from this SQL challenged individual.
This should go into Oracle WTF but that blog is not very active these days.
So here we go ... what do you think about this?
One of my developers has this coded in a single table select they are using thru sql developer:
SKU column is ( inventory part number ... VARCHAR2(20) )
SELECT sku,
site_id,
site_and_sku,
qty_oh,
qty_demand
FROM schema_name.table_name
WHERE qty_oh > 0
AND (qty_oh - qty_demand < 5)
AND qty_demand < qty_oh
AND sku > 'WLD-'
AND SKU < 'WLE-'
AND sku = 'WLD-559-5415'
ORDER BY SKU
???
I did note to this IT professional that many people like to go against character fields with the LIKE operator and that many people like to use greater than and less than against numeric fields MOSTLY ...
This should go into Oracle WTF but that blog is not very active these days.
So here we go ... what do you think about this?
One of my developers has this coded in a single table select they are using thru sql developer:
SKU column is ( inventory part number ... VARCHAR2(20) )
SELECT sku,
site_id,
site_and_sku,
qty_oh,
qty_demand
FROM schema_name.table_name
WHERE qty_oh > 0
AND (qty_oh - qty_demand < 5)
AND qty_demand < qty_oh
AND sku > 'WLD-'
AND SKU < 'WLE-'
AND sku = 'WLD-559-5415'
ORDER BY SKU
???
I did note to this IT professional that many people like to go against character fields with the LIKE operator and that many people like to use greater than and less than against numeric fields MOSTLY ...
Categories: DBA Blogs
Nasty ORA 4030 in 11.2.0.3.5 using text index ( makes me grumpy! )
I had a batch program chew up 16 gb of PGA and run for extended time doing updates to ( my only ) table that has a text index on it ( customer last name ) ... used for "soundex" lookups.
It choked eventually and terminated with ORA 4030 ... have not seen one of those in a really long time.
Apparently Oracle has had a fix identified and available from August 2012 that ( somehow ) they have not seen as important enough to include in last several rounds of database PSU's. Wow ... thanks so much Oracle support!
Looks like the bug / 4030 will only hit things that do large numbers of changes ( inserts also ? dunno ) to text index column ... but still ... not happy here.
Problem Key
ORA-4030
[404008]
[druhopen:hash]
[druhopen:hash table]
Testing of the fix one-off looks ok so far and again ... found a while back ( p14367567_112030_Linux-x86-64.zip ).
The following are the bugs fixed by this patch:
14367567: EXCESSIVE PGA MEMORY GROWTH LEADING TO HIGH SWAPPING AND PERFORMANCE IMPACTS
It choked eventually and terminated with ORA 4030 ... have not seen one of those in a really long time.
Apparently Oracle has had a fix identified and available from August 2012 that ( somehow ) they have not seen as important enough to include in last several rounds of database PSU's. Wow ... thanks so much Oracle support!
Looks like the bug / 4030 will only hit things that do large numbers of changes ( inserts also ? dunno ) to text index column ... but still ... not happy here.
Problem Key
ORA-4030
[404008]
[druhopen:hash]
[druhopen:hash table]
Testing of the fix one-off looks ok so far and again ... found a while back ( p14367567_112030_Linux-x86-64.zip ).
The following are the bugs fixed by this patch:
14367567: EXCESSIVE PGA MEMORY GROWTH LEADING TO HIGH SWAPPING AND PERFORMANCE IMPACTS
Categories: DBA Blogs
missing PCursor and CCursor in 11.2 sgastat makes me grumpy
My OLTP system just cutover from 11.1.0.7.x to 11.2.0.3.5 and a bunch of my custom monitoring stuff now looks a whole lot different.
I had some custom slicing and dicing of the contents of sgastat ( I query it once an hour ) so I can keep an eye on stuff. Not a big believer in Oracle changing stuff so everything is fixed size and my 11.2 shared pool is a fair amount larger than my 11.1.
To guard against 4031's my system monitors free memory and will force shared pool flush when running low. No one at least on medium sized systems should be absolutely petrified of a flush of the shared pool ... no you don't want to do it often.
Anyways there are so many different things now showing up in my 11.2 sgastat areas ... what the heck is KGLHD and KGLH0? Why are KGLHD and KGLH0 so large?
Where is my PCursor and CCursor? 11.1 "sql area" not appears to be renamed to "SQLA".
Lots of things to learn here about what has changed in 11.2!
Information below is just showing things that were larger than 50 meg ...
*** 11.1.0.7.12
SUBPOOL NAME MB
shared pool (0 - Unused): free memory 224
shared pool (1): free memory 757.25
shared pool (1): sql area 602.08
shared pool (1): CCursor 208.43
shared pool (1): private strands 78.58
shared pool (1): event statistics per sess 59.98
shared pool (1): PCursor 59.56
*** 11.2.0.3.5 ...
SUBPOOL NAME MB
shared pool (0 - Unused): free memory 512
shared pool (1): KGLHD 972.88
shared pool (1): SQLA 893.1
shared pool (1): free memory 591.51
shared pool (1): KGLH0 505.61
shared pool (1): kkslLoadParentOnLock:lite 289.42
shared pool (1): db_block_hash_buckets 178
shared pool (1): private strands 107.41
shared pool (1): event statistics per sess 93.91
shared pool (1): ksunfy : SSO free list 87.54
shared pool (1): kglhdusr 81.57
shared pool (1): dbktb: trace buffer 78.13
shared pool (1): kkslBind_value 60.77
shared pool (1): FileOpenBlock 55.83
shared pool (1): KTI-UNDO 55.55
shared pool (1): KGLS 53.61
shared pool (1): KKSSP 51.18
I had some custom slicing and dicing of the contents of sgastat ( I query it once an hour ) so I can keep an eye on stuff. Not a big believer in Oracle changing stuff so everything is fixed size and my 11.2 shared pool is a fair amount larger than my 11.1.
To guard against 4031's my system monitors free memory and will force shared pool flush when running low. No one at least on medium sized systems should be absolutely petrified of a flush of the shared pool ... no you don't want to do it often.
Anyways there are so many different things now showing up in my 11.2 sgastat areas ... what the heck is KGLHD and KGLH0? Why are KGLHD and KGLH0 so large?
Where is my PCursor and CCursor? 11.1 "sql area" not appears to be renamed to "SQLA".
Lots of things to learn here about what has changed in 11.2!
Information below is just showing things that were larger than 50 meg ...
*** 11.1.0.7.12
SUBPOOL NAME MB
shared pool (0 - Unused): free memory 224
shared pool (1): free memory 757.25
shared pool (1): sql area 602.08
shared pool (1): CCursor 208.43
shared pool (1): private strands 78.58
shared pool (1): event statistics per sess 59.98
shared pool (1): PCursor 59.56
*** 11.2.0.3.5 ...
SUBPOOL NAME MB
shared pool (0 - Unused): free memory 512
shared pool (1): KGLHD 972.88
shared pool (1): SQLA 893.1
shared pool (1): free memory 591.51
shared pool (1): KGLH0 505.61
shared pool (1): kkslLoadParentOnLock:lite 289.42
shared pool (1): db_block_hash_buckets 178
shared pool (1): private strands 107.41
shared pool (1): event statistics per sess 93.91
shared pool (1): ksunfy : SSO free list 87.54
shared pool (1): kglhdusr 81.57
shared pool (1): dbktb: trace buffer 78.13
shared pool (1): kkslBind_value 60.77
shared pool (1): FileOpenBlock 55.83
shared pool (1): KTI-UNDO 55.55
shared pool (1): KGLS 53.61
shared pool (1): KKSSP 51.18
Categories: DBA Blogs
changes ( fixes really ) in the 11.2 AWR report make me grumpy
Sorry for anyone that may have seen this already via Oracle L ... some volleying back and forth on this item ( and thanks to Jonathan Lewis ).
This is the same approximate workload ( one week in between ) on an 11.1 system and now running on 11.2.
Just some of the top things from the AWR report here.
Looks like Oracle counts parses different in 11.2 ( does not count as a parse a hit in the session_cached_cursors area ) and also fixed reporting the W/A MB processed number. In 11.1 it should have been divided by ( 1024 * 1024 ) to give megabytes correctly.
11.1.0.7.12 ...
Load Profile Per Second Per Transaction Per Exec Per Call
~~~~~~~~~~~~ --------------- --------------- ---------- ----------
DB Time(s): 1.4 0.0 0.00 0.00
DB CPU(s): 0.7 0.0 0.00 0.00
Redo size: 109,808.0 2,749.8
Logical reads: 13,060.0 327.0
Block changes: 725.7 18.2
Physical reads: 593.6 14.9
Physical writes: 44.2 1.1
User calls: 4,492.2 112.5
Parses: 1,813.0 45.4
Hard parses: 2.0 0.1
W/A MB processed: 1,089,100.0 27,272.6
Logons: 1.7 0.0
Executes: 1,871.9 46.9
Rollbacks: 0.2 0.0
Transactions: 39.9
11.2.0.3.5 ...
Load Profile Per Second Per Transaction Per Exec Per Call
~~~~~~~~~~~~ --------------- --------------- ---------- ----------
DB Time(s): 0.7 0.0 0.00 0.00
DB CPU(s): 0.6 0.0 0.00 0.00
Redo size: 98,996.9 2,831.7
Logical reads: 11,926.5 341.2
Block changes: 618.0 17.7
Physical reads: 310.8 8.9
Physical writes: 46.6 1.3
User calls: 4,770.8 136.5
Parses: 98.2 2.8
Hard parses: 2.0 0.1
W/A MB processed: 1.0 0.0
Logons: 1.7 0.1
Executes: 1,998.8 57.2
Rollbacks: 0.1 0.0
Transactions: 35.0
This is the same approximate workload ( one week in between ) on an 11.1 system and now running on 11.2.
Just some of the top things from the AWR report here.
Looks like Oracle counts parses different in 11.2 ( does not count as a parse a hit in the session_cached_cursors area ) and also fixed reporting the W/A MB processed number. In 11.1 it should have been divided by ( 1024 * 1024 ) to give megabytes correctly.
11.1.0.7.12 ...
Load Profile Per Second Per Transaction Per Exec Per Call
~~~~~~~~~~~~ --------------- --------------- ---------- ----------
DB Time(s): 1.4 0.0 0.00 0.00
DB CPU(s): 0.7 0.0 0.00 0.00
Redo size: 109,808.0 2,749.8
Logical reads: 13,060.0 327.0
Block changes: 725.7 18.2
Physical reads: 593.6 14.9
Physical writes: 44.2 1.1
User calls: 4,492.2 112.5
Parses: 1,813.0 45.4
Hard parses: 2.0 0.1
W/A MB processed: 1,089,100.0 27,272.6
Logons: 1.7 0.0
Executes: 1,871.9 46.9
Rollbacks: 0.2 0.0
Transactions: 39.9
11.2.0.3.5 ...
Load Profile Per Second Per Transaction Per Exec Per Call
~~~~~~~~~~~~ --------------- --------------- ---------- ----------
DB Time(s): 0.7 0.0 0.00 0.00
DB CPU(s): 0.6 0.0 0.00 0.00
Redo size: 98,996.9 2,831.7
Logical reads: 11,926.5 341.2
Block changes: 618.0 17.7
Physical reads: 310.8 8.9
Physical writes: 46.6 1.3
User calls: 4,770.8 136.5
Parses: 98.2 2.8
Hard parses: 2.0 0.1
W/A MB processed: 1.0 0.0
Logons: 1.7 0.1
Executes: 1,998.8 57.2
Rollbacks: 0.1 0.0
Transactions: 35.0
Categories: DBA Blogs
linux servers that do not boot up on /dev/sda make me grumpy!
We are working on a set of upgrades to our environment and replacing a set of very stable but now old IBM x3650 servers ( currently running 5.7 ) with a set of new Dell R 710 servers.
New Dell servers on Oracle Linux 6.2 ... using red hat compatible kernel aka:
2.6.32-220.el6.x86_64
The new dell boxes have an internal raid controller ( Perc H700 ? ) and are connected to EMC direct attached storage using emulex HBA's. All operating system and linux software installed on internal disks ( mirrored ) ... all database stuff going to be on EMC storage.
Our new servers had a very strange set of behaviors when booting up from internal disks. Most of the time they would boot up and see the first internal raid drive as /dev/sda ( so /boot partition is on /dev/sda1 ) ... but at other times they would see /boot on a different device ( for example /boot on /dev/sdi1 ).
The entries in /etc/fstab for 6.x systems now apparently use UUID entries ... ( for example ):
UUID=e6964e7e-62a9-450c-a66e-a411b40a4ed9 / ext4 defaults 1 1
So when the servers came up on a different boot drive they would run ok ... looking strange ... but we ran into a different problem using ( still trying to use ... don't get me started ) a backup linux imaging product ( Acronis ) that just did not understand at all backing up or restoring a system when it was not running from /dev/sda.
Logically it seemed pretty straight forward. Force a way somehow so that first internal drive is always on /dev/sda.
We pay Oracle for linux support so open a ticket with them. We now have a solution but it took a very very long time for oracle linux support to come up with solution. Might be a by product of working with a junior level person ... might be from a strange new problem. Tried all sorts of stuff initially with udev rules ... nope none of this worked at all.
Eventually the solution that is now deployed and working involved removing lpfc ( emulex ? HBA support ? ) modules from the initramfs image that is invoked on first boot up. Of course we run stuff on EMC storage and yes eventually after booting our HBA's are working just fine.
Anyway here is what we had to do to get this working in our 6.2 redhat compatible kernel environment. It is some low level pretty esoteric linux stuff and well beyond what I wanted to have to deal with ... but it is working nicely.
Step 1: get the latest available dracut rpm's and stick them into directory for updating:
dracut]# ls -ltr | more
total 140-rw-r--r-- 1 root root 114884 Jan 11 13:29 dracut-004-284.0.1.el6_3.1.noarch.rpm-rw-r--r-- 1 root root 21524 Jan 11 13:29 dracut-kernel-004-284.0.1.el6_3.1.noarch.rpm
Step2: Update to latest rpm's ... ( not sure why the 100% 50% 100% stuff gone from below )
rpm -Uvh dracut*.rpm | more
warning: dracut-004-284.0.1.el6_3.1.noarch.rpm: Header V3 RSA/SHA256 Signature,YPreparing... ##################################################dracut ##################################################dracut-kernel ##################################################
Step 3: Verify installation of new dracut rpms
# rpm -qa | grep dracut
dracut-kernel-004-284.0.1.el6_3.1.noarchdracut-004-284.0.1.el6_3.1.noarch
Step 4: Now change to the /boot directory and create a new initramfs image file.
Use this command: dracut --omit-drivers lpfc initramfs-$(uname -r)-no-lpfc.img
# dracut --omit-drivers lpfc initramfs-$(uname -r)-no-lpfc.img
Step 5: Check img file created ...
# ls -ltr *.img | more
-rw-r--r-- 1 root root 15875365 Jan 11 13:39 initramfs-2.6.32-220.el6.x86_64-no-lpfc.img
Step 6: Verify that no lpfc moduels are in the new initramfs image file
# zcat *no-lpfc.img | cpio -t | grep lpfc | more
87575 blocks
Agove output is correct ... if you see something like this ... lpfc is still in the img file:
lib/modules/2.6.32-220.el6.x86_64/kernel/drivers/scsi/lpfclib/modules/2.6.32-220.el6.x86_64/kernel/drivers/scsi/lpfc/lpfc.ko
Final step ... create an entry in /etc/grub.conf to point to the new initramfs img file.
Copy the current /etc/grub.conf to something else.
Change the default= value to point to new lines at the end of the /etc/grub.conf file. My change was to change default=1 to default=2.
Add in new lines at the end of grub.conf ... my entries looked like this ( this is just part of my grub.conf file ).
title Oracle Linux Server (2.6.32-220.el6.x86_64) root (hd0,0)kernel /vmlinuz-2.6.32-220.el6.x86_64 ro root=UUID=e6964e7e-62a9-450c-a66e-a411b40a4ed9 rd_NO_LUKS LANG=en_US.UTF-8 rd_NO_MD quiet SYSFONT=latarcyrheb-sun16 rhgb crashkernel=auto KEYBOARDTYPE=pc KEYTABLE=us rd_NO_DMinitrd /initramfs-2.6.32-220.el6.x86_64-no-lpfc.img
***
At this point the change should be complete ... start rebooting and test ... do we always come up on /dev/sda?
For me yes this finally fixed the problem.
My guess is that I will have to revisit all of this when doing next OL linux update. Probably going to sit out 6.3 and eventually move from 6.2 up to 6.4 ... probably will have to rebuild new initramfs image and of course test.
I hope this saves some other poor geek time ... it sure took us and oracle support a long time to get this working correctly!
New Dell servers on Oracle Linux 6.2 ... using red hat compatible kernel aka:
2.6.32-220.el6.x86_64
The new dell boxes have an internal raid controller ( Perc H700 ? ) and are connected to EMC direct attached storage using emulex HBA's. All operating system and linux software installed on internal disks ( mirrored ) ... all database stuff going to be on EMC storage.
Our new servers had a very strange set of behaviors when booting up from internal disks. Most of the time they would boot up and see the first internal raid drive as /dev/sda ( so /boot partition is on /dev/sda1 ) ... but at other times they would see /boot on a different device ( for example /boot on /dev/sdi1 ).
The entries in /etc/fstab for 6.x systems now apparently use UUID entries ... ( for example ):
UUID=e6964e7e-62a9-450c-a66e-a411b40a4ed9 / ext4 defaults 1 1
So when the servers came up on a different boot drive they would run ok ... looking strange ... but we ran into a different problem using ( still trying to use ... don't get me started ) a backup linux imaging product ( Acronis ) that just did not understand at all backing up or restoring a system when it was not running from /dev/sda.
Logically it seemed pretty straight forward. Force a way somehow so that first internal drive is always on /dev/sda.
We pay Oracle for linux support so open a ticket with them. We now have a solution but it took a very very long time for oracle linux support to come up with solution. Might be a by product of working with a junior level person ... might be from a strange new problem. Tried all sorts of stuff initially with udev rules ... nope none of this worked at all.
Eventually the solution that is now deployed and working involved removing lpfc ( emulex ? HBA support ? ) modules from the initramfs image that is invoked on first boot up. Of course we run stuff on EMC storage and yes eventually after booting our HBA's are working just fine.
Anyway here is what we had to do to get this working in our 6.2 redhat compatible kernel environment. It is some low level pretty esoteric linux stuff and well beyond what I wanted to have to deal with ... but it is working nicely.
Step 1: get the latest available dracut rpm's and stick them into directory for updating:
dracut]# ls -ltr | more
total 140-rw-r--r-- 1 root root 114884 Jan 11 13:29 dracut-004-284.0.1.el6_3.1.noarch.rpm-rw-r--r-- 1 root root 21524 Jan 11 13:29 dracut-kernel-004-284.0.1.el6_3.1.noarch.rpm
Step2: Update to latest rpm's ... ( not sure why the 100% 50% 100% stuff gone from below )
rpm -Uvh dracut*.rpm | more
warning: dracut-004-284.0.1.el6_3.1.noarch.rpm: Header V3 RSA/SHA256 Signature,YPreparing... ##################################################dracut ##################################################dracut-kernel ##################################################
Step 3: Verify installation of new dracut rpms
# rpm -qa | grep dracut
dracut-kernel-004-284.0.1.el6_3.1.noarchdracut-004-284.0.1.el6_3.1.noarch
Step 4: Now change to the /boot directory and create a new initramfs image file.
Use this command: dracut --omit-drivers lpfc initramfs-$(uname -r)-no-lpfc.img
# dracut --omit-drivers lpfc initramfs-$(uname -r)-no-lpfc.img
Step 5: Check img file created ...
# ls -ltr *.img | more
-rw-r--r-- 1 root root 15875365 Jan 11 13:39 initramfs-2.6.32-220.el6.x86_64-no-lpfc.img
Step 6: Verify that no lpfc moduels are in the new initramfs image file
# zcat *no-lpfc.img | cpio -t | grep lpfc | more
87575 blocks
Agove output is correct ... if you see something like this ... lpfc is still in the img file:
lib/modules/2.6.32-220.el6.x86_64/kernel/drivers/scsi/lpfclib/modules/2.6.32-220.el6.x86_64/kernel/drivers/scsi/lpfc/lpfc.ko
Final step ... create an entry in /etc/grub.conf to point to the new initramfs img file.
Copy the current /etc/grub.conf to something else.
Change the default= value to point to new lines at the end of the /etc/grub.conf file. My change was to change default=1 to default=2.
Add in new lines at the end of grub.conf ... my entries looked like this ( this is just part of my grub.conf file ).
title Oracle Linux Server (2.6.32-220.el6.x86_64) root (hd0,0)kernel /vmlinuz-2.6.32-220.el6.x86_64 ro root=UUID=e6964e7e-62a9-450c-a66e-a411b40a4ed9 rd_NO_LUKS LANG=en_US.UTF-8 rd_NO_MD quiet SYSFONT=latarcyrheb-sun16 rhgb crashkernel=auto KEYBOARDTYPE=pc KEYTABLE=us rd_NO_DMinitrd /initramfs-2.6.32-220.el6.x86_64-no-lpfc.img
***
At this point the change should be complete ... start rebooting and test ... do we always come up on /dev/sda?
For me yes this finally fixed the problem.
My guess is that I will have to revisit all of this when doing next OL linux update. Probably going to sit out 6.3 and eventually move from 6.2 up to 6.4 ... probably will have to rebuild new initramfs image and of course test.
I hope this saves some other poor geek time ... it sure took us and oracle support a long time to get this working correctly!
Categories: DBA Blogs
Grumpy old DBA at Great Lakes Oracle Conference
My usergroup ( NEOOUG = Northeast Ohio Oracle Users Group ) has been running a big two day conference at Cleveland State in May for a number of years. Last year our keynotes were from Cary Millsap and Rich Niemic.
This year we are hitting it out of the ball park with Chris Date ( CJ Date ) the godfather of relational database design theory and principles along with Tom Kyte.
Conference renamed this year as GLOC Great Lakes Oracle Conference on May 14th/15th with additional 1/2 day workshop ( extra cost ) on monday May 13th by Tom Kyte/Joel Kallman/Craig Shallahamer. Joel Kallman for anyone who has not seen him is an incredible speaker an Oracle employee ( Director of Apex Development ) and will be doing a hands on / bring your laptop / hack up an Apex app.
GLOC is a joint venture between NEOOUG and the Columbus Oracle Users Group ( OOUG ). Hoping to see some people from Detroit/Toledo and the Chicago area also plus well those pesky Pittsburgh area Steeler fans.
We are looking for speakers and the call for presentations is now open! Accepted speakers receive ( as usual ) free conference registration.
Here's a couple of references:
First for my usergroup: NEOOUG
Next for the conference: Great Lakes Oracle Conference ... Call for Presentations ... Registration
This year we are hitting it out of the ball park with Chris Date ( CJ Date ) the godfather of relational database design theory and principles along with Tom Kyte.
Conference renamed this year as GLOC Great Lakes Oracle Conference on May 14th/15th with additional 1/2 day workshop ( extra cost ) on monday May 13th by Tom Kyte/Joel Kallman/Craig Shallahamer. Joel Kallman for anyone who has not seen him is an incredible speaker an Oracle employee ( Director of Apex Development ) and will be doing a hands on / bring your laptop / hack up an Apex app.
GLOC is a joint venture between NEOOUG and the Columbus Oracle Users Group ( OOUG ). Hoping to see some people from Detroit/Toledo and the Chicago area also plus well those pesky Pittsburgh area Steeler fans.
We are looking for speakers and the call for presentations is now open! Accepted speakers receive ( as usual ) free conference registration.
Here's a couple of references:
First for my usergroup: NEOOUG
Next for the conference: Great Lakes Oracle Conference ... Call for Presentations ... Registration
Categories: DBA Blogs


