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