expdp 服务器端的工具,效率更高参数更多 exp客户端服务器端都行,功能一般
生产案例
将DZWL数据库完全导出。
exp dzwl/dzwl@192.168.66.13:1521/dzwl file=d:\dzwl_20211102.dmp owner=dzwl
将DZWL数据库完全导入。
1.导入前需要创建表空间文件
CREATE BIGFILE TABLESPACE DZWL DATAFILE 'E:\dzwl\dzwl\DZWL2020.dbf' SIZE 1g AUTOEXTEND ON NEXT 500m;
CREATE BIGFILE TABLESPACE DS DATAFILE 'E:\dzwl\dzwl\DATASYN01.DBF' SIZE 1G AUTOEXTEND ON NEXT 10M;
CREATE BIGFILE TABLESPACE MT DATAFILE 'E:\dzwl\dzwl\MT01.DBF' SIZE 1G AUTOEXTEND ON NEXT 200M;
2.修改defulat profile密码有效期限制
alter profile default limit password_life_time unlimited;
3.创建dzwl用户并授权
create user dzwl identified by dzwl default tablespace DZWL;
grant resource,connect,dba to dzwl;
grant select any dictionary to dzwl;
4.imp dzwl/dzwl@192.168.66.13:1521/dzwl file=e:\daochu20210125.dmp buffer=640000 ignore=y full=y
整库导入导出
exp system/oracle file=d:\daochu.dmp full=y
imp system/oracle file=d:\daochu.dmp full=y
按用户导入导出
exp system/oracle owner=dzwl file=d:\daochu.dmp
imp system/oracle file=d:\daochu.dmp fromuser=dzwl
按表导入导出
#按表导出需要注意,语句中的用户为创建该表的用户
exp dzwl/dzwl file=d:\daochu.dmp tables=t_owners,t_ownerstype
imp dzwl/dzwl file=d:\daochu.dmp tables=t_owners,t_ownerstype
bat脚本按时间命令备份,并删除6天前的备份
@echo off
echo ================================================
echo Windows环境下Oracle数据库的自动备份脚本
echo 1. 使用当前日期命名备份文件。
echo 2. 自动删除6天前的备份。
echo ================================================
::以“YYYYMMDD”格式取出当前时间。
set BACKUPDATE=%date:~0,4%%date:~5,2%%date:~8,2%
::创建备份目录。
if not exist "E:\backup\data" mkdir E:\backup\data
if not exist "E:\backup\log" mkdir E:\backup\log
set DATADIR=E:\backup\data
set LOGDIR=E:\backup\log
exp dzwl/dzwl@127.0.0.1:1521/dzwl file=%DATADIR%\dzwl_%BACKUPDATE%.dmp log='%LOGDIR%\log_%BACKUPDATE%.log' owner=dzwl
::删除6天前的备份。
::exp dzwl/dzwl@192.168.1.200:1521/dzwl file=d:\dzwl_20211102.dmp owner=dzwl
forfiles /p "%DATADIR%" /s /m *.* /d -6 /c "cmd /c del @path"
forfiles /p "%LOGDIR%" /s /m *.* /d -6 /c "cmd /c del @path"
exit