一、 exp/imp客户端备份工具介绍
导入(imp)/导出(exp)是oracle幸存的最古老的两个操作系统命令行工具,exp/imp是一个好的转储工具,特别是在小型数据库的转储,表空间的迁移,表的抽取,检测逻辑和物理冲突等中有不小的功劳。它作为小型数据库的物理备份后的一个逻辑辅助备份,也是不错的手段。
exp和imp是客户端工具程序,它们既可以在客户端使用,也可以在服务端使用。该工具用于在数据库之间传递数据,存放于/ORACLE_HOME/bin。export导出工具将数据库中的数据备份压缩成一个二进制系统文件(dump文件),import则从dump文件中导入数据到数据库中。
使用数据泵导入导出,可以完成如下任务:
◇两个数据库之间传送数据(同版本/不同版本oracle server之间、同种/不同种操作系统之间);
◇用于数据库的备份和恢复;
◇从一个用户传送到另一个用户;
◇从一个表空间传送到另一个表空间。
exp/imp有三种主要的方式:完全(导出/导入数据库中所有对象)、用户模式(导出/导入用户所有对象以及对象中的数据)、表模式(导出/导入用户所有表或者指定的表)。使用exp/imp进行导入导出的语法如下:
exp/impuser/id file=[backupfile] owner=[username] tables=[(tablename)] logs=[logname]…
若使用全导入/导出,可添加参数“Full=Y”;还可使用buffer参数定义每一次读取文件的数据量。
二、 expdp/impdp服务端备份工具介绍
oracle database 10g引入了数据泵技术,使用DBA或开发人员可以快速地对数据进行逻辑备份和迁移。使用数据泵导入导出,可以完成如下任务:
◇实现逻辑备份和逻辑恢复。
◇在数据库用户之间移动对象。
◇在数据库之间移动对象。
◇实现表空间搬移。
较之于传统的imp和exp,数据泵导出和导入速度更快,因此建议使用数据泵进行逻辑备份和恢复。expdp和impdp是服务端的工具程序,他们只能在oracle服务端使用,不能在客户端使用,并且它们只能访问Directory对象指定的目录。imp只适用于exp导出的文件,不适用于expdp导出文件;impdp只适用于expdp导出的文件,而不适用于exp导出文件。
使用exp/imp进行导入导出的步骤:
(1)创建逻辑目录(存放转储文件和日志文件的目录),该命令不会在操作系统创建真正的目录,最好以system等管理员创建。
create directory directorynameas位置;
(2)查看管理员目录(同时查看操作系统是否存在,因为Oracle并不关心该目录是否存在,如果不存在,则出错)
select *from dba_directories;
(3)给要执行导出/导入操作的用户赋予在指定目录的操作权限,最好以system等管理员赋予。
grant read,write on directory directoryname to user;
(4)启动expdp/impdp程序进行备份/恢复
expdp/impdpuser/id@orcle_sid directory=[directoryname] dumpfile=[backupfile] logfile=[logname](schemas=[username] tables=[tablename] tablespace=[tablespacename]…)
使用schemas参数设定导出的用户或要导入到的指定用户;tables参数设定导出/导入的表名;tablespace参数设定导出/导入的表空间;参数full=Y设定导出/导入整个数据库;query参数设定按查询条件进行导出/导入;parallel参数设定并行进程数;
impdp可使用remap_schema参数改变表的拥有者,remap_schema=[fromuser]:[touser];使用table_exists_action实现在原表中加入数据。
三、 unix的自动调度任务Crontab介绍
- Crontab简介
Crontab命令常见于Unix和类Unix的操作系统之中,用于设置周期性被执行的指令。该命令从标准输入设备读取指令,并将其存放于“Crontab”文件中,以供之后读取和执行。
Crontab文件包含送交cron守护进程的一系列作业和指令。每个用户可以拥有自己的Crontab文件;同时,操作系统保存一个针对整个系统的Crontab文件,该文件通常存放于/etc或者/etc之下的子目录中,而这个文件只能由系统管理员来修改。
Crontab是UNIX系统下的定时任务触发器,其使用者的权限记载在下列两个文件中:
/usr/var/adm/cron/cron.deny:该文件中所列的用户不允许使用Crontab命令;
/usr/var/adm/cron/cron.allow:该文件中所列的用户允许使用Crontab命令; - 设置方法介绍
(1)、crontab定时任务设置
crontab -l 显示现在有的任务
crontab -e编辑修改crontab文件
crontab -e 创建任务
crontab -r 删除任务
crontab的格式:
基本格式 :
* * * * * command
分 时 日 月 周 命令
第1列表示分钟1~59每分钟用*或者 */1表示
第2列表示小时1~23(0表示0点)
第3列表示日期1~31
第4列表示月份1~12
第5列标识号星期0~6(0表示星期天)
第6列要运行的命令
*表示包含所有逗号分隔表示第几分(分时),第几(分,时)…各