當前位置:首頁 » 服務存儲 » oracle存儲過程備份語句
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

oracle存儲過程備份語句

發布時間: 2022-10-17 10:27:37

⑴ oracle資料庫備份語句

這是一個例子你可以仿照這個寫 E:\Work\oracle\BIN\exp.exe file=F:\BackUp\rlpj

⑵ 如何備份oracle存儲過程

拷貝出來粘貼到一個文本文件
然後
create PROCEDURE 新存儲過程名
下邊的內容不變




就行了

是的,直接出來就行,也可以起個別名備份到資料庫上,也不是很麻煩

⑶ 如何使用PL/sql來做oracle資料庫的備份

使用PL/SQL Developer登錄你需要備份的資料庫;

2

選擇工具->導出用戶對象;

3

在對象列表中選擇需要備份的對象,再選擇一個sql類型的輸出文件,點擊【導出】,這只是導出數據結構;

4

選擇工具->導出表;

5

在列表中選擇需要導出數據的表,再選擇【SQL插入】,選擇一個sql類型的文件,點擊【導出】,這一步是把數據導出資料庫。

6

這樣就得到兩個sql,分別是備份數據結構和備份數據的。

⑷ oracle 資料庫備份語句

EXP 畢竟也需要連接到資料庫,也就是需要提供用戶名,密碼,所以你說的資料庫模式導出,是無法正常實現的。但是使用DBA用戶登陸,可以實現導出整個資料庫的類似功能。
資料庫模式:
EXP SYSTEM/PASSWD@ORACLE FULL = Y FILE = 'DB081222.DMP' LOG = 'DB081222.LOG'
用戶模式:
EXP USER/PASSWD@ORACLE FILE = 'USER081222.DMP' LOG = 'USER081222.LOG'
表模式:
EXP USER/PASSWD@ORACLE FILE = 'USER081222.DMP' LOG = 'USER081222.LOG' TABLES = ('TABLE_1','TABLE_2')

IMP 語句只要把上面3個語句中的 'EXP' 換成 'IMP' 就行了
如果還有不明白的,可以在命令行中輸入EXP -HELP 或者 IMP -HELP 查看幫助!

⑸ oracle 通過sql語句備份資料庫

oracle沒有sql語句備份,只有exp導出或者RMAN備份,都不是sql,RMAN是標準的數據塊備份,前提要求是資料庫一定要開啟歸檔,然後才可以進行RMAN備份,這個方法對數據量大的資料庫可以使用,速度會比較快,具體方法可以從網上查,不是很難,但比較繁瑣,還有一個exp導出,這個是直接將資料庫內的表直接導出城dmp文件,具體的語法是
exp
user/password@DBSID
file=D:\備份目標文件夾\文件名.dmp
log=D:\備份目標文件夾\文件名.log
owner=用戶名
上述語句是需要在cmd命令行下執行的,如果想導出哪個用戶就可以導出哪個用戶,只要能用sql語句連接到資料庫就可以使用,不管在哪個機器

⑹ 寫出Oracle 11g和SQL Server 2008 ent中備份資料庫的ddl語句

ORACLE獲取DDL的幾種常用方法
轉自CSDN (原作 brucelau)

一、通過toad、plsql develop等第三方工具進行導出DLL操作,用這種辦法的好處在於操作簡單方便,但需要安裝,下面簡單介紹一下用這兩個工具獲得DLL語句的操作。

1、Toad 工具 (可以到www.quest.com網站上下載)
a、啟動toad,連接目標資料庫
b、點擊DBA->Generate Schema Script,通過操作界面,選擇相應的Schema,當然可以通過其他的幾個tab頁面選擇相應的條件,點擊Execute按鈕。

2、plsql develop 工具
a、啟動plsql develop,連接目標資料庫
b、點擊Tools->Export Tables,選擇相應的內容,然後點擊Export按鈕,其實這些工具也是調用Oracle的Exp工具而已,如果你沒有指定文件目錄,文件會出現在plsql develop軟體的安裝目錄下。

二、通過EXP/IMP工具
Oracle提供的最原始最實用的導入導出工具,我們大體上可以分為三種辦法實現導出DDL。

1、通過imp指定indexfile參數,但這種辦法不爽在於有每行前會有REM
exp userid=... tables=emp rows=n file=emp.dmp
imp userid=... file=emp.dmp indexfile=emp.sql

2、 通過imp指定show=y,同時指定log參數,格式上也不是很好
exp userid=... tables=emp rows=n file= emp.dmp
imp userid=... file= emp.dmp show=y log=emp.sql

3、利用unix下有strings命令(這種方法比較野蠻):
exp userid=... tables=tab1 rows=n file=tab1.dmp
strings emp.dmp >emp.sql
emp.sql中就有DLL語句了

三、通過9i的DBMS_METADATA包得到DLL語句
基本上用到的語法如下:
set echo off
set feedback off
set heading off
set verify off

set newpage none
set linesize 999
set pagesize 0

set term off
set trims off
set trimspool on
set trimout off
set timing off

set long 90000 REM 必需

1、獲取單個的建表和建索引的語法
spool DEPT.sql
select dbms_metadata.get_ddl('TABLE','DEPT','SCOTT') from al;
select dbms_metadata.get_ddl('INDEX','DEPT_IDX','SCOTT') from al;
spool off;

2、獲取一個SCHEMA下的所有建表和建索引的語法,以scott為例:
spool scott_schema.sql
SELECT DBMS_METADATA.GET_DDL('TABLE',table_name) FROM USER_TABLES;
SELECT DBMS_METADATA.GET_DDL('INDEX',index_name) FROM USER_INDEXES;
spool off;

3、獲取某個SCHEMA的建全部存儲過程的語法
spool proceres.sql
select DBMS_METADATA.GET_DDL('PROCEDURE',object_name) from user_objects where object_type = 'PROCEDURE' AND status='VALID';
spool off;

4、獲取某個SCHEMA的建全部視圖/的語法
spool proceres.sql
select DBMS_METADATA.GET_DDL('VIEW',object_name) from user_objects
where object_type = 'VIEW' AND status='VALID';
spool off;

注:PACKAGE 也同樣適用,格式不是很好;

⑺ oracle 通過job數據備份的存儲過程誰幫忙講解一下都什麼意思。

CREATE OR REPLACE PROCEDURE P_BACKUP_SQL AS -- 創建存儲過程
V_INPUT VARCHAR2(32767); --說明:這三行BEGIN前的是聲明變數
V_OUTPUT VARCHAR2(32767);
V_OUT NUMBER;
BEGIN --將命令腳本保存到V_INPUT變數中
V_INPUT := 'RUN -- 運行。。
{ -- 下面三行是分配通道,類型是磁碟(如果是磁帶則為type tape,format後是格式)
ALLOCATE CHANNEL C1 DEVICE TYPE DISK FORMAT ''/data/backup/member/%U'';
ALLOCATE CHANNEL C2 DEVICE TYPE DISK FORMAT ''/data/backup/member/%U'';
ALLOCATE CHANNEL C3 DEVICE TYPE DISK FORMAT ''/data/backup/member/%U'';
BACKUP DATABASE; --備份資料庫
}'; --腳本結束,以上內容保存在V_INPUT變數中
DBMS_PIPE.PACK_MESSAGE(V_INPUT); -- 調用DBMS_PIPE包管道通信,將V_INPUT中命令壓入管道消息(隊列)中
V_OUT := DBMS_PIPE.SEND_MESSAGE('ORA$RMAN_PJOB_IN'); --調用SEND_MESSAGE的ORA$RMAN_PJOB_IN是變數,將剛壓入的傳送給管道並執行ORA$RMAN_PJOB_IN中變數,消息傳送的結果保存到V_OUT變數中
COMMIT;
V_OUT := 0; -- V_OUT變數賦值為0

WHILE (V_OUT = 0) LOOP -- 當V_OUT為0時執行循環
V_OUT := DBMS_PIPE.RECEIVE_MESSAGE('ORA$RMAN_PJOB_OUT', 3600); -- 接收管道命令的消息,接收結果保存到V_OUT中
IF V_OUT = 0 THEN
DBMS_PIPE.UNPACK_MESSAGE(V_OUTPUT); -- 釋放管道命令的消息,結果保存到V_OUTPUT
INSERT INTO BACKUP_LOG (END_DATE, OUTPUT_LOG) VALUES (SYSDATE, SUBSTRB(V_OUTPUT, 1, 4000)); -- 將管道命令結果保存到BACKUP_LOG表中
END IF;
END LOOP;
COMMIT;
END;

⑻ oracle 存儲過程備份整個資料庫

exp username/password@dbname file=d:\db.dmp log=d:\db.log
username和password 是你的用戶名和密碼
dbname是你要備份的資料庫名
file後是你備份的文件存放的路徑 db.dmp是備份獲得的資料庫文件
db.log是日誌文件

如果你要備份的資料庫很大的話還有另一個方法就是使用sqluldr2工具導出資料庫,不過這個稍微麻煩一些,如果還有疑問,再問吧

⑼ 如何備份oracle的存儲過程

拷貝出來粘貼到一個文本文件
然後
create
PROCEDURE

存儲過程

下邊的內容不變



就行了
是的,直接出來就行,也可以起個別名備份到資料庫上,也不是很麻煩

⑽ oracle自動備份語句

自己的備份語句,拿來分享一下

SET hour=%time:~0,2%
SET hour=%hour: =%
SET DATE=%date:~0,10%_%hour%_%time:~3,2%_%time:~6,2%
SET ZIP_CMD=e:\backup_command\7-zip\7z.exe
SET BACKUP_ROOT=E:\databackup
SET USER=%1
SET PASSWORD=%2
mkdir %BACKUP_ROOT%\%USER%_%DATE%

exp USERID=%USER%/%PASSWORD%@orcl file=%BACKUP_ROOT%\%USER%_%DATE%\oracle_%REPO_NAME%-%USER%-%date%.dmp OWNER=(%USER%) DIRECT=Y BUFFER=1024

%ZIP_CMD% a -tzip %BACKUP_ROOT%\%USER%_%DATE%.zip %BACKUP_ROOT%\%USER%_%DATE%
del %BACKUP_ROOT%\%USER%_%DATE%/Q /S
move %BACKUP_ROOT%\%USER%_%DATE%.zip %BACKUP_ROOT%\%USER%_%DATE%

exit

把語句存為批處理,有兩個參數,%1和%2,分別是用戶名和密碼