Data Bases Obselete But Update Fails At 78%25

Posted on  by 

ORA-32004: obsolete or deprecated parameter(s) specified for RDBMS instance ORACLE instance started. Total System Global Area bytes Fixed Size 8677664 bytes Variable Size bytes Database Buffers bytes Redo Buffers 24875008 bytes Database mounted. Database opened. If the update failed with the same error, try to restart the application: In the lower-right corner of the screen, right-click the Kaspersky Internet Security 2016 icon and select Exit in the shortcut menu. Run the application again. See the guide on how to run Kaspersky Internet Security. Run the databases update.

This was a tough one. We have labs full of Windows 7 computers thatget their updates via a WSUS server. These machines were not gettingtheir updates. Many of them were failing with WSUS error 0x80244010 .(There were some other errors as well, which I foolishly did not writedown.)

Error 0x80244010 means 'the client tried to contact the WSUS serverfor more than 200 round trips'.http://blogs.technet.com/b/sus/archive/2008/09/18/wsus-clients-fail-with-warning-syncserverupdatesinternal-failed-0x80244010.aspx. '200' is a hardcoded value. Re-running 'Check for Updates' on theclient several times (I have had to run it three or four times)can fix the issue well enough that the computer gets updates, but thisis irritating.

The underlying problem appears to be twofold:

  • Every update on WSUS (even if they are unapproved) get theirmetadata sent to clients unless the updates are marked as expired.
  • WSUS does not clean unneeded (obsolete? superseded? unapproved?) updates itself. I had beenrunning it as a 'fire and forget' server: allow it to autoapprovesecurity updates and then leaving it alone. This fills the databasewith a bunch of updates that gets sent out.

WSUS has a Cleanup Wizard which is supposed to expire obsolete andunneeded updates. I tried running this, but it would get stuck andhang forever.

There is lots of advice about how to fix this problem: defragging harddrives, running the Cleanup Wizard multiple times, running weirdPowershell scripts that launch the Wizard via the commandline. None ofthem worked for me. What worked was the advice on this page:

Although useful, note that the thread contains some unkind words toone of the thread participants. It also spreads out the advice I endedup using across the discussion.

The thread is full of good insight, and well worth reading. However, Ithought it would be helpful to consolidate what I ended up using tosolve our issue.

First, the problem: WSUS uses an internal database to store itsupdates. The Server Cleanup wizard calls a stored procedure whichtries to expire all old updates at once, and this times out and makesthe Cleanup Wizard hang. Usually, we want atomic all-or-nothingoperations in databases, so when the expiry times out the databasehelpfully rolls back expired updates, leaving us in the position westarted.

In addition to having too many updates it appears that certainobsolete updates have a large number of revisions, which also slowsthe clearout process down. Once these troublesome updates are expired,the rest of the cleanup can be handled relatively efficiently.

Databases

Databases Obsolete But Update Fails At 78% Game

To solve the problem, you log into the database directly and run ascript that expires updates one by one. Troublesome updates take along time to expire, but they don't hit the timeout value, soeventually all updates get cleared.

Second: the steps. This boils down to running the following script,provided by user __Russ__ on the forums, based on code byvexation. (Sorry about the long line. I do not know how to safelyinsert linebreaks into the script and am not going to bother findingout.)

Data Bases Obselete But Update Fails At 78%25
  • Download SQL Management Studio Express . We are running WSUS onServer 2008 R2, so I got version 2005, available here:http://www.microsoft.com/en-us/download/details.aspx?id=8961

  • Install SQL Management Studio Express and then start it asadministrator. Set theserver name to be.pipeMSSQL$MICROSOFT##SSEEsqlquery . Apparently for Server2012 this should be .pipeMICROSOFT##WIDtsqlquery.

  • Navigate to Databases -> SUSDB.

  • Make a 'New Query'.

  • Paste the script above into a query window.Then click 'Execute'.

  • Wait a long time. The script will tell you what it is doing in the'Messages' tab, which is helpful.

  • When the script has finished executing your WSUS installation should be clean.

  • Run the Cleanup Wizard regularly (I have decided to run it every twomonths) in a vain attempt to keep the database clean from now on.

Later in the thread there is some Powershell script that is supposedto do the same thing, but it did not work for me.

Obsolete

There a few takehome lessons for me from this:

Databases Obsolete But Update Fails At 78% 2017

  • Opaque software is terrible. The only reason people were able tosolve his problem was because WSUS (which I treat as a black box,since we auto-approve updates) actually uses SQL server secretly,and it is possible to connect to the SQL server directly and fixthings. If that SQL interface was not accessible we would all bestuck. I run into this issue again and again and again. Softwarethat you cannot troubleshoot and poke at is software you can't fix.

  • Similarly, uninformative progress bars that hide system problems areterrible. There should always be an option to see what the programis doing under the hood, if only so we can see whether the programis actually making progress. Progress bars lie.

  • Cooperative threads where people contribute and improve collectiveknowledge about problems are super-valuable, even when valuableinformation is smeared across the thread. I am so grateful thatthese sysadmins investigated the problem thoroughly and solved it,and I think Microsoft is as well: recently they published a longarticlehttp://blogs.technet.com/b/configurationmgr/archive/2016/01/26/the-complete-guide-to-microsoft-wsus-and-configuration-manager-sup-maintenance.aspxwhich FINALLY addressed this problem. I doubt they would have doneso if the above thread had not existed.

  • This kind of thread is probably not going to be successful onStack Overflow, because Stack Overflow expects fully-formedsolutions, not partial answers that work towards a solution. OverallI vastly prefer Stack Overflow results to the awful Microsoftforums, but in this case the Microsoft forum worked better.

  • WSUS is kind of terrible. I appreciate the declining individualupdates is a useful service, but I mostly want a stable, on-sitecache of Windows updates that our computers can use without taxingour external internet connection. But as updates get larger and morenumerous, WSUS is showing its age more and more. It is also notfire-and-forget software, which is really irritating. On the otherhand, WSUS is gratis with Windows Server. Having to purchase SystemCenter Configuration Manager to get a Windows Updates cache wouldbe worse.

Coments are closed