Oracle备份与恢复脚本
jopen
9年前
1 备份
@echo off set oracle_username=YOURORACLE_USERNAME set oracle_password=YOUR_PASSWORD set local_tnsname=LOCAL_TNSNAME set url=%oracle_username%/%oracle_password% if not %local_tnsname% == "" set url=%url%@%local_tnsname% rem 执行时请确保同一目录下无重名的文件 exp %url% file=%oracle_username%.dmp log=%oracle_username%.log
将上述脚本保存为一个bat文件执行即可。脚本将local_tnsname指定的数据库中用户YOURORACLE_USERNAME的所有内容导出到YOURORACLE_USERNAME.dmp文件中,日志写到YOURORACLE_USERNAME.log中。
2 恢复
2.1 创建用户
第一步,把用户YOURORACLE_USERNAME(如果原来有此用户的话)彻底删除:
DROP USER YOURORACLE_USERNAME CASCADE
第二步,创建表空间,根据需要设置YOUR_TABLESPACE,size和maxsize等。
create tablespace YOUR_TABLESPACE logging datafile 'D:\oracle\product\10.2.0\oradata\YOUR_TABLESPACE.dbf' size 512m autoextend on next 64m maxsize 1024m extent management local;
第三步,创建该用户
CREATE USER YOURORACLE_USERNAME IDENTIFIED BY YOUR_PASSWORD DEFAULT TABLESPACE YOUR_TABLESPACE TEMPORARY TABLESPACE TEMP第四步,赋予权限
GRANT DBA TO YOURORACLE_USERNAME WITH ADMIN OPTION
2.2 用IMP恢复
命令行下执行此脚本
imp YOURORACLE_USERNAME/YOUR_PASSWORD@LOCAL_TNSNAME FILE=YOURORACLE_USERNAME.DMP LOG=YOURORACLE_USERNAME.LOG FULL=Y
3 其他相关内容
使用windows批处理调用sqlplus执行SQL语句:
@echo off rem sqlplus username/password@service @mysql.sql sqlplus YOURORACLE_USERNAME/YOUR_PASSWORD@LOCAL_TNSNAME @20121228.sql exit其中20121228.sql是需要执行的sql脚本。
注:文中YOURORACLE_USERNAME,YOUR_PASSWORD以及LOCAL_TNSNAME需要使用时根据实际情况替换为特定的字符串。
来自: http://blog.csdn.net/kingzone_2008/article/details/8451062