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