Friday, January 20, 2017

Windows 10; Registry settings to Turn On or Off Driver Updates

Driver updates from Microsoft for my Dell XPS15 L521x have been driving me nuts just when I get it working by uninstalling the latest DEll Touchpad driver update another DEll Touchpad driver update from Windows update installs. WEll I finaly found out how to stop the cycle  - disable friver updates al together, I'm happy to do that for a while I have the Intel driver update agent which covers most things.

Found this trick on WinAero

You can do the same thing with group policy if you have a version of Windows that supports that. See the TenForums link for details
To Turn On or Off Including Driver Updates in Windows Update 
Note   Note
The .reg files below will add and modify the DWORD value in the registry key below.


ExcludeWUDriversInQualityUpdate DWORD

0 = On
1 = Off

Tuesday, March 29, 2016

Seagate external USB 3.0 disk drive disconnects intermittently? Here is my solution

SEagate external USB 3.0 disk drive disconnects intermittently? Here is my solution
OK so you updated to Windows 10 an raninto this issue, or may be you had it on Windows 7 as well but worked around it by installing the Renesas USB 3.0 driver, with utility that allows you to disable USB 3.0 power management across the board.

Well there is no Renesas USB 3.0 driver for Windows 10 with power management disabling utility. BUGGER!

 YOU can fiddle with some Windows 10 power managEment settings disabling USB Selective suspend.  BUt I have had mixed success with that. THe following solution is the ONLY solution that has worked for me.

I got onto this registry tweak by monitoring changes to the registry, when running the  Renesas USB 3.0 driver utilityThat has a check box for disabling power management

THe parameter is DisableSSLinkPM.

MY LAptop shows the USB controller as INtel USB 3 Extensible Host Controller:

Hardware ID and DEVice ID matches the following registry setting

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\PCI\VEN_8086&DEV_1E31&SUBSYS_054F1028&REV_04\3&11583659&0&A0\Device Parameters]

No more disconnects!!!

Wednesday, August 14, 2013

Become a Bilingual database DBA Oracle/ SQL Server

With Oracle losing ground to SQL Server, and probably alot more in the next few years with Oracles featureless (non-option) 12c I think it pays to know about the enemy as many DBA jobs now require bi platform knowledge . Microsoft have been nice enough to put together free training videos for Oracle DBAs

Become A Bilingual DBA*
 an Oracle DBA (possibly certified) who masters Microsoft SQL Server knowledge (possibly certified)


SQL Server 2014 Essentials for Oracle DBAs

Tuesday, November 20, 2012

Networking in-depth for Oracle VM Server for x86

Good article on OTN looks "under the hood" of Oracle VM Server for x86, exploring the underlying logical network components that are created by Oracle VM Manager. By best practices engineer in a blog post on OTN garage.

#virtualization   #oraclevm   #ovm  

Saturday, August 11, 2012

Oracle RAC Internals Presentation including Advanced Listener Configuration

Just came across this excellent presentation on RAC internals.

It has quite a few nuggets of information for RAC 11.2, well worth a read.

Understanding Oracle RAC Internals

Markus Michalewicz (
Senior Principal Product Manager Oracle RAC and Oracle RAC One Node

Couple of things I picked up (which is what I was searching on)

• Listeners used for a client connection to Oracle RAC should be managed by Oracle Clusterware and should be listening on an Oracle managed VIP.

• Using server-side TNSNAMES aliases to resolve the listener configuration is not recommended. 

• Listeners specified by the LISTENER_NETWORKS parameter should not be used in the LOCAL_LISTENER and REMOTE_LISTENER parameters. Otherwise, cross registration will happen and connections will be redirected cross networks.

Thursday, July 12, 2012

oraenv returns XPointer evaluation failed: no locset

Using the oraanv script and getting "XPointer evaluation failed: no locset"?

Well I have a potential solution. There are a couple of causes of this error that I know of.

One is a bug - using oranev from an agent home.
It's not supported - it has to be from a database home. See 
"Running oraenv from the Grid Control Agent Oracle Home Fails [ID 1323684.1]"
"The oraenv is not meant to be run from the Grid Control Agent ORACLE_HOME.This was diagnosed in BUG 10227734. The BUG will remove the oraenv from future agent installs....
Do not run oraenv to set the environment for the Grid Control Agent.Set the environment manually or using .sh script."
See the note for full details.

What if you are not using an agent home? 

Then the other cause I am aware of is this-

The oraenv script sets ORACLE_BASE. If it is not already set in the environment it calls a binary $ORACLE_HOME/bin/orabase.

orabase returns the ORACLE_BASE by looking in the Oracle Home's Inventory. It looks for the value in the file 

This file it seems can sometimes lose the value of the Oracle Base, and if it does then orabase returns the XPointer evaluation failed: no locset error.

The file contents should look much like this:

      <PROPERTY NAME="ORACLE_BASE" VAL="/ora/oracle"/> 

If the PROPERTY_LIST bit is missing, then you need to add it back in.
Set VAL= to be your Oracle Base - the example above is specific to MY environment.

Saturday, February 11, 2012

SYSDBA user gets ORA-01031: insufficient privileges updating user$

I was merrily following note "Instructions for Clearing pre-11g Database Password Hashes [ID 463999.1]" to remove the pre-11g password hashes from sys.user$. I connected as SYSDBA, and when trying to run the update statement I got ORA-01031:

SQL> update sys.user$ set password=NULL;
update sys.user$ set password=NULL
ERROR at line 1:
ORA-01031: insufficient privileges

I tried another user with SYSDBA privilege and got the same thing. These users can do everything else as SYSDBA but not it seems update user$. What's going on?


The software install was a default install with the "Enterprise Edition" option selected. As it turns out this includes installing the binaries for Database Vault. Even though Database Vault is not configured, the binaries still have an effect. So Database Vault is enabled even though you have not configured it, there are no Database Vault schemas etc.

To remedy the issue you have to relink Oracle without Database Vault on. This is documented in The Database Vault Administrators guide.

Disabling and Enabling Oracle Database Vault

From the doc: Disable Oracle Database Vault as follows:
  • UNIX: Run the following commands:
    $ cd $ORACLE_HOME/rdbms/lib
    $ make -f dv_off ioracle
  • Windows: In the ORACLE_HOME\bin directory, rename the oradvll.dll file to another name, such as oradvll.dll.dbl.
After disabling database vault I was successfully able to update the password file and remove the pre-11g password hashes.

Word to the wise: Use the custom install option when installing Oracle software and only pick the components you really need and are licensed for. This has the added benefit of upgrades going faster due to not having a bunch of unnecessary packages and tables.

Thursday, February 9, 2012

SQL Developer 3.1 released with new DBA features

SQL Developer 3.1 has been released with a number of new features for DBAs. I have been using the Early Adopter/EA versions and I find the Data Pump wizards useful for quick cheap exports and imports. Tim Hall plays and displays the Data Pump wizards here:

ORACLE-BASE - SQL Developer 3.1 Data Pump Wizards (expdp, impdp)

You can see all the new features here.

Most useful I think is the RMAN and Data Pump integration. There is an improved database diff and a few other things. Definitely worth downloading and updating your current version of SQL Developer

Thursday, February 2, 2012

Script to show device mappings for ASMLib disks

I really like this wee script for showing mapping:

/etc/init.d/oracleasm querydisk -d `/etc/init.d/oracleasm listdisks -d` |
cut -f2,10,11 -d" " | perl -pe 's/"(.*)".*\[(.*), *(.*)\]/$1 $2 $3/g;' |
while read v_asmdisk v_minor v_major
v_device=`ls -la /dev | grep " $v_minor, *$v_major " | awk '{print $10}'`
echo "ASM disk $v_asmdisk based on /dev/$v_device [$v_minor, $v_major]"

Taken from Ronny Egner's blog

He found it somewhere on the web and updated for modern ASM versions.

Output looks like:

ASM disk ORA_FPF_12GB_EMCP004 based on /dev/emcpowera1 [120, 1]
ASM disk ORA_FPF_12GB_EMCP005 based on /dev/emcpowerb1 [120, 17]
ASM disk ORA_FPF_12GB_EMCP006 based on /dev/emcpoweraf1 [120, 497]
ASM disk ORA_FPF_12GB_EMCP007 based on /dev/emcpoweras1 [120, 705]

Another great post with useful scripts by Bane Radulović - Senior Principle Support Engineer at Oracle Support in Melbourne:
ASM Support Guy ™: How to map an ASMLIB disk to a device name

ASMLib and EMC PowerPath Multipathing

Another quick note - an email I sent to other DBAs at work.

Problem - ASMLib picks the first disk device it finds for a particular ASM disk and uses that device. This usually means that ASM is NOT using the multipath emcpower device.

ASMLib picks the first disk device it finds for a particular ASM disk and uses that device. This usually means that ASM is NOT using the multipath emcpower device. 

Let's pick an ASMLib disk on my server - in this case I choose a disk that has been named  ORA_FPF_90GB_EMCP022 .

root@fpfkxtdb02 ~# /etc/init.d/oracleasm  querydisk ORA_FPF_90GB_EMCP022 
Disk "ORA_FPF_90GB_EMCP022" is a valid ASM disk 

There are lots of possible paths to the disk. ASM picks the first one it finds and ignores the rest. What paths are there for our disk?? 

root@fpfkxtdb02 ~# /etc/init.d/oracleasm querydisk -p ORA_FPF_90GB_EMCP022 
Disk "ORA_FPF_90GB_EMCP022" is a valid ASM disk 
/dev/sdn1: LABEL="ORA_FPF_90GB_EMCP022" TYPE="oracleasm" 
/dev/sdav1: LABEL="ORA_FPF_90GB_EMCP022" TYPE="oracleasm" 
/dev/sdcd1: LABEL="ORA_FPF_90GB_EMCP022" TYPE="oracleasm" 
/dev/sddk1: LABEL="ORA_FPF_90GB_EMCP022" TYPE="oracleasm" 
/dev/emcpowerm1: LABEL="ORA_FPF_90GB_EMCP022" TYPE="oracleasm" 

Lots of paths.

Lets see what device path is actually being used for our ASMLib disk: 

root@fpfkxtdb02 ~# /etc/init.d/oracleasm querydisk -d ORA_FPF_90GB_EMCP022 
Disk "ORA_FPF_90GB_EMCP022" is a valid ASM disk on device [8, 209] 

Device [8, 209]  is the first disk in the path list - /dev/sdn1 - NOT the emcpower device. 

root@fpfkxtdb02 ~# ls -l /dev/sdn1 
brw-r----- 1 root disk 8, 209 Oct 24 12:15 /dev/sdn1 

We want ASMLib to be using THIS device: 

root@fpfkxtdb02 ~# ls -l /dev/emcpowerm1 
brw-r----- 1 root disk 120, 193 Oct 24 12:15 /dev/emcpowerm1 



root@fpfkxtdb02 ~# vim /etc/sysconfig/oracleasm 


# ORACLEASM_SCANORDER: Matching patterns to order disk scanning 

# ORACLEASM_SCANEXCLUDE: Matching patterns to exclude disks from scan 


# ORACLEASM_SCANORDER: Matching patterns to order disk scanning 

# ORACLEASM_SCANEXCLUDE: Matching patterns to exclude disks from scan 

Unload, reload ASM and scandisks

root@fpfkxtdb02 ~# oracleasm exit 
Unmounting ASMlib driver filesystem: /dev/oracleasm 
Unloading module "oracleasm": oracleasm 
root@fpfkxtdb02 ~# oracleasm init 
Loading module "oracleasm": oracleasm 
Mounting ASMlib driver filesystem: /dev/oracleasm 
root@fpfkxtdb02 ~# /etc/init.d/oracleasm scandisks 
Scanning the system for Oracle ASMLib disks:               [  OK  ] 

Check that ASM is now using the emcpower device:

root@fpfkxtdb02 ~# /etc/init.d/oracleasm querydisk -d ORA_FPF_90GB_EMCP022 
Disk "ORA_FPF_90GB_EMCP022" is a valid ASM disk on device [120, 193]