Oracle備份與恢復腳本

jopen 8年前發布 | 15K 次閱讀 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</pre>

將上述腳本保存為一個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

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!