oracle 自动备份

来源:互联网 发布:淘宝网体验中心在哪里 编辑:程序博客网 时间:2024/06/06 00:30

/home/oracle/server 目录下建立脚本system_bakup.sh

source /home/oracle/.bash_profile

exp userid=jhyd_hr/jhyd_hr ROWS=Y DIRECT=Y COMPRESS=Y FILE=`date '+/home/oracle/backup/BackupDayOfMonth_%d.DMP'` INDEXES=Y 1>`date '+/home/oracle/server/dmp/%y_%m_%d.%H_%M.err'` 2>`date '+/home/oracle/server/dmp/%y_%m_%d.%H_%M.log'`

rm   `date '+/home/oracle/backup/BackupDayOfMonth_%d.DMP.gz'`

gzip `date '+/home/oracle/backup/BackupDayOfMonth_%d.DMP'`


目录自己建立

切换到oracle用户  su - oracle

>crontab e

输入:

0 3 * * * /home/oracle/server/system_bakup.sh

定时每晚3点执行脚本(注意system_bakup.sh要附权执行权限)

2.导入dmp文件

第一步:用超级管理员登陆oracle“conn / as sysdbaconn / as sysdba”
第二步:删除指定的用户 drop user 用户名 cascade

第三步:重新创建此用户 “create user username  identified by password;
第四步:给用户授权"grant dba to username "
第五步:登陆指定用户”conn username /password“

imp 用户名/密码@数据库实例名 file=D:\filename.dmp fromuser=scott touser=scott rows=y;

(日志log=D:\data\logname.log )

如果第二部用户删除不了

 SELECT USERNAME,SID,SERIAL#SID||','||SERIAL#FROM V$SESSIONWHERE USERNAME='用户名';

找到进程全部杀掉

alter system kill session 'SID,SERIAL#';alter system kill session '9,4';






原创粉丝点击