oracle数据库删除、还原。
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了oracle数据库删除、还原。相关的知识,希望对你有一定的参考价值。
我昨天新建了一个数据库(zx),然后用IMP命令把zx.dmp文件导入到数据库中。
今天在对数据库进行操作时出了一些问题,我想把昨天的zx.dmp文件在重新导一次,就是还原成昨天的数据库。如何进行?
还有我想把这个zx数据库删除怎么删?
求oracle大师帮忙解决。
只有用具有DBA权限的用户登入ZX,在users目录删掉你导入的那个用户,再重新建立这个用户再导入就好了,如果你不知道哪些用户有DBA权限,可以用管理员用户:sys密码默认sys(或者你自己设定的)以sysdba 方式登入
删除ZX数据库实例的话,要用的Database Configuration Assistant (DBCA)工具删除
工具的位置:开始 > 程序 > Oracle - home_name > Configuration and Migration Tools(配置或移植工具)
> Database Configuration Assistant 参考技术A 重新导入是不需要删除zx数据库的,只需要删除你导入的那些表而已
如果想要删除数据库,可以使用oracle的DBCA工具删除
当然你也可以删除数据库后重建数据库然后再导入追问
能说下具体如何操作吗?就是那些命令,我对oracle是个初学者。
追答IMP导入命令么?
IMP USERNAME/USERNAME@ORA FILE='' LOG=''
当然还有其他参数,你可以在命令窗口中输入 IMP -help 查看详细说明
如下所示在 Windows 操作系统时启动 DBCA:
开始 > 程序 > Oracle - home_name > Configuration and Migration Tools(配置或移植工具) > Database Configuration Assistant
2、用Database Configuration Assistant (DBCA)工具新建数据库实例。
3、重新导入zx.dmp。 参考技术C oracle中,导入imp不是导入数据库,是导入表空间下面,你去吧这个表间下面导入的表都drop掉,重新导入就行了追问
能说下具体操作过程吗,怎么删除表?
本回答被提问者采纳 参考技术D 你这里的zx只是个数据库实例。如果需要删除zx实例,可以直接用sys用户登录到数据库服务器,删除这个实例对应的数据库用户(假设是zxuser)再重建。
sqlplus / as sysdba
SQL>drop user zxuser cascade;
SQL>create user zxuser identified by password;
执行完成后,再在命令行中用imp命令将zx.dmp导进去就可以
Bat脚本学习-6:Oracle自动备份还原脚本
这次注释没写多少,先跳过一些吧
::2.数据库过期备份删除 echo. echo. echo 二、正在清除过期的备份文件…… REM wscript.echo是vbs语法,相当于alert REM >是特殊字符,所以放在 for 命令里面需要使用转义符号^>,包括^&也是转义的& REM //Nologo屏弊输出:Prevent logo display: No banner will be shown at execution time for /f "tokens=1,2,3 delims=-" %%a in (‘echo wscript.echo date-!bak_lot! ^>t~.vbs ^& cscript //nologo t~.vbs ^& del t~.vbs‘) do ( set y=%%a&set m=%%b&set d=%%c if %%b lss 10 set m=0%%b if %%c lss 10 set d=0%%c ) REM 此处-为字符串连接符 set DateE=!y!-!m!-!d! for %%i in (1,2,3,4,5,6,7,8,9) do ( set ora[%%i]>nul 2>nul&& ( set ora_cur= for /f "usebackq delims==. tokens=1-3" %%a in (`set ora[%%i]`) do set ora_cur=%%b set ora_usr= set ora_net= for /f "delims=/" %%a in (‘echo !ora_cur!‘) do set ora_usr=%%a for /f "[email protected] tokens=2" %%a in (‘echo !ora_cur!‘) do set ora_net=%%a set cur_dir=!bak_dir!\!ora_net!__!ora_usr! for /f "tokens=*" %%x in ("!cur_dir!") do set cur_dir=%%~fx echo 检查今天的备份成功了没有 >nul set fnm_pre=!cur_dir!\!ora_net!__!ora_usr!__!date:~0,4!!date:~5,2!!date:~8,2!-& set today_success=0 REM dir /B 只显示文件名与扩展名,即使用空格式(没有标题信息或摘要) dir !fnm_pre!*.dmp !fnm_pre!*.zip !fnm_pre!*.rar /b >nul 2>nul && set today_success=1 if "!today_success!"=="1" ( echo 判断文件夹条件是否满足 >nul for %%a in (!cur_dir!\*.dmp,!cur_dir!\*.log,!cur_dir!\*.zip,!cur_dir!\*.rar) do ( echo 判断文件名称条件是否满足 >nul set n=%%a&set n=!n:~-17,-9!&set n=!n:~0,4!-!n:~4,2!-!n:~6,2! set t=%%~ta set FileDate=!t:~0,10! if "!n!"=="!FileDate!" ( echo 判断时间条件是否满足 >nul if !FileDate! leq %DateE% ( echo %date:~0,10% %time:~0,8% 删除过期备份 %%a echo %date:~0,10% %time:~0,8% 删除过期备份 %%a>>!cur_dir!\delete.log del /q "%%a" ) ) ) ) else ( echo %date:~0,10% %time:~0,8% [!ora_net!__!ora_usr!]因为今天的备份没有成功,暂时不删除过期文件! echo %date:~0,10% %time:~0,8% [!ora_net!__!ora_usr!]因为今天的备份没有成功,暂时不删除过期文件!>>!cur_dir!\delete.log ) ) ) ::3.完成退出 echo. echo. echo 三、本次备份操作完成,即将退出。 ping -n 10 127.1 >nul 2>nul exit ::=================================以上是备份程序================================= ::=================================以下是管理程序================================= REM 初始化标题和颜色 :init mode con cols=100 lines=40 title Oracle自动备份 color 0e ::复制到 Windows 目录 REM %0 is the actual command that you call REM %~fN (where N is the parameter on the command line you‘re interested in) copy "%~f0" "%windir%\OracleAutoBackup\OracleAutoBackup.bat" >nul 2>nul ::注册计划任务 :regtasks REM sc config (服务名称)start= auto(注意:start=后面有一个空格.) sc config schedule start= auto >nul 2>nul at|find "服务尚未启动">nul 2>nul&&( net start schedule if not !errorlevel!==0 ( echo Task Scheduler^(计划任务^)服务未能启动,程序即将退出! pause>nul goto exit ) ) set job_tmr=!bak_hou!:00 if !bak_hou! lss 10 set job_tmr=0!bak_hou!:00 at !job_tmr! /every:1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31 %windir%\OracleAutoBackup\OracleAutoBackup.bat -backup >nul 2>nul for /f "usebackq" %%i in (`dir %windir%\tasks\at*.job /b/o:d`) do set lastAt=%%i del %windir%\tasks\Oracle自动备份.job >nul 2>nul rename %windir%\tasks\!lastAt! Oracle自动备份.job ::保存配置文件 :saveconfig echo !bak_hou!>%configFile% echo !bak_lot!>>%configFile% echo !bak_dir!>>%configFile% for %%i in (1,2,3,4,5,6,7,8,9) do ( set ora[%%i]>nul 2>nul&& ( set ora_cur= for /f "usebackq delims==. tokens=1-3" %%a in (`set ora[%%i]`) do set ora_cur=%%b call :str_base64 "!ora_cur!" if not "!val!"=="" echo !val!>>%configFile% ) ) ::准备数据库配置字符串 set ora_str= for %%i in (1,2,3,4,5,6,7,8,9) do ( set ora[%%i]>nul 2>nul&& ( set ora_cur= for /f "usebackq delims==. tokens=1-3" %%a in (`set ora[%%i]`) do set ora_cur=%%b set ora_usr= set ora_net= for /f "delims=/" %%a in (‘echo !ora_cur!‘) do set ora_usr=%%a for /f "[email protected] tokens=2" %%a in (‘echo !ora_cur!‘) do set ora_net=%%a set ora_str=!ora_str!%%i. !ora_usr!/******@!ora_net!; ) )
以上是关于oracle数据库删除、还原。的主要内容,如果未能解决你的问题,请参考以下文章