您好,登錄后才能下訂單哦!
這篇文章主要介紹“oracle數據庫恢復的方法是什么”,在日常操作中,相信很多人在oracle數據庫恢復的方法是什么問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”oracle數據庫恢復的方法是什么”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!
--創建缺省表空間,系統支持表、公用數據表
1)
create bigfile tablespace NNC_DATA01 datafile 'D:\oracle\NNC_DATA01.dbf' size 100m autoextend on NEXT 10k;--藍色字體分別是表空間名字,表空間存儲路徑
--表空間 名為 TALENTBASE
create bigfile tablespace TALENTBASE datafile 'D:\oracle\tablespace\tb_bxyh.dbf' size 100m autoextend on NEXT 10k;
--創建臨時表空間
create bigfile temporary tablespace NNC_DATA01 tempfile 'D:\oracle\NNC_DATA01.dbf' size 100m autoextend on NEXT 10k;--藍色字體分別是臨時表空間名字,臨時表空間存儲路徑
2)--創建用戶,并關聯表空間和虛擬表空間,并為用戶賦權(共三個 dba、resource、connect);
--使用附件中的如下語句:
--用戶權限
grant connect,dba,resource to user;
--刪除用戶,如果是原有項目數據庫用戶,覆蓋時需要先刪除用戶;如果是新項目則不需要刪除,直接創建
--drop user 用戶名 cascade;
drop user tb_bxyh cascade
--創建管理員用戶
create user username identified by username default tablespace tb_bxyh temporary tablespace tb_bxyh_bxyh;
--授權
grant connect,dba,resource to username;
--修改限額
ALTER USER HCM QUOTA UNLIMITED ON username;
4、然后打開F:\oracle數據庫文件\cmd文件,維護導入語句。
--當用exp導出的文件,恢復時使用imp;
imp 用戶名/密碼@ora11g file=導入文件路徑 fromuser=導出用戶名 touser=導入用戶名 log=導入文件執行日志
imp H/H201709@orcl file=C:/Users/Administrator/Desktop/jiar/EXPH_20171011030000/oracle_backup/EXPH_20171011030000.dmp fromuser=H touser=H log=EXPH_20171011030000.log
--指定不導出表
expdp db/db@hrdb directory=DATA_PUMP_DIR exclude=table:"in('tp_sys_blob')" dumpfile=20190305.dmp logfile=20190305.log schemas=tt;
--當用expdp導出的文件,恢復時使用impdp;
impdp 用戶名/密碼@ora11g directory=dump_dir dumpfile=導入文件名 logfile=導入文件執行日志 remap_schema=導出用戶名:導入用戶名
impdp tb_czyhtest/hr_39_DB@orcl directory=dump_dir dumpfile=bak0210.dmp logfile=bak0210.log remap_schema=tb_czyhtest:tb_czyhtest
--查找導入路徑
select * from dba_directories;
5、執行完成后,必須查看導入日志文件,每次導入的表信息大概是1000多點,在導入結尾處會有如下字樣,標示導入成功。出現警告不影響使用。
(即將啟用約束條件...成功終止導入, 但出現警告。)
--如果備份導出的日志顯示表缺少,可以用如下語句進行查詢,并將查詢結果在對應數據庫中執行,再次備份導出時就可以將空表導出。
問題:有時候導入時,會提示表空間不足,這時候需要根據提示找到表空間,然后在PLsql中查詢,當前表空間的存儲文件有哪些。
比如經常會提示‘Tablebase’表空間不足,這時我們使用如下語句,查看已有文件信息:
----查詢表空間大小以及使用率:
select tablespace_name, bytes, user_bytes, user_bytes/bytes,file_name from dba_data_files where tablespace_name='TALENTBASE';
目前使用的存儲文件都在'E:\oradata\ora11g\...'下面,現在已經有talentbase11.dbf了,那么我們可以使用如下語句,在新增一個存儲文件,然后在執行導入語句。
--表空間不足
alter tablespace TALENTBASE
add datafile 'E:\oradata\ora11g\TALENTBASE12.dbf'
size 100M autoextend on next 10M maxsize unlimited;
--自動擴展
alter database datafile '/db/oracle/oradata/hrdb.dbf'autoextend on next 100m maxsize 10000m
--查找表空間
select * from dba_data_files
到此,關于“oracle數據庫恢復的方法是什么”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。