使用exp命令定时进行数据库备份的操作前面已经记录过:
oralce数据库定时备份
下面记录下使用更加高效的expdp命令和impdp,这两个命令同样是用来做数据库备份和还原的,但速度更快,效率更高,缺点是只能用在服务器端进行操作,exp可以用在客户端进行操作。
第一步:cmd命令行,输入sqlplus system,输入密码进行连接。
第二步:输入命令创建存放备份文件(dmp)的路径。
create directory BACKUP_DIR as 'C:\db_back';
上面命令的含义是创建名称为BACKUP_DIR的文件夹,文件地址为'C:\db_back'
创建完毕后,使用sql脚本查询刚才创建的文件路径(可以省略该步骤,只是为了确认是否成功)
select * from dba_directories;
第三步:将第二步中创建的文件名称赋权给将要导出的用户(TEST1为数据库用户名,BACKUP_DIR是第二步创建的文件名称)
GRANT READ,WRITE ON DIRECTORY BACKUP_DIR to TEST1;
第四步:使用expdp命令导出数据库
expdp TEST1/TEST1@127.0.0.1/orcl schemas=TEST1 dumpfile=database_TEST1.dmp directory=BACKUP_DIR logfile=database_TEST1.log
上面的命令各参数含义:
expdp 数据库用户名称/数据库用户密码@服务器地址/数据库实例名称 schemas=数据库名称 dumpfile=生成的dmp文件名称 directory=生成文件存放路径 logfile=生成log日志文件的名称
注意这一步操作需要退出sqlplus(ctrl+c),直接在cmd的命令窗口执行。
在C:\db_back文件夹中可以看到已经导入的文件。
到此,使用expdp做数据库的备份已经完成。
如果要对数据库文件做导入操作,使用impdp命令。
impdp TEST1/TEST1@127.0.0.1/orcl schemas=TEST1 dumpfile=database_TEST1.dmp directory=BACKUP_DIR logfile=database_TEST2.log
上面的命令各参数含义:
impdp 数据库用户名称/数据库用户密码@服务器地址/数据库实例名称 schemas=数据库名称 dumpfile=生成的dmp文件名称 directory=生成文件存放路径 logfile=生成log日志文件的名称
在cmp窗口,直接执行上面的命令即可将前面导出的dmp文件进行导入操作。