Oracle备份与恢复脚本

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需要使用时根据实际情况替换为特定的字符串。


你可能感兴趣的:(oracle,oracle,oracle,备份,脚本,恢复)