on 08-05-2008 9:52 AM
Hi experts,
I am backing up the Oracle database of an SAP system online via the split-mirror approach with a BRBACKUP -t online_split command. After having copied all datafiles, BRBACKUP terminates with the following error message (excerpt):
BR0330I Starting and mounting database instance X86/SPLIT ...
BR0278E Command output of '/oracle/X86/102_64/bin/sqlplus':
SQL*Plus: Release 10.2.0.1.0 - Production on Fri Aug 1 00:28:15 2008
Copyright (c) 1982, 2005, Oracle. All rights reserved.
SQL> ERROR:
ORA-12545: Connect failed because target host or object does not exist
SQL>
SQL> ORA-12545: Connect failed because target host or object does not exist
SQL>
BR0280I BRBACKUP time stamp: 2008-08-01 00.28.15
BR0279E Return code from '/oracle/X86/102_64/bin/sqlplus': 0
BR0302E SQLPLUS call for database instance X86/SPLIT failed
BR0332E Start and mount of database instance X86/SPLIT failed
At this point,
- all data files have been copied successfully;
- the control files have been copied;
- a copy of the backup summary .fnd file has been written to the sapbackup directory of both database host and backup host;
- I verified that the tablespaces had been put into backup mode before the split command was executed.
I wonder why BRBACKUP is trying to mount an instance "X86/SPLIT" that is not defined in tnsnames.ora?
What is the function of this step, and how can I suppress it as this flags the entry of the backup run in DB12 as failed?
OS version: Solaris 10 x64 (database and backup host)
Database: Oracle 10.2.0.2.0
SAP Kernel: 700
BRTOOLS Version: 7.00 (34)
Best regards,
Rainer
The backup_mode setting "full" in the BR*Tools profile was causing the error during the split-mirror backup.
Eventually I switched this setting to "all", and now the backup finishes successfully, without throwing errors.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi Rainer,
I wonder why BRBACKUP is trying to mount an instance "X86/SPLIT" that is not defined in tnsnames.ora?
Maybe the resynchrone option on the split backup is turned on, means the host with the snapshot attached try to synchronise the datas with the production host.
i have those parameters in my init<sid>.sap :
resynchronize mirror disks command
used if backup_type = offline_split | online_split | offline_mirror | online_mirror
no default
resync_cmd = c:\sapadmin\BC\resync.bat
additional options for SPLITINT interface program
no default
split_options = "<split_options>"
resynchronize after backup flag [no | yes]
default: no
split_resync = no
Try to play with the parameters
What is the function of this step, and how can I suppress it as this flags the entry of the backup run in DB12 as failed?
The flag will turn green if all the process is finished. A stamp will be apply at the end.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi Houcine,
thank you for your comments and suggestions. Today I ran another backup, and it turned out that the backup_mode setting was causing the error. It had been set to "full", and this was the reason why the backup terminated with an error. When I changed the backup_mode to "all", the backup ended successfully, and the DB12 entry looks good now.
Thank you for your time,
Rainer
Shaji,
thank you for pointing to these SAP notes. However, these notes do not provide an answer to my question:
- I perform a split-mirror backup. The database ID is X86.
- The database instance X86 is up and running during the backup.
- After all database files and control files have been copied, BRBACKUP tries to mount and open a database "X86/SPLIT"
- This database ID does not exist.
1. Where does BRBACKUP take this database SID "X86/SPLIT" from? - This string is not found in the tnsnames.ora.
2. Why does BRBACKUP try to mount such a database? - The database that has been backed up is still up and running, and I do not see any need for BRBACKUP to mount any database after completion of the datafile copying. I would expect BRBACKUP to update the file back<SID>.log in the sapbackup directory on both backup host and database host, and finish with a successful return code.
Best regards,
Rainer
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Pls check if these notes help
Note 723641 - Composite SAP Note: ORA-12545
Note 954960 - BRARCHIVE/BRBACKUP backups on Windows terminate
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hallo Rainer
Please verify if you don't have DB_SID or ORACLE_SID set to X86/SPLIT, if you cannot find it, you could start the brbackup with the -TRC option to see exactly what is happening. In your case the -TRC 8 might be useful.
Check this SAP note for details: 29321 - Creating traces for BR Tools
Best regards, Michael
Hello Michael,
thank you for the hint - but the environment variables do not contain a string for X86/SPLIT:
BR0200I BR_TRACE: location BrEnvProcess-1, Environment of BRBACKUP:
'DIR_LIBRARY=/usr/sap/X86/SYS/exe/run'
'HZ='
'dbs_ora_tnsname=X86'
'dbms_type=ORA'
'SHELL=/usr/bin/csh'
'TERM=dtterm'
'NLS_LANG=AMERICAN_AMERICA.UTF8'
'THREAD=NOPS'
'USER=orax86'
'LD_LIBRARY_PATH=/usr/sap/X86/SYS/exe/run:/oracle/X86/102_64/lib'
'ORACLE_SID=X86'
'ORACLE_BASE=/oracle'
'dbs_ora_schema=SAPSR3'
'MAIL=/var/mail/orax86'
'PATH=/oracle/X86/102_64/bin:/oracle/X86:/usr/sap/X86/SYS/exe/run:/usr/bin:.:/usr/ccs/bin:/usr/ucb'
'LC_MESSAGES=C'
'PWD=/oracle/X86'
'SAPDATA_HOME=/oracle/X86'
'DB_SID=X86'
'SAPSYSTEMNAME=X86'
'TZ=US/Mountain'
'SHLVL=1'
'HOME=/oracle/X86'
'LOGNAME=orax86'
'ORACLE_HOME=/oracle/X86/102_64'
Best regards,
Rainer
This is an excerpt from the logfile of a backup run with trace level 15:
BR0278I Command output of '/usr/sap/X86/SYS/exe/run/brconnect':
BR0801I BRCONNECT 7.00 (34)
PID=21042
BR0280I BRCONNECT time stamp: 2008-08-05 08.26.12
#SIGNAL CAUGHT: 15
BR0249I BR_TRACE: level 1, function brconn_stop exit with 0
BR0248I BR_TRACE: level 1, function BrDbStartup entry with 'X86/SPLIT'
BR0280I BRBACKUP time stamp: 2008-08-05 08.26.13
BR0330I Starting and mounting database instance X86/SPLIT ...
BR0200I BR_TRACE: location BrDbStartup-5, user for SQLPLUS in: /oracle/X86/sapbackup/.bdynfvln.spu
'connect system/********* as sysoper;^'
BR0200I BR_TRACE: location BrDbStartup-10, commands for SQLPLUS in: /oracle/X86/sapbackup/.bdynfvln.spi
'@/oracle/X86/sapbackup/.bdynfvln.spu
host /usr/sap/X86/SYS/exe/run/brtools -f delete /oracle/X86/sapbackup/.bdynfvln.spu;
startup mount;
exit;^'
BR0248I BR_TRACE: level 2, function BrDbaCmdBuild entry with 'NULL 13'
BR0250I BR_TRACE: level 2, function BrDbaCmdBuild exit with '/oracle/X86/102_64/bin/sqlplus /nolog < /oracle/X86/sapbackup/.bdynfvln.spi'
BR0280I BRBACKUP time stamp: 2008-08-05 08.26.13
BR0248I BR_TRACE: level 2, function BrPipeOpen entry with '/oracle/X86/102_64/bin/sqlplus'
BR0248I BR_TRACE: level 3, function BrOraSigPatch entry with 'TRUE'
BR0248I BR_TRACE: level 4, function BrZombieKill entry with 'void'
BR0250I BR_TRACE: level 4, function BrZombieKill exit with 'void'
BR0249I BR_TRACE: level 3, function BrOraSigPatch exit with 0
BR0200I BR_TRACE: location BrPipeOpen-1, command line:
'( /oracle/X86/102_64/bin/sqlplus /nolog ) < /oracle/X86/sapbackup/.bdynfvln.spi 2>&1'
BR0280I BRBACKUP time stamp: 2008-08-05 08.26.13
BR0250I BR_TRACE: level 2, function BrPipeOpen exit with fffffd7ffef792e0
BR0200I BR_TRACE: location BrDbStartup-12, SQLPLUS output from pipe:
'^'
'SQL*Plus: Release 10.2.0.1.0 - Production on Tue Aug 5 08:26:13 2008^'
'^'
'Copyright (c) 1982, 2005, Oracle. All rights reserved.^'
'^'
'SQL> ERROR:^'
BR0278E Command output of '/oracle/X86/102_64/bin/sqlplus /nolog < /oracle/X86/sapbackup/.bdynfvln.spi':
'ORA-12545: Connect failed because target host or object does not exist^'
'^'
'^'
'SQL> ^'
'SQL> ORA-12545: Connect failed because target host or object does not exist^'
'SQL> '
BR0280I BRBACKUP time stamp: 2008-08-05 08.26.14
BR0248I BR_TRACE: level 2, function BrPipeClose entry with '/oracle/X86/102_64/bin/sqlplus /nolog < /oracle/X86/sapbackup/.bdynfvln.spi'
BR0248I BR_TRACE: level 3, function BrOraSigPatch entry with 'FALSE'
BR0248I BR_TRACE: level 4, function BrZombieKill entry with 'void'
BR0250I BR_TRACE: level 4, function BrZombieKill exit with 'void'
BR0249I BR_TRACE: level 3, function BrOraSigPatch exit with 0
BR0280I BRBACKUP time stamp: 2008-08-05 08.26.14
BR0249I BR_TRACE: level 2, function BrPipeClose exit with 0
BR0280I BRBACKUP time stamp: 2008-08-05 08.26.14
BR0279E Return code from '/oracle/X86/102_64/bin/sqlplus /nolog < /oracle/X86/sapbackup/.bdynfvln.spi': 0
BR0302E SQLPLUS call for database instance X86/SPLIT failed
BR0332E Start and mount of database instance X86/SPLIT failed
BR0249I BR_TRACE: level 1, function BrDbStartup exit with -1
BR0248I BR_TRACE: level 1, function BrCleanup entry with 5
BR0248I BR_TRACE: level 2, function BrFileDelete entry with '/oracle/X86/sapbackup/cntrlX86.dbf'
Best regards,
Rainer
Do you have any split_options or split_cmds in initX86.ora configured? Maybe a missing " or '?
and btw:
> 'SQL*Plus: Release 10.2.0.1.0 - Production on Tue Aug 5 08:26:13 2008^'
I would upgrade to 10.2.0.2 (+ the two dozen interim patches), the version you use is not supported officially.
Markus
Just two things i observed at my place:
- Our online split mirror backups don't mount anything at all. Brbackup is getting the list of files and redologs from the primary database. But we do those backups on a dedicated backup server, which imports a copy of the production disks.
- I tried to reproduce the behavior you have, i just set ORACLE_SID to C11/SPLIT and did a brconnect -u / -c -f dbstart -TRC 15, looks exactly the same.
BR0200I BR_TRACE: location BrEnvProcess-1, Environment of BRCONNECT:
'HOME=/oracle/C11'
...
'ORACLE_SID=C11/SPLIT'
...
BR0249I BR_TRACE: level 1, function db_connect exit with -10
BR0248I BR_TRACE: level 1, function BrDbStartup entry with 'C11/SPLIT'
BR0280I BRCONNECT time stamp: 2008-08-06 07.11.57
BR0304I Starting and opening database instance C11/SPLIT ...
But as you already checked ORACLE_SID, the error must be somewhere else. Just to make sure, please check the .dbenv.csh AND dbenv.sh files.
Best regards, Michael
Markus,
there is no "split" keyword in the initX86.ora file:
*._OPTIM_PEEK_USER_BINDS=FALSE
*.background_dump_dest='/oracle/X86/saptrace/background'
*.compatible='10.2.0'
*.control_file_record_keep_time=30
*.control_files='/oracle/X86/origlogA/cntrl/cntlrX86.dbf','/oracle/X86/origlogB/cntrl/cntrlX86.dbf','/oracle/X86/sapdata1/cntrl/cntrlX86.dbf'
*.core_dump_dest='/oracle/X86/saptrace/background'
*.db_block_size=8192
*.db_cache_size=1141521776
*.db_files=254
*.db_name='X86'
*.dml_locks=4000
*.event='10191 trace name context forever, level 1'
*.FILESYSTEMIO_OPTIONS='setall'
*.job_queue_processes=1
*.log_archive_dest='/oracle/X86/oraarch/X86arch'
*.log_buffer=1048576
*.log_checkpoint_interval=0
*.log_checkpoints_to_alert=true
*.open_cursors=800
*.optimizer_features_enable='10.2.0.1'
*.pga_aggregate_target=1522029035
*.processes=80
*.recyclebin='off'
*.remote_login_passwordfile='exclusive'
*.remote_os_authent=true
*.sessions=96
*.sga_max_size=2283043553
*.shared_pool_reserved_size=114152177
*.shared_pool_size=1141521776
*.sort_area_retained_size=0
*.sort_area_size=2097152
*.statistics_level='typical'
*.undo_management='AUTO'
*.undo_retention=43200
*.undo_tablespace='PSAPUNDO'
*.user_dump_dest='/oracle/X86/saptrace/usertrace'
*.workarea_size_policy='AUTO'
As for the Oracle client version on the backup server (where the Oracle client is installed only, i.e. no other Oracle database server software) - I will upgrade to v10.2.0.2.0 (the version that is running on the database server) and check if this solves the problem.
Thank you,
Rainer
Michael,
the command
more /oracle/X86/.dbenv.sh | grep X86/SPLIT
did not return any matching line. I tried with .dbenv.sh, .dbenv.csh, .dbenv_<db_hostname>.sh, .dbenv_<db_hostname>.csh.
A sample is the following:
# @(#) $Id: //bc/700-1_REL/src/ins/SAPINST/impl/tpls/ora/ind/DBENV.CSH#7 $
# Oracle RDBMS Environment
setenv THREAD NOPS
if ( $THREAD == NOPS ) then
set DBSID = X86
else
if ( $THREAD != "001" ) then
set DBSID = X86_${THREAD}
else
set DBSID = X86
endif
endif
setenv dbms_type ORA
setenv dbs_ora_tnsname $DBSID
setenv dbs_ora_schema SAPSR3
setenv ORACLE_SID $DBSID
setenv DB_SID X86
setenv ORACLE_BASE /oracle
# check for running user and set for orasid ORA_NLS10
set USER = `id | awk -F\( '{print $2}' | awk -F\) '{print $1}'`
set TRUL = 'tr "ABCDEFGHIJKLMNOPQRSTUVWXYZ" "abcdefghijklmnopqrstuvwxyz"'
set ORASID = "ora`echo $DB_SID | $TRUL`"
if ( $USER != $ORASID ) then
setenv TNS_ADMIN /usr/sap/X86/SYS/profile/oracle
set ADD=/oracle/client/10x_64/instantclient
set _t=/oracle/X86/102_64/bin/sqlplus
set _f=/sapmnt/X86/profile/DEFAULT.PFL
set SAPDBHOST=""
if ( -r "$_f" ) then
set SAPDBHOST=`awk -F= '/^[ ]*SAPDBHOST[ ]*=/ {print $2; exit}' $_f | awk '{print $1}'`
endif
if ( -r "$_t" || `uname -n` == "$SAPDBHOST" ) then
setenv ORACLE_HOME /oracle/X86/102_64
endif
else
setenv ORACLE_HOME /oracle/X86/102_64
set ADD=/oracle/X86/102_64/lib
endif
setenv NLS_LANG AMERICAN_AMERICA.UTF8
setenv SAPDATA_HOME /oracle/X86
setenv DIR_LIBRARY /usr/sap/X86/SYS/exe/run
if ( $?ORACLE_HOME ) then
foreach d ( $ORACLE_HOME/bin )
set i=0
foreach p ( $path )
if ( "$p" == "$d" ) then
set i=1
break
endif
end
if ( $i == 0 ) then
set path = ( $d $path )
endif
end
endif
switch (`uname`)
case AIX*:
if ( ! $?LIBPATH ) then
setenv LIBPATH /usr/lib:/lib:${ADD}:/usr/sap/X86/SYS/exe/run
else
foreach d ( /usr/sap/X86/SYS/exe/run ${ADD} )
set i=0
foreach p ( `echo $LIBPATH | sed 's/:/ /g'` )
if ( "$p" == "$d" ) then
set i=1
break
endif
end
if ( $i == 0 ) then
setenv LIBPATH ${LIBPATH}:$d
endif
end
endif
breaksw
case HP*:
if ( ! $?SHLIB_PATH ) then
setenv SHLIB_PATH ${ADD}:/usr/sap/X86/SYS/exe/run
else
foreach d ( /usr/sap/X86/SYS/exe/run ${ADD} )
set i=0
foreach p ( `echo $SHLIB_PATH | sed 's/:/ /g'` )
if ( "$p" == "$d" ) then
set i=1
break
endif
end
if ( $i == 0 ) then
setenv SHLIB_PATH ${SHLIB_PATH}:$d
endif
end
endif
breaksw
case SIN*:
case Reliant*:
case Linux*:
if ( ! $?LD_LIBRARY_PATH ) then
setenv LD_LIBRARY_PATH ${ADD}:/usr/sap/X86/SYS/exe/run
else
foreach d ( /usr/sap/X86/SYS/exe/run ${ADD} )
set i=0
foreach p ( `echo $LD_LIBRARY_PATH | sed 's/:/ /g'` )
if ( "$p" == "$d" ) then
set i=1
break
endif
end
if ( $i == 0 ) then
setenv LD_LIBRARY_PATH ${LD_LIBRARY_PATH}:$d
endif
end
endif
breaksw
case OSF*:
if ( ! $?LD_LIBRARY_PATH ) then
setenv LD_LIBRARY_PATH ${ADD}:/usr/sap/X86/SYS/exe/run
else
foreach d ( /usr/sap/X86/SYS/exe/run ${ADD} )
set i=0
foreach p ( `echo $LD_LIBRARY_PATH | sed 's/:/ /g'` )
if ( "$p" == "$d" ) then
set i=1
break
endif
end
if ( $i == 0 ) then
setenv LD_LIBRARY_PATH ${LD_LIBRARY_PATH}:$d
endif
end
endif
breaksw
default:
if ( ! $?LD_LIBRARY_PATH ) then
setenv LD_LIBRARY_PATH ${ADD}:/usr/sap/X86/SYS/exe/run
else
foreach d ( /usr/sap/X86/SYS/exe/run ${ADD} )
set i=0
foreach p ( `echo $LD_LIBRARY_PATH | sed 's/:/ /g'` )
if ( "$p" == "$d" ) then
set i=1
break
endif
end
if ( $i == 0 ) then
setenv LD_LIBRARY_PATH ${LD_LIBRARY_PATH}:$d
endif
end
endif
breaksw
endsw
# define some nice aliases
alias cdora 'cd /usr/sap/$SAPSYSTEMNAME/SYS/profile/oracle'
# end Oracle RDBMS Environment
Thank you for your time,
Rainer
User | Count |
---|---|
85 | |
10 | |
10 | |
9 | |
6 | |
6 | |
6 | |
5 | |
4 | |
3 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.