国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數(shù)據(jù)庫 > Oracle > 正文

Windows下編寫批處理腳本來啟動和重置Oracle數(shù)據(jù)庫

2024-08-29 13:58:55
字體:
供稿:網(wǎng)友
這篇文章主要介紹了Windows下編寫cmd腳本來對Oracle數(shù)據(jù)庫執(zhí)行啟動和重置的方法,只需在bat文件中保存cmd shell之后就可以雙擊使用,簡單粗暴,需要的朋友可以參考下
 

cmd啟動Oracle數(shù)據(jù)庫
新建一個bat文件,復(fù)制內(nèi)容進(jìn)去,雙擊即可啟動.

@echo off net start OracleXETNSListener 2>nul net start OracleServiceXE 2>nul @oradim -startup -sid XE -starttype inst > nul 2>&1 

 

Oracle重置數(shù)據(jù)庫命令
新建bat文件,復(fù)制以下內(nèi)容,然后執(zhí)行。

@echo off REM REM The script assumes that user can connect using "/ as sysdba" REM REM ================= REM Restore procedure REM ================= REM REM If Installed Oracle home is also lost and oracle binaries were REM re-installed or the Oracle is installed to new oracle home location REM compared to backup time, then user will be prompted to enter Flash REM Recovery Area location. REM REM For database in NoArchiveLog mode, database is restored to last offline REM backup time/scn; REM For database in Archive log mode, database is restored from last backup REM and a complete recovery is attempted. If complete recovery fails, REM user can open the database with resetlogs option provided the files REM are not recovery fuzzy. REM REM The restore log is saved in ?/DATABASE/OXE_RESTORE.LOG REM  setlocal  set /p inp="This operation will shut down and restore the database. Are you sure [Y/N]?" :checkinp if /i "%inp%" == "Y" goto :confirmedyes if /i "%inp%" == "n" exit :Askagain set /p inp= goto :checkinp  :confirmedyes  echo Restore in progress...  echo db_name=xe >%temp%/rman_dummy.ora echo sga_target=270M >>%temp%/rman_dummy.ora   net start oracleserviceXe  REM Startup database in nomount mode using RMAN... @( echo set echo on^; echo startup nomount pfile=%temp%/rman_dummy.ora force^; ) > %temp%/restore_rman0.dat rman target / @%temp%/restore_rman0.dat if not %errorlevel% == 0 set Errorstr= RMAN Error - could not startup dummy instance & goto :restorefailederr  @( echo connect / as sysdba^; echo set head off echo set echo off echo set linesize 515 echo variable var varchar2^(512^)^; echo execute :var := sys.dbms_backup_restore.normalizefilename^(^'SPFILE2INIT^'^)^; echo spool %temp%/spfile2init.log echo select sys.dbms_backup_restore.normalizefilename^(^'SPFILE2INIT.ORA^'^) spfile2init from dual^; echo exit^; ) > %temp%/spfile2init.sql sqlplus /nolog @%temp%/spfile2init.sql >nul FOR /F %%i in (%temp%/spfile2init.log) do set SPFILE2INIT=%%i  @( echo connect / as sysdba;  echo set head off  echo set echo off  echo set linesize 515  echo variable var varchar2^(512^)^;  echo execute :var := sys.dbms_backup_restore.normalizefilename^(^'FRA_LOC^'^)^;  echo spool %temp%/restore_rmanlog.log  echo select sys.dbms_backup_restore.normalizefilename^(^'OXE_RESTORE.LOG^'^) RESTORE_RMANLOG from dual^;  echo exit^; ) > %temp%/restore_rmanlog.sql sqlplus /nolog @%temp%/restore_rmanlog.sql >nul FOR /F %%i in (%temp%/restore_rmanlog.log) do set RESTORE_RMANLOG=%%i  if not exist ^"%SPFILE2INIT%^" goto get_rcvarea_loc @(  echo set echo on^;  echo shutdown immediate^;  echo startup nomount pfile=^"%SPFILE2INIT%^"^;  echo restore ^(spfile from autobackup^) ^(controlfile from autobackup^)^;  echo startup mount force^;  echo configure controlfile autobackup off^;  echo restore database^; ) > %temp%/restore_rman1.dat rman target / @%temp%/restore_rman1.dat trace "%RESTORE_RMANLOG%" if not %errorlevel% == 0 set Errorstr= RMAN Error - See log for error & goto :restorefailederr goto restored_files  :get_rcvarea_loc set /p rcvarea_loc="Enter the flash recovery area location:" @(  echo set echo on^;  echo restore ^(spfile from autobackup db_recovery_file_dest=^'%rcvarea_loc%^'^)^;  echo startup nomount force^;  echo restore ^(controlfile from autobackup^)^;  echo alter database mount^;  echo configure controlfile autobackup off^;  echo restore database^; ) > %temp%/restore_rman1.dat rman target / @%temp%/restore_rman1.dat trace "%RESTORE_RMANLOG%" if not %errorlevel% == 0 set Errorstr= RMAN Error - See log for error & goto :restorefailederr goto restored_files  :restored_files @(  echo connect / as sysdba^;  echo declare cursor n1 is select name from v$tempfile^;  echo begin  echo for a in n1  echo loop  echo begin  echo sys.dbms_backup_restore.deletefile^(a.name^)^;  echo exception  echo when others then  echo null^;  echo end^;  echo end loop^;  echo end^;  echo /  echo exit^;  echo / ) > %temp%/deltfile.sql sqlplus /nolog @%temp%/deltfile.sql >nul @(  echo connect / as sysdba^;  echo set head off  echo set echo off  echo spool %temp%/logmode.log  echo select log_mode from v$database^;  echo exit^; ) > %temp%/logmode.sql sqlplus /nolog @%temp%/logmode.sql >nul FOR /F %%i in (%temp%/logmode.log) do set LOGMODE=%%i  if "%LOGMODE%" == "NOARCHIVELOG" goto process_noarchivelog if "%LOGMODE%" == "ARCHIVELOG" goto process_archivelog set Errorstr= Unknown log mode : %LOGMODE% goto :restorefailederr  :process_noarchivelog @(  echo set echo on^;  echo alter database open resetlogs; ) > %temp%/restore_rman2.dat rman target / @%temp%/restore_rman2.dat trace "%RESTORE_RMANLOG%" append if not %errorlevel% == 0 set Errorstr= RMAN Error - See log for details & goto :restorefailederr goto :restoresucess  :process_archivelog @(  echo set echo on^;  echo recover database^;  echo alter database open resetlogs; ) > %temp%/restore_rman2.dat rman target / @%temp%/restore_rman2.dat trace "%RESTORE_RMANLOG%" append if not %errorlevel% == 0 set Errorstr= RMAN Error - See log for details & goto :restorefailederr goto :restoresucess  :restoresucess echo Restore of the database succeeded. echo Log file is at %RESTORE_RMANLOG%. pause Press any key to exit exit goto :EOF  :restorefailederr echo ==================== ERROR ============================= echo Restore of the database failed. echo %Errorstr%. echo Log file is at %RESTORE_RMANLOG%. echo ==================== ERROR ============================= pause Press any key to exit exit goto :EOF 


發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 郎溪县| 云林县| 大荔县| 武清区| 延吉市| 河间市| 阿拉善左旗| 建昌县| 满城县| 天镇县| 乐安县| 图木舒克市| 九龙城区| 永清县| 合阳县| 延安市| 黎川县| 山西省| 库伦旗| 阳春市| 丽水市| 南涧| 黄石市| 稷山县| 长海县| 福州市| 菏泽市| 云阳县| 罗城| 大田县| 尉氏县| 泸州市| 高碑店市| 深泽县| 通渭县| 大渡口区| 将乐县| 金溪县| 冷水江市| 屯留县| 和顺县|