1. 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 查看幫助!
2. 通過sql語句,對已建立的資料庫進行備份和還原操作
1.備份語句:
BACKUPDATABASE資料庫名todisk='C:資料庫名.bak'WITHDIFFERENTIAL;
2.還原語句:
RESTOREDATABASE資料庫名
FROMDISK='C:資料庫名.bak'
WITHFILE=1,NORECOVERY;
--上述假設是保存在C盤目錄下,當然你也可以保存在其它盤里。
3. 用SQL語句備份資料庫
用SQL2000還原bak文件
1.右擊SQL
Server
2000實例下的「資料庫」文件夾。就是master等資料庫上一級的那個圖標。選擇「所有任務」,「還原資料庫」
2.在「還原為資料庫」中填上你希望恢復的資料庫名字。這個名字應該與你的源碼中使用的資料庫名字一致。
3.在彈出的對話框中,選「從設備」
4.點擊「選擇設備」
5.點擊「添加」
6.點擊「文件名」文本框右側的「...」按鈕,選中你的「.BAK」文件,並點擊確定回到「選擇還原設備」對話框。
7.點擊確定回到「還原資料庫」對話框。
8.點擊「選項」選項卡
9.將所有「移至物理文件名」下面的路徑,改為你想還原後的將資料庫文件保存到的路徑。如果你不希望改變,可以直接點擊確定。這時便恢復成功了。
很不錯!我今天終於把.bak搞定了,這里有個要注意的地方就是選項中的「移至物理文件名」下面的路徑,這個路徑一定要修改哦,不然會出現錯誤
4. 備份MYSQL資料庫SQL語句怎麼寫
mysqlmp備份還原和mysqlmp導入導出語句大全詳解
mysqlmp備份:
mysqlmp -u用戶名 -p密碼 -h主機資料庫 a -w "sql條件" --lock-all-tables >路徑
案例:
mysqlmp -uroot -p1234 -hlocalhost db1 a -w "id in (select id from b)" --lock-all-tables > c:\aa.txt
mysqlmp還原:
mysqlmp -u用戶名 -p密碼 -h主機資料庫<路徑
案例:
mysql -uroot -p1234 db1 < c:\aa.txt
mysqlmp按條件導出:
mysqlmp -u用戶名 -p密碼 -h主機資料庫 a --where "條件語句" --no-建表>路徑
mysqlmp -uroot -p1234 dbname a --where "tag='88'" --no-create-info> c:\a.sql
mysqlmp按導入:
mysqlmp -u用戶名 -p密碼 -h主機資料庫<路徑
案例:
mysql -uroot -p1234 db1 < c:\a.txt
mysqlmp導出表:
mysqlmp -u用戶名 -p密碼 -h主機資料庫表
案例:
mysqlmp -uroot -p sqlhk9 a --no-data
講一下 mysqlmp 的一些主要參數
--compatible=name
它告訴 mysqlmp,導出的數據將和哪種資料庫或哪個舊版本的 MySQL 伺服器相兼容。值可以為 ansi、mysql323、mysql40、postgresql、oracle、mssql、db2、maxdb、no_key_options、no_tables_options、no_field_options 等,要使用幾個值,用逗號將它們隔開。當然了,它並不保證能完全兼容,而是盡量兼容。
--complete-insert,-c
導出的數據採用包含欄位名的完整 INSERT 方式,也就是把所有的值都寫在一行。這么做能提高插入效率,但是可能會受到 max_allowed_packet 參數的影響而導致插入失敗。因此,需要謹慎使用該參數,至少我不推薦。
--default-character-set=charset
指定導出數據時採用何種字元集,如果數據表不是採用默認的 latin1 字元集的話,那麼導出時必須指定該選項,否則再次導入數據後將產生亂碼問題。
--disable-keys
告訴 mysqlmp 在 INSERT 語句的開頭和結尾增加 /*!40000 ALTER TABLE table DISABLE KEYS */; 和 /*!40000 ALTER TABLE table ENABLE KEYS */; 語句,這能大大提高插入語句的速度,因為它是在插入完所有數據後才重建索引的。該選項只適合 MyISAM 表。
--extended-insert = true|false
默認情況下,mysqlmp 開啟 --complete-insert 模式,因此不想用它的的話,就使用本選項,設定它的值為 false 即可。
--hex-blob
使用十六進制格式導出二進制字元串欄位。如果有二進制數據就必須使用本選項。影響到的欄位類型有 BINARY、VARBINARY、BLOB。
--lock-all-tables,-x
在開始導出之前,提交請求鎖定所有資料庫中的所有表,以保證數據的一致性。這是一個全局讀鎖,並且自動關閉 --single-transaction 和 --lock-tables 選項。
--lock-tables
它和 --lock-all-tables 類似,不過是鎖定當前導出的數據表,而不是一下子鎖定全部庫下的表。本選項只適用於 MyISAM 表,如果是 Innodb 表可以用 --single-transaction 選項。
--no-create-info,-t
只導出數據,而不添加 CREATE TABLE 語句。
--no-data,-d
不導出任何數據,只導出資料庫表結構。
--opt
這只是一個快捷選項,等同於同時添加 --add-drop-tables --add-locking --create-option --disable-keys --extended-insert --lock-tables --quick --set-charset 選項。本選項能讓 mysqlmp 很快的導出數據,並且導出的數據能很快導回。該選項默認開啟,但可以用 --skip-opt 禁用。注意,如果運行 mysqlmp 沒有指定 --quick 或 --opt 選項,則會將整個結果集放在內存中。如果導出大資料庫的話可能會出現問題。
--quick,-q
該選項在導出大表時很有用,它強制 mysqlmp 從伺服器查詢取得記錄直接輸出而不是取得所有記錄後將它們緩存到內存中。
--routines,-R
導出存儲過程以及自定義函數。
--single-transaction
該選項在導出數據之前提交一個 BEGIN SQL語句,BEGIN 不會阻塞任何應用程序且能保證導出時資料庫的一致性狀態。它只適用於事務表,例如 InnoDB 和 BDB。
本選項和 --lock-tables 選項是互斥的,因為 LOCK TABLES 會使任何掛起的事務隱含提交。
要想導出大表的話,應結合使用 --quick 選項。
--triggers
同時導出觸發器。該選項默認啟用,用 --skip-triggers 禁用它。
其他參數詳情請參考手冊,我通常使用以下 SQL 來備份 MyISAM 表:
/usr/local/mysql/bin/mysqlmp -uyejr -pyejr "
--default-character-set=utf8 --opt --extended-insert=false "
--triggers -R --hex-blob -x db_name > db_name.sql
使用以下 SQL 來備份 Innodb 表:
/usr/local/mysql/bin/mysqlmp -uyejr -pyejr "
--default-character-set=utf8 --opt --extended-insert=false "
--triggers -R --hex-blob --single-transaction db_name > db_name.sql
另外,如果想要實現在線備份,還可以使用 --master-data 參數來實現,如下:
/usr/local/mysql/bin/mysqlmp -uyejr -pyejr "
--default-character-set=utf8 --opt --master-data=1 "
--single-transaction --flush-logs db_name > db_name.sql
它只是在一開始的瞬間請求鎖表,然後就刷新binlog了,而後在導出的文件中加入CHANGE MASTER 語句來指定當前備份的binlog位置,如果要把這個文件恢復到slave里去,就可以採用這種方法來做。
1.2 還原
用 mysqlmp 備份出來的文件是一個可以直接倒入的 SQL 腳本,有兩種方法可以將數據導入。
直接用 mysql 客戶端
例如:
/usr/local/mysql/bin/mysql -uyejr -pyejr db_name < db_name.sql
用 SOURCE 語法(實驗不成功!!!)
其實這不是標準的 SQL 語法,而是 mysql 客戶端提供的功能,例如:
SOURCE /tmp/db_name.sql;
這里需要指定文件的絕對路徑,並且必須是 mysqld 運行用戶(例如 nobody)有許可權讀取的文件。
5. 關於資料庫備份語句誰給我講解下
oracle雙機熱備份方法
一、創建Standby Database 要求
1、 Primary 與standby 資料庫所在主機上的oracle server及*作系統版本必須相同,且具有相同的補丁;
2、 primary 資料庫必須為archive mode;Standby Database也必須為archive mode ;
二、創建standby資料庫
1、 首先查看Primary Database的歸檔模式(svrmgr>archive log list)若為無歸檔模式,將資料庫轉換為自動歸檔方式,方法如下:
先關閉Primary Database:
svrmgr>shutdown immediate
再以mount方式啟動Primary Database:
svrmgr>connect internal/password
svrmgr>startup mount
svrmgr>alter database archivelog
svrmgr>shutdown
2、修改init%oracle_sid%.ora 文件中的參數,加入:
log_archive_start = true # if you want automatic archiving
log_archive_dest=%ORACLE_HOME%\database\archive
log_archive_format = %ORACLE_SID%%S.%T其中log_archive_dest
是指歸檔日誌文件存放的位置,可根據實際情況來設定,如E 盤空間較
大,可以設為:log_archive_dest=e:\oracle\database\archive
3、復制Primary Database 的init%oracle_sid%.ora 和對應的Password 文件 到 Standby Database 上的目錄%oracle_home%\database;根據實際情況修改Standby Database上的對應init%oracle_sid%.ora中的參數:
log_archive_dest;
4、在Standby Database位於的主機上創建實例,實例名稱同Primary Database,例如:
Oradim80 –new –sid SID_NAME –intpwd oracle –startmode auto – pfile=c:\orant\database\init%oracle_sid%.ora;
5、在Primary Database上為Standby創建Controlfile,將controlfile 拷貝至 Standby Database 的確定位置,*作如下:
svrmgr>alter database create standby controlfile as ;
6、在Primary Database上將聯機日誌歸檔,
svrmgr>alter system archive log current;
7、關閉Primary Database,
svrmgr>shutdown immediate
8、從Primary Database上將所有數據文件、日誌文件、歸檔日誌文件(不包括控制文件)拷貝至Standby Database的確定位置;
9、以nomount方式啟動Standby Database:
svrmgr>startup nomount
svrmgr>alter database mount standby database[execlusive/parallel]
10、同步Standby Database:
svrmgr>recover standby database;
11、恢復Primary Database 啟動狀態。
三、維護standby資料庫
1、 將primary資料庫所產生的archive log文件定期傳到standby資料庫的確定位置;手工的做恢復,使standby資料庫與primary資料庫保持同步。
svrmgr> set autorecovery on;
svrmgr> connect internal/password;
svrmgr> startup nomount pfile=;
svrmgr> alter database mount standby database;
svrmgr> recover standby database;
svrmgr> shutdown
2、當primary 資料庫失敗時,將standby 資料庫激活:取消(cancel)恢復執行以下*作:
svrmgr> connect internal/password;
svrmgr> startup nomount pfile=;
svrmgr> alter database mount standby database;
svrmgr>alter database activate standby database;
shutdown standby 資料庫;
svrmgr>shutdown immediate
重起Standby Database;
svrmgr>startup
6. 資料庫SQL 如何完全備份
1、點擊開始菜單,打開sql企業管理器。
2、依次展開sqlserver根目錄,並打開資料庫。
3、選擇要備份的資料庫名,滑鼠右鍵所有任務→備份資料庫。
4、這里需要注意,如果之前有備份的話,一定要先刪除之前的備份記錄,不用擔心只是刪除記錄而不是刪除備份文件。
5、刪除記錄再點添加。
6、選擇備份目的,就是要讓你選擇備份地點和備份文件命名。前面是路徑後面是文件名,這個文件名是自定義的,可以根據時間或者其它來命名,如果想另存的話也可以點擊另存為,然後確定。
7、添加保存路徑後繼續確定,然後會有備份進度提示,直到完成ok。
8、根據路徑來檢查是否有備份文件。
7. 在SQL SERVER 7中如何用語句備份資料庫
BACKUP 語句
說明
此語句用於備份資料庫和事務日誌。
語法 1(映像備份)
BACKUP DATABASE
DIRECTORY backup-directory
[ WAIT BEFORE START ]
[ WAIT AFTER END ]
[ DBFILE ONLY ]
[ TRANSACTION LOG ONLY ]
[ TRANSACTION LOG RENAME [ MATCH ] ]
[ TRANSACTION LOG TRUNCATE ]
[ ON EXISTING ERROR ]
[ HISTORY { ON | OFF } ]
backup-directory : { string | variable }
語法 2(檔案備份)
BACKUP DATABASE TO archive-root
[ WAIT BEFORE START ]
[ WAIT AFTER END ]
[ DBFILE ONLY ]
[ TRANSACTION LOG ONLY ]
[ TRANSACTION LOG RENAME [ MATCH ] ]
[ TRANSACTION LOG TRUNCATE ]
[ ATTENDED { ON | OFF } ]
[ WITH COMMENT comment string ]
[ HISTORY { ON | OFF } ]
archive-root : { string | variable }
comment-string : string
參數
backup-directory 那些文件在磁碟上的目標位置,相對於啟動時伺服器的當前目錄。如果目錄尚不存在,則創建該目錄。如果指定空字元串作為目錄,則不必先復制日誌就可以重命名或截斷它。
WAIT BEFORE START 子句 該子句確保資料庫的備份副本不包含任何恢復所需的信息。具體說來,它確保每個連接的回退日誌為空。
如果使用該子句得到了一個備份,那麼可以以只讀模式啟動該備份資料庫並校驗它。通過啟用備份資料庫校驗,可以避免額外復制資料庫。
WAIT AFTER END 子句 如果要重命名或截斷事務日誌,可以使用該子句。此語句確保在重命名或截斷日誌前完成所有事務。如果使用該子句,則備份在結束前必須等待其它連接提交或者回退任何打開的事務。
DBFILE ONLY 子句 該子句可被用於製作主資料庫文件和所有關聯的 dbspaces 的備份副本。但不復制事務日誌。
TRANSACTION LOG ONLY 子句 該子句可被用於製作事務日誌的備份副本。但不復制其它資料庫文件。
TRANSACTION LOG RENAME [MATCH] 子句 此子句會使伺服器在完成備份時重命名當前的事務日誌。重命名的副本名稱的格式為 YYMMDDnn.log。如果省略了關鍵字 MATCH,日誌的備份副本的名稱將與資料庫的當前事務日誌同名。如果使用了關鍵字 MATCH,則事務日誌的備份副本的名稱格式為 YYMMDDnn.log,以與當前事務日誌的重命名副本匹配。使用 MATCH 關鍵字使得同一語句可執行多次而不會覆蓋舊的數據。
TRANSACTION LOG TRUNCATE 子句 如果使用該子句,當前事務日誌將被截斷,並在完成備份時重新啟動。
archive-root 檔案文件的文件名或磁帶驅動器設備名。
要備份到磁帶,必須指定磁帶驅動器的設備名。例如,在 Windows NT 或 NetWare 上,第一個磁帶驅動器是 \\.\tape0。
反斜線 ( \ ) 是 SQL 字元串中的轉義字元,因此每個反斜線必須是兩道。有關轉義字元和字元串的詳細信息,請參見字元串。
ON EXISTING ERROR 該子句僅適用於映像備份。預設情況下,現有文件將在執行 BACKUP DATABASE 語句時被覆蓋。如果使用了該語句,若其中任一將由備份創建的文件已存在,則發生錯誤。
ATTENDED 該子句僅適用於備份到磁帶設備時。ATTENDED ON(預設值)表示有人可以監視磁帶驅動器的狀態,必要時在驅動器中放入新磁帶。如果磁帶驅動器要求干預,一條消息將發送到發出 BACKUP 語句的應用程序。然後資料庫伺服器等待驅動器就緒。這在某些情況下會發生,比如在需要新磁帶時。
如果指定 ATTENDED OFF 並需要新磁帶或者驅動器沒有就緒,則不發送消息並且給出錯誤。
每個 BACKUP 操作(不論是映像還是檔案)都更新名為 backup.syb 的歷史文件。
有關 backup.syb 文件的詳細信息,請參見 ASLOGDIR 環境變數。
WITH COMMENT 在檔案文件和備份歷史文件中記錄注釋。
HISTORY 預設情況下,每個 BACKUP 操作會將一行添加到 backup.syb 上。通過將 HISTORY 指定為 OFF 可以阻止更新 backup.syb 文件。如果滿足以下所有條件,您可能要阻止對此文件的更新:
*
經常備份
*
不存在定期存檔或刪除 backup.syb 文件的過程
*
磁碟空間非常有限
用法
第一個語法是映像備份,第二個語法是檔案備份。
語法 1 映像備份創建每個資料庫文件的副本,採用的方式與備份實用程序 (dbbackup) 相同。預設情況下,備份實用程序將在客戶端計算機上製作備份,但在使用備份實用程序時也可以通過指定 -s 選項在伺服器上創建備份。但是,對於 BACKUP 語句,備份只能在伺服器上創建。
(可選)只能保存資料庫文件或事務日誌。備份完成後也可以重命名或截斷日誌。
或者,可以指定空字元串作為目錄,這樣不必事先復制日誌就可以重命名或截斷它。這在需要考慮空間大小的復制環境中尤其有用。您可以將此功能與事務日誌大小的事件處理程序結合使用,以便在日誌達到給定大小時將其重命名,還可以將此功能與 DELETE_OLD_LOGS 選項結合使用,以便刪除不再需要的日誌。
要從映像備份恢復,請將保存的文件復制回原來的位置並重新應用事務日誌,詳見備份和數據恢復一章中的介紹。
語法 2 檔案備份創建單個文件來保存所有必需的備份信息。目標可以是文件名或磁帶驅動器設備名。比 NetWare 5 早的 NetWare 版本不支持到磁帶的檔案備份。
一個給定的磁帶上只能有一個備份。文件 backup.syb 記錄在給定伺服器上執行的 BACKUP 和 RESTORE 操作。
磁帶在備份結束時彈出。
每個磁帶上只能有一個檔案,但是一個檔案可以跨轉多個磁帶。要從檔案備份恢復資料庫,使用 RESTORE DATABASE 語句。
如果某個 RESTORE 語句引用了僅包含一個事務日誌的文檔文件,該語句仍必須指定一個文件名(表明恢復的資料庫文件所在的位置)即使該文件不存在。例如,若要從僅包含一個日誌的檔案恢復到目錄 C:\MYNEWDB,應使用如下的 RESTORE 語句:
RESTORE DATABASE 'c:\mynewdb\my.db' FROM archive-location
8. 如何備份整個mysql資料庫
1、首先打開mysql資料庫軟體進入軟體主界面。
9. mysqlmp 備份所有資料庫語句怎麼寫
Mysqlmp ——opt 要備份的資料庫名 —h localhost —u 賬戶名 —p — r 備份文件存放路徑
例如:
Mysqlmp ——opt database1 —h localhost —u username —p — r F:\backup.mysql