Monday, January 27, 2025

The Database is not accessible after creating Always On Availability Group

 Having created a fully functional SQL Server Always On Availability Group, I connect using SSMS.

Upon trying to expand the database, I get this message: "The database [...] is not accessible (Object Explorer).

The stack trace mentions get_CanGetChildren().





File this one under "sometimes, our lives are meant to serve as a warning to others."

I was connecting to the Windows Server Failover Cluster, rather than the SQL Server listener. SSMS / SQL Server is happy to let you do this, but then you're not able to expand the database.

When I connected via the listener, it worked without issue.


DBT-50000 when using DBCA.bat on Windows (Oracle 19.11)

 I’ve been having some trouble getting DBCA to run in order to create databases.

Thought I’d share it with you, and thus document it for later ðŸ˜‰

 

The error I get is:

 

[FATAL] [DBT-50000] Unable to check available system memory.

   CAUSE: An exception occured while checking kernel parameter.

*ADDITIONAL INFORMATION:*

Exception details

- PRVG-1901 : failed to setup CVU remote execution framework directory "C:\Users\TheUserName\AppData\Local\Temp\CVU_19.0.0.0.0_TheUserName\" on nodes "TheServerName" Please select a different work area for the framework PRVH-0516 : failed to retrieve CVU remote execution framework version from node "TheServerName" during an attempt to setup remote execution framework directory "C:\Users\TheUserName\AppData\Local\Temp\CVU_19.0.0.0.0_TheUserName\" TheServerName : PRKN-1014 : Failed to execute remote command "C:\Users\TheUserName\AppData\Local\Temp\CVU_19.0.0.0.0_TheUserName\\exectask.exe" on node "TheServerName".Cannot run program "C:\Users\TheUserName\AppData\Local\Temp\CVU_19.0.0.0.0_TheUserName\\exectask.exe": CreateProcess error=2, The system cannot find the file specified TheServerName : Cannot run program "C:\Users\TheUserName\AppData\Local\Temp\CVU_19.0.0.0.0_TheUserName\\exectask.exe": CreateProcess error=2, The system cannot find the file specified

 

I couldn’t find an exact match in Oracle support, but I found my way to this Oracle support document citing a known defect when attempting to create a new db for RAC on Win 64, part of bug 29686671, which was supposed to be resolved in Oracle 19.4.  

This isn’t exactly that bug, but the work-around works for this as well. ¯\_(ツ)_/¯

 

NOTE: This seems to be a java problem, since simply adding -ignoreprereqs on dbca command line didn’t resolve it.

Issue was fixed by changing the part of dbca.bat that actually runs the java to ignore configuration parameters by adding this (-Doracle.assistants.dbca.validate.ConfigurationParams=false) to dbca.bat

 

I changed DBCA.bat

FROM

[…]

 

if [%CUSTOM_JRE%]==[] (

    "%ORACLE_HOME%\jdk\jre\BIN\JAVA" -DORACLE_HOME="%OH%" -DCV_HOME="%OH%" -Doracle.installer.not_bootstrap=true -DJDBC_PROTOCOL=thin -mx512m  -XX:-OmitStackTraceInFastThrow -XX:CompileCommand=quiet -XX:CompileCommand=exclude,javax/swing/text/GlyphView,getBreakSpot oracle.assistants.dbca.driver.DBConfigurator  %*

) else (

    "%CUSTOM_JRE%\BIN\JAVA" -DORACLE_HOME="%OH%" -DCV_HOME="%OH%" -Doracle.installer.not_bootstrap=true -DJDBC_PROTOCOL=thin -mx512m -XX:-OmitStackTraceInFastThrow -XX:CompileCommand=quiet -XX:CompileCommand=exclude,javax/swing/text/GlyphView,getBreakSpot oracle.assistants.dbca.driver.DBConfigurator  %*

)

 

 

TO

[…]

 

if [%CUSTOM_JRE%]==[] (

    "%ORACLE_HOME%\jdk\jre\BIN\JAVA" -Doracle.assistants.dbca.validate.ConfigurationParams=false -DORACLE_HOME="%OH%" -DCV_HOME="%OH%" -Doracle.installer.not_bootstrap=true -DJDBC_PROTOCOL=thin -mx512m  -XX:-OmitStackTraceInFastThrow -XX:CompileCommand=quiet -XX:CompileCommand=exclude,javax/swing/text/GlyphView,getBreakSpot oracle.assistants.dbca.driver.DBConfigurator  %*

) else (

    "%CUSTOM_JRE%\BIN\JAVA" -DORACLE_HOME="%OH%" -DCV_HOME="%OH%" -Doracle.installer.not_bootstrap=true -DJDBC_PROTOCOL=thin -mx512m -XX:-OmitStackTraceInFastThrow -XX:CompileCommand=quiet -XX:CompileCommand=exclude,javax/swing/text/GlyphView,getBreakSpot oracle.assistants.dbca.driver.DBConfigurator  %*

)

 

exit /B %ERRORLEVEL%

 

 


Thursday, April 28, 2022

DBT-50000 when using DBCA.bat on Windows (Oracle 19.11)

I’ve been having some trouble getting DBCA to run in order to create databases.

Thought I’d share it with you, and thus document it for later 😉

 

The error I get is:

 

[FATAL] [DBT-50000] Unable to check available system memory.

   CAUSE: An exception occured while checking kernel parameter.

*ADDITIONAL INFORMATION:*

Exception details

- PRVG-1901 : failed to setup CVU remote execution framework directory "C:\Users\TheUserName\AppData\Local\Temp\CVU_19.0.0.0.0_TheUserName\" on nodes "TheServerName" Please select a different work area for the framework PRVH-0516 : failed to retrieve CVU remote execution framework version from node "TheServerName" during an attempt to setup remote execution framework directory "C:\Users\TheUserName\AppData\Local\Temp\CVU_19.0.0.0.0_TheUserName\" TheServerName : PRKN-1014 : Failed to execute remote command "C:\Users\TheUserName\AppData\Local\Temp\CVU_19.0.0.0.0_TheUserName\\exectask.exe" on node "TheServerName".Cannot run program "C:\Users\TheUserName\AppData\Local\Temp\CVU_19.0.0.0.0_TheUserName\\exectask.exe": CreateProcess error=2, The system cannot find the file specified TheServerName : Cannot run program "C:\Users\TheUserName\AppData\Local\Temp\CVU_19.0.0.0.0_TheUserName\\exectask.exe": CreateProcess error=2, The system cannot find the file specified

 

I couldn’t find an exact match in Oracle support, but I found my way to this Oracle support document citing a known defect when attempting to create a new db for RAC on Win 64, part of bug 29686671, which was supposed to be resolved in Oracle 19.4.  

This isn’t exactly that bug, but the work-around works for this as well. ¯\_(ツ)_/¯

 

NOTE: This seems to be a java problem, since simply adding -ignoreprereqs on dbca command line didn’t resolve it.

Issue was fixed by changing the part of dbca.bat that actually runs the java to ignore configuration parameters by adding this (-Doracle.assistants.dbca.validate.ConfigurationParams=false) to dbca.bat

 

I changed DBCA.bat

FROM

[…]

 

if [%CUSTOM_JRE%]==[] (

    "%ORACLE_HOME%\jdk\jre\BIN\JAVA" -DORACLE_HOME="%OH%" -DCV_HOME="%OH%" -Doracle.installer.not_bootstrap=true -DJDBC_PROTOCOL=thin -mx512m  -XX:-OmitStackTraceInFastThrow -XX:CompileCommand=quiet -XX:CompileCommand=exclude,javax/swing/text/GlyphView,getBreakSpot oracle.assistants.dbca.driver.DBConfigurator  %*

) else (

    "%CUSTOM_JRE%\BIN\JAVA" -DORACLE_HOME="%OH%" -DCV_HOME="%OH%" -Doracle.installer.not_bootstrap=true -DJDBC_PROTOCOL=thin -mx512m -XX:-OmitStackTraceInFastThrow -XX:CompileCommand=quiet -XX:CompileCommand=exclude,javax/swing/text/GlyphView,getBreakSpot oracle.assistants.dbca.driver.DBConfigurator  %*

)

 

 

TO

[…]

 

if [%CUSTOM_JRE%]==[] (

    "%ORACLE_HOME%\jdk\jre\BIN\JAVA" -Doracle.assistants.dbca.validate.ConfigurationParams=false -DORACLE_HOME="%OH%" -DCV_HOME="%OH%" -Doracle.installer.not_bootstrap=true -DJDBC_PROTOCOL=thin -mx512m  -XX:-OmitStackTraceInFastThrow -XX:CompileCommand=quiet -XX:CompileCommand=exclude,javax/swing/text/GlyphView,getBreakSpot oracle.assistants.dbca.driver.DBConfigurator  %*

) else (

    "%CUSTOM_JRE%\BIN\JAVA" -DORACLE_HOME="%OH%" -DCV_HOME="%OH%" -Doracle.installer.not_bootstrap=true -DJDBC_PROTOCOL=thin -mx512m -XX:-OmitStackTraceInFastThrow -XX:CompileCommand=quiet -XX:CompileCommand=exclude,javax/swing/text/GlyphView,getBreakSpot oracle.assistants.dbca.driver.DBConfigurator  %*

)

 

exit /B %ERRORLEVEL%

 

 


Tuesday, January 11, 2022

Reading Windows Event Log for Oracle Databases

Mythological creatures take many forms. Some have horns and hooves. Some have bodies combined from the union of different species. Some have scales and wings and breath fire.

I'm that rarest of all mythological creatures: The sort who runs production Oracle databases on Windows :-D

Tuesday, October 12, 2021

Cursor won't move easily from screen to screen on Multiple Displays (Windows 10)

While using 3 displays on a Windows 10 laptop, I noticed a problem wherein the cursor would get stuck on the edge of a screen at the border between that screen and another. 

(You'll have to forgive me; I'm having trouble capturing a screenshot that includes my cursor :-/ ) 

I traced this back to a gap between the displays in the Display settings.        

Removing this gap removes the issue with the cursor getting hung or stuck between screens.



This is completely reproducible on my system. 



Wednesday, August 18, 2021

I hope you're right.

 I hope you're right.

I hope it's just overblown, breathless nonsense concocted by the liberal media.
I hope this is all a hoax that the libtards cooked up when they got bored with peddling climate change.
I hope it's a Machiavellian plot by the DNC to get the mighty Trump out of office.
I hope that it's no worse than the flu.
I hope that Biden goes to jail and the world acknowledges that the election was stolen and Trump gets back in office and can can put everything right with the world again.
I hope that Obama was born in Kenya.
I hope he's a Muslim and a terrorist and a radical.
I hope that the 2008 bailout really was a government takeover of the auto industry and we've all just failed to see it.
I hope that Sharia law takes over. No, wait. I hope that it was really going to, but then was somehow thwarted by Rush Limbaugh as his last, heroic, dying act. Or something.
I hope that Fox News announces an investigative report of all the people that were killed by the death panels in the healthcare bill.
I hope that Elvis is still alive, that he's happily married to a mermaid, and that they're living in the sound studio that was used to film the moon landings.

Honestly, I'm not even joking. I really hope that, because it's the last hope we have.

You'd better be right. You have to be right. Because there is no opportunity for any other course than the one we're on.

I've never wanted more to be wrong, because it looks to me like people are lying to you and laughing all the way to the bank.

... Again ...

It looks to me like the vaccine is way < 100% effective.
It looks to me like ain't nobody gonna be wearing no goddam masks to make sure they don't give a deadly respiratory infection to their friends and neighbors - a respiratory infection that is even more serious than last year; that took at least 6 people I knew in 2020, and that hospitalized four others. (2 of which still haven't "bounced back")

You guys are in charge. Seriously. You on the right. You run the world, or at least the part I live in.

You'd better be right.

You'd better be right, or this is going to get really ugly really fast.

Edit: Nope. You were wrong, and people I love died. Because what else could possibly have happened? Oh, well. At least you're Pwning the libs.

Monday, February 17, 2020

Finding SQL Statements in an Oracle Trc File

It often comes to pass that I have received an oracle alert file indicating deadlocks along with a .trc file from one of our customers.

As we all know, deadlocks are an *APPLICATION* problem, not a database problem.
Still, the developers are my team, my posse, my *PEOPLE*, yo, and imma help 'em out. ;-)

So, to make their analysis easier, one of the things I like to do is give them a consolidated list of SQL Statements from the .trc file. This helps them to understand what the application is doing when the deadlock  occurrs.

To find any lines that contain select, insert, update, or delete, you can do the following search. (NOTE: This could easily be expanded to include Merge, etc.  )


Using Notepad ++ ,  I search for
\b(?:select|insert|update|delete)\b .*?$
I then use Notepad++'s bookmark feature to bookmark each line that matches the search.


Finally, I use Search -> Bookmark -> Remove Unmarked Lines

This will remove everything but the Select, Insert, Update, and Delete statements.

The Database is not accessible after creating Always On Availability Group

 Having created a fully functional SQL Server Always On Availability Group, I connect using SSMS. Upon trying to expand the database, I get ...