Sunday, January 20, 2013

Stop PC System Crashes in Minutes not Days

After you've tested your disk, your memory, ran all sorts of virus and malware search and destroy tools and every test comes up clean.... and you still have system crashes! Well you might just have a driver problem. But what driver? There may be a hundred or more.

Finding tools to do all the appropriate tests online may take the better part of an afternoon if you don't already have them handy, and then running the test may take days depending on how thorough they are. I've learned my lesson. Before I go through all that I will follow the simply outline below to see if system crashes are caused by a missing, corrupt, outdated, or wrong driver.

 First, thanks to NetWork World for publishing the following article http://www.networkworld.com/news/2005/041105-windows-crash.html. Read the article for details.

In my case I found that a Nvidia driver had somehow gone bad. By following the procedure outlined in the article I was able to locate the culprit and stop the crashes in minutes, after having spent days doing needless system testing.

You will need to download WinDbg at the Microsoft site here. After installing the tools run WinDbg. The WinDbg GUI is not pretty, and as any debugger there are a lot of complex commands, but by following the simple instructions written by Dirk Smith in the article I found my answer, that is, which driver was causing the crash. I went to the Nvidia site for the download, reinstalled the driver and my problems were over.

One catch for me was that my crashes were not producing dump files even though it was set up to do so under My Computer > properties > advanced  > startup and recovery > system failure. Of course, without a dump file of the crash you cannot use the debugger. During my prior analysis of memory usage I noted that I had virtual memory page files on all drives except the C: drive. I did that because I didn't want VM competing with other activities on C:. The dump file was supposed to go to C:/windows. Just as a shot in the dark I created a pagefile on C: too, and wha-la, during the next crash a dump file was created. Coincidence?

System crashes can be deeply mysterious, but by following this outline you can detect what driver may be causing the problem or at least potentially eliminate drivers as the corrupt. The debugger can do a lot more of course and might even detect other sources of a crash. But that's too deep of a dive for this post.

Good luck! Don't let crashes keep you done!

Microsoft's Autoruns to the Rescue



It has always been painful to determine just what services, apps, drivers, ddl, etc are loaded on your PC, where they are loaded from, and when.

How about finding old apps that didn't completely uninstall, or worse, apps that you didn't even know were installed?

How about finding new additions which may be causing a problem, or, what can be removed if your PC has been slowing down.

Microsoft's Autoruns in the answer to all of the above and more.

Autoruns can be found at the MS technet site.

The image above shows the app running and what is being loaded at startup from just about every location possible. The first screenfull shows items from the registry at HKLM\Software\microsoft\windows\currentVersion\run. The 'run' key in the registry is one of my such places that apps are started from when a PC boots. Autoruns shows all the locations that are commonly used and many not so common locations.


You might be surprised just what you see when you fire up the tool.

My PC is going on seven years old and in that time many pieces of software have been loaded with and without my knowledge, many uninstalled leaving junk behind (or not really uninstalled at all), and many services and drivers that just don't need to startup automatically or at all.

Finding and removing old junk is one use. Another important use is just to take a snapshot of your PC using this tool when it is healthy. You can then compare a later snapshot (after you start to have problems or slowdowns) and determine what has changed on your PC.

It is easy to turn off an app or service etc just by checking the box on the far left. I would be careful about deleting them however. When turning things off do them one or two at a time, then restart your PC to insure that it is working OK. If you have a lot of stuff to turn off ( I turned of over thirty items), then do it over a period of days, making sure everything is working fine. If you don't mind bouncing your PC many times you can make quite a few changes in one day.

If it ain't broke don't fix it. But if you start to have problems then this tool can easily tell you what has changed and how to systematically determine which of the changes are causing the problem.

Monday, October 8, 2012

11g Interactive App


Remember back in the day when you could actually know all the V$ and DBA views! That day is long gone but you can at least find what you need by using the Oracle 11g Interactive app. Look as you may, you will not fine the V$ dynamic performance views. Maybe the project budget ran out and they were not included. Nonetheless, this is a great app.

Use this link to see the app at my website.
Use this link to down load the app for yourself.

Sunday, September 30, 2012

Minnesota Dreaming






Up at Lake Vermillion near the Boundary Waters Canoe Area, having a Furious good time.

Minnesota's Surly Brewery is on its way to being one of the best.

This post is the Minnesota equivalent to a Corona ad.

Thursday, September 27, 2012

Setting up NFS on EC2

When you get to the point of having a little virtual server farm it is handy to have a place to put common files. In the case of an Oracle DBA we've historically used an NFS mount point to accomplish that. Maybe in today's ever increasing security conscious world there may be a better way then using NFS, but that also may translate into more complexity too.

The NFS setup is fairly simple on EC2 EBS storage. In the case of this example AMI ami-e565ba8c (Amazon t.mirco Linux) image was used as the server, and ami-42778a2b (Oracle Linux aka Red Hat) was used as the client.

1) Insure that nfs utils and rpcbind are instgalled. When doing yum update if you get an on rpcbind, then use 'portmap' instead.

    yum install nfs-utils rpcbind

2) On the server that is going to be the source of the shared storage edit the export file to add the shared directory.

    vi /etc/exports
   
Add the following parameters to the file : your directory path, your public (EIP) address and the options to control access such as read/write options, security, and asychronous options. The EIP is of the client. The file format is reported to be very sensitive. Notice that there is no space after the EIP and before the options as you might exepect there to be. Use only the 'space' character between parameters. There are a lot of options for security and other things. Look up the doc on NFS and the exports file for more detail.

     /yourDIRname ec2-xxx-xx-xxx-xxx.compute-1.amazonaws.com(rw,async)

3) Now start the services.

    service rpcbind start   (if rpcbind is not available then use ‘portmap’)
    service nfs start
    service nfslock start

4) Next load the changes. You can add more mount points latter and repeat the export step.

    exportfs –ar

5) Insure that the services are up on the client. If they do not exist, then do the yum update step.

6) Create the nfs mount point on the client. The permissions on the server and the client shared storeage should be open enough to permit the nfs mount, otherwise you will receive a 'permission denied' message. For testing purposes I opened mine to 777. If you receive permission errors also try opening permissions on the parent directory of the mount point.

7) Open permissions on the server's AWS Security Group to allow the NFS mount. In the excellent blog post by Hunter Ford he set the group as follows. For example, for UDP he opened ports 111, and 32806.

    TCP: 111, 2049
    UDP: 111, 32806

However, you will also see in other posts that other ports were opened, and there are some notes stating the the port number used by the NFS process changes during server bounces. I have not confirmed any of this myself. For testing purposes just open TCP and UDP to all ports. Then after testing tighten it down to the desired level. If you get a 'time out, retrying' message then it is probably a security group issue, or, a configuration issue with your exports file.

9) Do the manual mount. The EIP is the NFS server's EIP. I've seen on other systems that the mount can't occur if you have a user sitting within the to-be mounted path. Insure that that you CD out of the shared area.

    mount -t nfs ec2-xxx-xx-xxx-xx.compute-1.amazonaws.com:/var/www/test /var/www/test

8) To make the changes permanent you will need to update the /etc/fstab file and add the services to your server startup.

    chkconfig --level 2345 rpcbind on
    chkconfig --level 2345 nfs on
    chkconfig --level 2345 nfslock on

    ec2-xxx-xx-xxx-xxx.compute-1.amazonaws.com:/var/www/test    /var/www/test  nfs rsize=8192,wsize=8192,timeo=14,intr 0 0


Monday, September 17, 2012

Oracle - Avengers Poster

    



I have these posters which will become collector's items long after you are probably dea.... well, no longer collecting.

Posters are 2x3 foot. The mailing tube alone will be $5. If you want one send me $20 for shipping and handling to my paypal account at jim@jimbolesdesigns.com.

Friday, August 31, 2012

Hiatus is Over

I have not posted for several months because I got carried away with the idea of not only doing OEM 12c on Amazon's Cloud, but also to do that as a business model. That is, implement OEM 12c on a public or private cloud as a managed service. There is a LOT to consider beyond the technical. I don't have an MBA so it took some time to think through all the business considerations, and then had the outline looked over by others who do have a business background.

I ended up writing a white paper and 30 page business outline on what I called Business Transaction Assurance (BTA). In short, BTA is simply the implementation of OEM 12c and all the associated packs, plug-ins, etc. However, all of the features are broken into levels of assurance from the very basic (e.g. OS and database monitoring) to the advance levels using RUEI, synthetic transactions, etc. for the purpose of instrumenting business transactions end-to-end. A customer could buy into the level of BTA that is needed.

There are several conceptual weaknesses in the outline which will require some reworking of the business plan, but the overall concepts are sound enough for presentation. One of the main weaknesses is that I'm not sure how applicable an Oracle-centric management and monitoring solution is to small businesses who operate on a shoestring. I tried to think in terms of multitenancy to reduce costs. And it might work in some regards, but as you know OEM is not designed to be a multitenant application. It would only be a work around and would take a full proof of concept project to determine to what degree it would or wouldn't work, and then determining if targeting small businesses makes sense at all.

I will be talking with several established Oracle Partners in the next few weeks to determine their interest in offering OEM 12c as a managed service. It takes a lot to start a new practice, and becoming a certified Oracle Partner for a specialty like OEM is only one step. 

You can pick up a copy of the business outline here.

Please feel free to send me your comments at jim@jimbolesdesigns.com