qileilove

          blog已經(jīng)轉(zhuǎn)移至github,大家請?jiān)L問 http://qaseven.github.io/

          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í)專欄

          <2011年11月>
          303112345
          6789101112
          13141516171819
          20212223242526
          27282930123
          45678910

          導(dǎo)航

          統(tǒng)計(jì)

          常用鏈接

          留言簿(55)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 富川| 安仁县| 黄石市| 邹城市| 富川| 凤山县| 隆尧县| 伊金霍洛旗| 普宁市| 桐城市| 体育| 师宗县| 洛隆县| 韶关市| 古田县| 堆龙德庆县| 益阳市| 珲春市| 榕江县| 西城区| 鱼台县| 琼结县| 稻城县| 龙陵县| 奎屯市| 涞源县| 扎赉特旗| 灯塔市| 仪征市| 慈利县| 绍兴县| 涡阳县| 绍兴市| 绥德县| 张掖市| 屏山县| 桓台县| 沿河| 罗源县| 汉中市| 阿拉尔市|