Saturday, March 27, 2021

Error 1033 received logging on to the standby

It seems very simple answer should be to that error which you could see in the primary database alert log file - just synchronize orapw files between primary and standby. But... 

In my case it wasn't so :) 

The answer laid in the interesting detail. The primary was located on filesystem, the standby on ASM. After creation of standby DB the names of redo log files (including names of standby redo logs) stayed as it were on the primary (names according mount points). The primary tried to establish a link to standby redo log files, but because they did not reinitialized (and not renamed accordingly) on standby site, the primary DB failed to transform the transactions content to standby redo log and such meaning :) error was arisen. 

The solution - rename and initialize your standby redo logs or try use different transport (ARCH).

Good Luck !

Friday, March 26, 2021

SEVERE: Connection details provided as OMS_HOST and EM_UPLOAD_PORT is not active when installing OEM agent in silent mode

Recently I stuck into this issue, and the solution was not provide FQDN of OMS server in the response file (parameter OMS_HOST). It turned out that agent installer try to resolve it adding the domain name to FQDN. The installation performed by agentpush method from OMS server.

Worse to note, that agentpush operation from agent host (via emcli) do not throw such error when OMS_HOST=FQDN_of_OMS. So take care about it ! :)

Friday, March 12, 2021

Another case of ORA-01756 error

In sqlplus, when using exec builtin instead of begin...end for running PL/SQL, you may encounter such error when perl quoting mechanism is used (q'{...}' for example) and there are new lines inside the 'execute immediate' command called from PL/SQL block (length of 'execute immediate' is too long). To overcome, use begin...end construction instead of exec.

Good Luck

Wednesday, February 10, 2021

oracle.glcm.opatch.common.api.install.HomeOperationsException: Invalid Home error

If you encountered such error during Oracle 19c installation phase, the cause may lay in the oraInventory directory. In my case it was a corruption of oraInst.loc file (it was absent). Renaming it in order the installer would create new one was the solution.

Good Luck !

Sunday, January 24, 2021

deinstall: line 265: You: command not found

My Oracle Support document 2641767.1 describes the issue and suggests to check whether an ORACLE_HOME directory is a soft link. In case when it is not, the other possible cause of the issue is a file or directory inside the ORACLE_HOME which owned by not an ORACLE_HOME owner (file inside the ORACLE_HOME is owned by root, not grid/oracle user, for example). 

Eliminating (moving) files/directories not owned by an ORACLE_HOME owner away solved the issue.

Good Luck !!!

Thursday, January 21, 2021

Shift+{Left|Right}_Arrow pressed generates C, D in bash

This situation made me stuck for a while, especially in comparison of two equal Linux systems. One Linux generates ;2D while another generates simply short D ( :-) ) when shift-left_arrow combination was pressed (it actually expected to be Esc[1;2D , but the shell ate first two symbols (Esc[ is the control sequence introducer, see console_codes (4))

It's very difficult to answer shortly what was going on because where were a lot of Linux players (program layers, terminal types etc.) in the chain between keys pressed and actually displayed on the terminal window. One of the widespread "players" is a readline library. I'm totally unable to explain that, but simple creation of the empty .inputrc file in the home directory solved the issue.

Good Luck !

Wednesday, January 6, 2021

sed tricks

 1. According to http://sed.sourceforge.net/sedfaq5.html#s5.10 you cannot directly process the EOL symbol (\n) using simple sed commands. You should read next line into the processing buffer and only AFTER THAT make necessary actions. For example, to change EOL to comma, use the following :

> grep some_info filename_containing_info | awk '{print $6}' | sed ":a;N;s/\n/\,/;ta"

2. To print values of fields in the line (for example, username and password in postgresql command creating new user):

> grep -i password filename.sql | sed -En "s/.* user ([^ ]+).* password '([[:print:]]+)'.*/\1 \2/p"