expdp 服务器端的工具,效率更高参数更多 exp客户端服务器端都行,功能一般

生产案例

  1. DZWL数据库完全导出。
  2. exp dzwl/dzwl@192.168.66.13:1521/dzwl file=d:\dzwl_20211102.dmp owner=dzwl
  3. DZWL数据库完全导入。
  4. 1.导入前需要创建表空间文件
  5. CREATE BIGFILE TABLESPACE DZWL DATAFILE 'E:\dzwl\dzwl\DZWL2020.dbf' SIZE 1g AUTOEXTEND ON NEXT 500m;
  6. CREATE BIGFILE TABLESPACE DS DATAFILE 'E:\dzwl\dzwl\DATASYN01.DBF' SIZE 1G AUTOEXTEND ON NEXT 10M;
  7. CREATE BIGFILE TABLESPACE MT DATAFILE 'E:\dzwl\dzwl\MT01.DBF' SIZE 1G AUTOEXTEND ON NEXT 200M;
  8. 2.修改defulat profile密码有效期限制
  9. alter profile default limit password_life_time unlimited;
  10. 3.创建dzwl用户并授权
  11. create user dzwl identified by dzwl default tablespace DZWL;
  12. grant resource,connect,dba to dzwl;
  13. grant select any dictionary to dzwl;
  14. 4.imp dzwl/dzwl@192.168.66.13:1521/dzwl file=e:\daochu20210125.dmp buffer=640000 ignore=y full=y

整库导入导出

  1. exp system/oracle file=d:\daochu.dmp full=y
  2. imp system/oracle file=d:\daochu.dmp full=y

按用户导入导出

  1. exp system/oracle owner=dzwl file=d:\daochu.dmp
  2. imp system/oracle file=d:\daochu.dmp fromuser=dzwl

按表导入导出

  1. #按表导出需要注意,语句中的用户为创建该表的用户
  2. exp dzwl/dzwl file=d:\daochu.dmp tables=t_owners,t_ownerstype
  3. imp dzwl/dzwl file=d:\daochu.dmp tables=t_owners,t_ownerstype

bat脚本按时间命令备份,并删除6天前的备份

  1. @echo off
  2. echo ================================================
  3. echo Windows环境下Oracle数据库的自动备份脚本
  4. echo 1. 使用当前日期命名备份文件。
  5. echo 2. 自动删除6天前的备份。
  6. echo ================================================
  7. ::以“YYYYMMDD”格式取出当前时间。
  8. set BACKUPDATE=%date:~0,4%%date:~5,2%%date:~8,2%
  9. ::创建备份目录。
  10. if not exist "E:\backup\data" mkdir E:\backup\data
  11. if not exist "E:\backup\log" mkdir E:\backup\log
  12. set DATADIR=E:\backup\data
  13. set LOGDIR=E:\backup\log
  14. exp dzwl/dzwl@127.0.0.1:1521/dzwl file=%DATADIR%\dzwl_%BACKUPDATE%.dmp log='%LOGDIR%\log_%BACKUPDATE%.log' owner=dzwl
  15. ::删除6天前的备份。
  16. ::exp dzwl/dzwl@192.168.1.200:1521/dzwl file=d:\dzwl_20211102.dmp owner=dzwl
  17. forfiles /p "%DATADIR%" /s /m *.* /d -6 /c "cmd /c del @path"
  18. forfiles /p "%LOGDIR%" /s /m *.* /d -6 /c "cmd /c del @path"
  19. exit