B/S架構(gòu)測試環(huán)境搭建_Oracle篇(Win32系統(tǒng))
一、新建數(shù)據(jù)庫:
(1)、Oracle數(shù)據(jù)庫安裝完成之后,在程序的目錄下會出現(xiàn)對應(yīng)的可選項。選擇“開始”-->“Oracle”-->“配置和管理工具”-->“Database Configuration Assistant”。具體見下圖:
圖1 Oracle新建數(shù)據(jù)庫開始菜單
(2)按照提示的步驟,一步步走下去即可,記住自己填寫的數(shù)據(jù)庫名稱或者SID。Oracle默認的DBA管理權(quán)限的用戶為SYS和SYSTEM,密碼在創(chuàng)建數(shù)據(jù)庫的時候設(shè)置(在下圖的頁面上設(shè)置密碼)。
圖2、Oracle設(shè)置DBA密碼頁面
(3)建立數(shù)據(jù)庫大約需要1分鐘,建立完成后可以用DB工具或者SQL驗證下數(shù)據(jù)庫是否能夠正常使用。個人比較偏向使用DBVisualizer。不過這還是提供下連接的命令:
cmd到命令行后執(zhí)行:sqlplus username/password@databaseName,數(shù)據(jù)庫服務(wù)正常情況下會返回連接成功的提示信息。如果失敗根據(jù)提示信息查看具體原因。要求執(zhí)行該命令的系統(tǒng)上具有開啟的Oracle服務(wù)。
(4)數(shù)據(jù)庫建立好之后是建立表空間的過程(數(shù)據(jù)庫、表空間、用戶、Schema、表、視圖、索引這些數(shù)據(jù)庫術(shù)語具體含義以及相互間的關(guān)系以后介紹),鏈接到該數(shù)據(jù)庫下執(zhí)行命令:
create tablespace tablespace_Name datafile 'F:\oracle\oradata\qa10g\tablespace_Name.dbf'(存放路徑,最后的表空間文件名稱最好與表空間名一致,方便之后使用) size 100M(根據(jù)需要可以調(diào)大) autoextend on(數(shù)據(jù)文件自動擴展);
之后是創(chuàng)建用戶,在Oracle里面如果不指定的話,在創(chuàng)建用戶時系統(tǒng)會建立一個相同名稱的Schema與之對應(yīng)所以在Oracle里面一般情況下用戶名和Schema(模式)名稱是一樣的。
create user username identified by password default tablespace tablespace_Name;
這個不用解析了,SQL基本語法,看看就行。
下面是給這個用戶授權(quán),如果不授權(quán),創(chuàng)建的用戶是個死的,相當于創(chuàng)建了一個占位的僵尸,授權(quán)就是激活這個僵尸的最有效的步驟。
grant privilege[權(quán)限] to username;
SQL授權(quán)命令grant,privilege(權(quán)限)這個可以有多個,如先來一個create session,讓該用戶能夠連接到該DB上,然后是select、update、create table/tablespace之類的,具體的就看你創(chuàng)建這個用戶做什么用的了,如果怕權(quán)限不足引發(fā)錯誤的話,直接可以授予用戶DBA的權(quán)限(前提是當前連接的用戶有授予DBA的權(quán)限)。用完之后怕引發(fā)問題可以用revoke命令回收權(quán)限,具體用法和grant相似。
此時建立的用戶、Schema是一個空殼子,里面的結(jié)構(gòu)是空的。可以根據(jù)SQL建立對應(yīng)的表和其他DB組件,這個比較復雜也比較多,我們留待以后整理。
二、恢復現(xiàn)場環(huán)境
Oracle數(shù)據(jù)庫實驗室中需要恢復現(xiàn)場的數(shù)據(jù),Oracle數(shù)據(jù)庫支持數(shù)據(jù)的導出為DMP的操作,一般現(xiàn)場需要恢復數(shù)據(jù)都會將現(xiàn)場的數(shù)據(jù)導回來,測試人員接手的是一個DMP文件,這時候我們需要去溝通了解更多的信息需要了解要恢復這個DMP中的哪個Schema(一般情況下一個DMP對應(yīng)一個Schema,不排除一個DMP包含多個Schema的情況),以及對應(yīng)的用戶的默認表空間。我們先看下Oracle的導出命令:
exp username/password@DataBase_Name file=d:\daochu.dmp(DMP存放路徑) owner=(system,sys)(填寫需要導出的Schema)。
這下看到了,owner中允許多個用戶被導入到同一個DMP中。
與exp命令對應(yīng)的就是imp命令了,用于恢復DMP中數(shù)據(jù):
imp username(新建的用戶)/password@databaseName file=dmp_path(存放dmp的全路經(jīng),如C:\1.dmp) fromuser=需要恢復的Schema名 touser=username ignore=y;
(使用ignore=Y,在創(chuàng)建表的時候如果有同名的表,那么就忽略,然后直接向里邊導入數(shù)據(jù).這樣就可以實現(xiàn)你的要求.但是速度會比較慢. ignore=N,在創(chuàng)建表的時候如果有同名的表,那么就不執(zhí)行后邊的導入數(shù)據(jù)的操作了.) 如果導入無出錯信息,此Schema(username)中就具備了現(xiàn)場的數(shù)據(jù)了。可以正常使用。
如果某個DMP中只有一個Schema,那么導入的時候可以不必在乎fromuser(不過這樣做不規(guī)范),簡潔版的導入命令:
imp username(新建的用戶)/password@databaseName file=dmp_path full=y(完全導入) ignore=y;
OK,“導入成功終止,沒有出現(xiàn)錯誤”。現(xiàn)場DMP恢復就算大功告成了。
Oracle的先介紹到這,初級使用,新手上路,請多關(guān)照。
posted on 2011-11-15 14:33 順其自然EVO 閱讀(273) 評論(0) 編輯 收藏 所屬分類: 測試學習專欄