Oracle备份与恢复脚本

来源:互联网 发布:矩阵行列式的计算公式 编辑:程序博客网 时间:2024/05/21 22:51

1 备份

@echo offset oracle_username=YOURORACLE_USERNAMEset oracle_password=YOUR_PASSWORDset local_tnsname=LOCAL_TNSNAMEset 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_TABLESPACEloggingdatafile 'D:\oracle\product\10.2.0\oradata\YOUR_TABLESPACE.dbf'size 512mautoextend onnext 64m maxsize 1024mextent management local;

第三步,创建该用户

CREATE USER YOURORACLE_USERNAMEIDENTIFIED BY YOUR_PASSWORDDEFAULT TABLESPACE YOUR_TABLESPACETEMPORARY 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 offrem sqlplus username/password@service @mysql.sqlsqlplus YOURORACLE_USERNAME/YOUR_PASSWORD@LOCAL_TNSNAME @20121228.sqlexit
其中20121228.sql是需要执行的sql脚本。

注:文中YOURORACLE_USERNAME,YOUR_PASSWORD以及LOCAL_TNSNAME需要使用时根据实际情况替换为特定的字符串。