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