利用dmp备份Oracle数据库

利用dmp备份Oracle数据库

1、我们的电脑里面安装完Oracle或OracleClient的时候,在我们的安装目录里面就有这两个命令了,一般是在oracle的安装目录D:\app\lenovo\product\11.2.0\client_1\BIN下。

2、数据导出

  • 将数据库A完全导出,用户名system 密码manager 导出到D:\daochu.dmp中

    exp system/manager@172.22.0.1/oracle11g file=d:\daochu.dmp full=y
    

    将数据库中system用户与sys用户的表导出

    exp system/manager@172.22.0.1/oracle11g  file=d:\daochu.dmp owner=(system,sys)
    

    将数据库中的表table1 、table2导出

    exp system/manager@172.22.0.1/oracle11g  file=d:\daochu.dmp tables=(table1,table2)
    

    3、数据导入

  • 将D:\daochu.dmp 中的数据导入 TEST数据库中。

    imp system/manager@172.22.0.1/oracle11g file=d:\daochu.dmp
    

    上面可能有点问题,因为有的表已经存在,然后它就报错,对该表就不进行导入。在后面加上 ignore=y 就可以了。

  • 将d:\daochu.dmp中的表table1 导入

    imp system/manager@172.22.0.1/oracle11g file=d:\daochu.dmp tables=(table1)
    

基本上上面的导入导出够用了。不少情况我是将表彻底删除,然后导入。

如果导入导出时数据库的密码有特殊字符的话,请参考此文章

https://www.cnblogs.com/mq0036/p/4182012.html

拓展:Oracle-数据库的实例、表空间、用户,表之间的关系(简略)

1、数据库

​ 启动数据库:也叫全局数据库,是数据库系统的入口,它会内置一些高级权限的用户如SYS,SYSTEM等。我们用这些高级权限账号登陆就可以在数据库实例中创建表空间,用户,表了

2、数据库实例

​ 我们访问Oracle都是访问一个实例,但这个实例如果关联了数据库文件,就是可以访问的,如果没有,就会得到实例不可用的错误。

数据库实例名(instance_name)用于对外部连接。在操作系统中要取得与数据库的联系,必须使用数据库实例名。比如我们作开发,要连接数据库,就得连接数据库实例名:jdbc:oracle:thin:@localhost:1521:orcl(orcl就为数据库实例名)。

​ 一个数据库可以有多个实例,在作数据库服务集群的时候可以用到。

3、表空间

​ Oracle数据库是通过表空间来存储物理表的,一个数据库实例可以有N个表空间,一个表空间下可以有N张表。

有了数据库,就可以创建表空间。

​ 表空间(tablespace)是数据库的逻辑划分,每个数据库至少有一个表空间(称作SYSTEM表空间)。

​ 一个表空间只能属于一个数据库。

4、用户

​ Oracle数据库建好后,要想在数据库里建表,必须先为数据库建立用户,并为用户指定表空间。

5、表

​ 有了数据库,表空间和用户,就可以用自定义的用户在自己的表空间创建表了。有了表,我们可以开发了。

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1、提供了oracle数据库备份脚本,导出dmp文件 2、定时任务由操作系统提供的支持,在操作系统中设置定时任务,由操作系统定期执行脚本 3、补充。压缩包脚本有点问题,不能删除旧的备份文件。需要自动删除历史备份文件请用最新脚本: @echo off @echo ================================================ @echo windows环境下Oracle数据库的自动备份脚本 @echo 说明:启动备份时,需要配置以下变量 @echo 1、BACKUP_DIR 指定要备份到哪个目录 @echo 2、ORACLE_USERNAME 指定备份所用的Oracle用户名 @echo 3、ORACLE_PASSWORD 指定备份所用的Oracle密码 @echo 4、ORACLE_DB 指定备份所用的Oracle连接名 @echo 5、BACK_OPTION 备份选项,可以为空,可以为full=y,可以为owner=a用户,b用户 等等.... @echo 6、RAR_CMD 指定RAR命令行压缩工具所在目录 @echo ================================================ rem 以下变量需要根据实际情况配置 set BACKUP_DIR=D:\tools\oracle_bak\backup230 set ORACLE_USERNAME=PLATADMIN set ORACLE_PASSWORD=123456 set ORACLE_DB=ORCL set BACK_OPTION=owner=PLATADMIN set RAR_CMD="D:/Program Files/WinRAR/Rar.exe" rem for /f "tokens=1,2" %%a in ('date/t') do set TODAY=%%a rem set BACK_NAME=%ORACLE_DB%_%TODAY%(%time:~0,2%时%time:~3,2%分)_ set BACK_NAME=%Date:~0,4%%Date:~5,2%%Date:~8,2%%Time:~0,2%%Time:~3,2%%Time:~6,2% set BACK_FULL_NAME=%BACKUP_DIR%/%BACK_NAME% rem 开始备份 exp %ORACLE_USERNAME%/%ORACLE_PASSWORD%@%ORACLE_DB% %BACK_OPTION% file="%BACK_FULL_NAME%.dmp" log="%BACK_FULL_NAME%exp.log" rem 压缩并删除原有文件 %RAR_CMD% a -df "%BACK_FULL_NAME%back.rar" "%BACK_FULL_NAME%.dmp" "%BACK_FULL_NAME%exp.log" rem 删除15天前的备份文件 forfiles /p %BACKUP_DIR% /s /m *.rar /d -15 /c "cmd /c del @file"

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值