Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
![]() |
![]() |
Home -> Community -> Mailing Lists -> Oracle-L -> RE: Need RMAN script command to close database
Alex,
You could do what you want in a batch or shell script before
calling RMan. Below is a snippet of a *.cmd file used by
Veritas NetBackup to do a cold backup with RMan. It's for
Windows2000 or NT, but you could do something similar on
UNIX.
@REM --- Set the
variables --------------------------------------------------
--- ...Received on Fri Mar 09 2001 - 18:27:59 CST
@set OUTF=%~dpn0.out
...
@set TMPF=%~dpn0.tmp
...
@set ORACLE_HOME=d:\oracle\ora81
...
@set ORACLE_SID=mysid
...
@REM -------------------------------------------------------
--------------------
@REM Call Server Manager to shutdown the target database in
immediate priority.
@REM This lets current calls to the database complete, but
prevents further
@REM logons or calls.
@REM
@REM The shutdown-startup logic of this script can be
commented out if you know
@REM that the database will always be mounted and in a
consistent state before
@REM this script is executed.
@REM -------------------------------------------------------
--------------------
@echo connect internal/oracle > %TMPF%
@echo shutdown immediate >> %TMPF%
@echo exit >> %TMPF%
@echo # >> %OUTF%
@echo %ORACLE_HOME%\bin\%SVRMGR% >> %OUTF%
@type %TMPF% >> %OUTF%
%ORACLE_HOME%\bin\%SVRMGR% < %TMPF% >> %OUTF%
@REM -------------------------------------------------------
--------------------
@REM Startup the database in case it had crashed or was not
shutdown cleanly
@REM prior to starting this script. This will perform a
crash recover if
@REM it is needed. Use the RESTRICT option because we are
going to shutdown
@REM again right away and we don't want to let users in
during the short
@REM interval. The default init<SID>.ora file will be used
by startup. If it was
@REM moved, the name was changed, or ORACLE_HOME and
ORACLE_SID are not set, use
@REM the pfile= option on the startup command.
@REM -------------------------------------------------------
--------------------
@echo connect internal/oracle > %TMPF%
@echo startup restrict open >> %TMPF%
@echo shutdown immediate >> %TMPF%
@echo exit >> %TMPF%
@echo # >> %OUTF%
@echo %ORACLE_HOME%\bin\%SVRMGR% >> %OUTF%
@type %TMPF% >> %OUTF%
%ORACLE_HOME%\bin\%SVRMGR% < %TMPF% >> %OUTF%
@REM -------------------------------------------------------
--------------------
@REM Now we know that the database is cleanly closed and is
ready for a
@REM cold backup. RMAN requires that the database be started
and mounted
@REM to perform a backup.
@REM -------------------------------------------------------
--------------------
@echo connect internal/oracle > %TMPF%
@echo startup mount >> %TMPF%
@echo exit >> %TMPF%
@echo # >> %OUTF%
@echo %ORACLE_HOME%\bin\%SVRMGR% >> %OUTF%
@type %TMPF% >> %OUTF%
%ORACLE_HOME%\bin\%SVRMGR% < %TMPF% >> %OUTF%
@REM -------------------------------------------------------
--------------------
@REM Temporary file no longer needed.
@REM -------------------------------------------------------
--------------------
@if exist %TMPF% del %TMPF%
@REM -------------------------------------------------------
--------------------
@REM What kind of backup will we perform.
@REM -------------------------------------------------------
--------------------
@if "%NB_ORA_INCR%" == "1" goto differential
@if "%NB_ORA_CINC%" == "1" goto cumulative
@REM -------------------------------------------------------
-------------------- ... now call RMan and do the cold backup... ------------------------------------------------------------ -------------------- Hope this helps you. Jack -------------------------------- Jack C. Applewhite Database Administrator/Developer OCP Oracle8 DBA iNetProfit, Inc. Austin, Texas www.iNetProfit.com japplewhite_at_inetprofit.com -----Original Message----- Berindei Alex Sent: Friday, March 09, 2001 1:51 PM To: Multiple recipients of list ORACLE-L Hi smart guys, I need a RMAN script command to close a database, do you think this can be done. What I know is I can start the database, for "MOUNT" state to "OPEN" with next script, using a SQL command: { allocate channel type disk .... sql 'ALTER DATABASE OPEN'; } What I have? I have an open database in NOARCHIVE log mode (don't ask why) which I want to backup. What I want? To put database in MOUNT state from RMAN script, backup whole database, reopen the database. { ????HERE NEED COMMAND TO PUT DATABASE IN MOUNT STATE allocate channel type disk .... backup .... whole database in MOUNT state sql 'ALTER DATABASE OPEN'; } Thanks alex. -- Please see the official ORACLE-L FAQ: http://www.orafaq.com -- Author: Jack C. Applewhite INET: japplewhite_at_inetprofit.com Fat City Network Services -- (858) 538-5051 FAX: (858) 538-5051 San Diego, California -- Public Internet access / Mailing Lists -------------------------------------------------------------------- To REMOVE yourself from this mailing list, send an E-Mail message to: ListGuru_at_fatcity.com (note EXACT spelling of 'ListGuru') and in the message BODY, include a line containing: UNSUB ORACLE-L (or the name of mailing list you want to be removed from). You may also send the HELP command for other information (like subscribing).
![]() |
![]() |