10-1 相關系統設定與工具的應用 10-2應用軟体開發工具 Visual Basic  
10-3 應用軟体開發工具 Delphi    
   
 

單單了解系統架構,並不一定會使你成為一個很好的 DBA,如果還能使用一些工具來協助,相信能在系統的管理上有很大的助益。除了前面介紹的系統架構外,Oracle 系統本身有些相關的設定與工具,將於下面章節中一一介紹:
 

當在 SQL*Plus 的環境下,執行 SQL 指令時,發生錯誤。

可直接鍵入“ed”或“edit”進入 SQL*Plus 的內定編輯器,一般內定的編輯器為記事本。

在編輯器中可直接修改錯誤,然後儲存後離開,即可回到 SQL*Plus 畫面。

在 SQL*Plus 中,直接鍵入“RUN”或“ / ”,即可執行修改後的 SQL 指令。

經由 Oracle 的 Net8 可以讓 Client 端的應用軟體與 Server 端在不同的平台、不同的協定上進行溝通與資料交換。在 Server 端的 Oracle Home 目錄下之 Network\Admin 的 Listener.ora 設定 Oracle Listener,主要描述資料庫主機所有的名稱、網址與資料庫的 SID。在 Client 端的 Net8\Admin 之目錄下的 Tnsnames.ora 主要描述每個連線主端 Server 端的資訊並給予一個名稱,以便於連線時指名之用。因為 Windows 2000、Windows NT 或其他平台的 Oracle 的 Listener 會因系統啟動時,會自動啟動,但是安裝在 Windows 98 的 Oracle 的 Listener 並不會自動啟動。所以必須利用手動啟動 Windows98 上的 Listener,以便 Client 端連線。
 

啟動 Oracle Database Instance。

在 Oracle Home 目錄下的 BIN 中執行 lsnrctl.exe。

執行後會出現下圖,直接鍵入 start 指令來啟動 Listener。

我們可以鍵入 status 指令來得知 Oracle Listener 的目前狀況。

Oracle Listener 的指令,除了上述的 start 與 status 外,還有其他指令,例如:stop(停止 Listener)。可以利用 help 指令來列出所有的指令。

   

經由 Oracle 的 Net8 可以讓 Client 端的應用軟體與 Server 端在不同的平台、不同的協定上進行溝通與資料交換。在 Client 端的 Net8\Admin 目錄下之 tnsnames.ora 設定有遠端連線資料庫主機的資料與連線模式資料,例如:遠端連線資料庫主機的 listener 的位址、SID 等等。一般的使用者並不一定會設定 tnsnames.ora,所以 Oracle 提供 Net8 Easy Config 工具來協助。
 

執行 Net8 Easy Config。

輸入 Net 服務名稱,例如:jp8i,然後再點選下一步。

選擇 TCP/IP 通訊協定,然後再點選下一步。

在主電腦名稱欄位中輸入主電腦的 Domain name 或 IP,例如:163.26.222.46,連接埠號碼必須與連線的主電腦相同,有關於連接埠號碼可查看主電腦的 Oracle Home 下之 network 目錄中的 Listener.ora 設定,一般用 Oracle 內定的 1521 即可,然後再點選下一步。

依照主電腦的版本選擇並輸入 SID,例如:jp8i, 然後再點選下一步。

點選測試以驗證設定是否正確,然後再點選下一步。

連線測試是以剛才的設定並以系統內定的使用者 SCOTT 登錄,若是成功,可點選“關閉”以結束連線測試,如果欲以其他使用者連線測試,則必須點選變更登入。

如果測試成功,則點選“完成”即可。

設定好了 Net8 Easy Config 後,可利用 SQL*Plus 連線。

在使用者名稱欄位中輸入使用者名稱與密碼,例如:scott,並在主機字串中輸入剛剛設定的服務名稱,例如:jp8i。

成功連線後的畫面。

   

有時候,因為版本不同,Oracle系統並沒有提供 NET8 Easy Config 這個工具,而提供 NET8 Configuration Assistant 工具,它的設定也與 NET8 Easy Config 類似。
 

一般在 Windows 98 環境下安裝 Oracle 8i Personal Edition,並沒有一併安裝類似 DBA Studio 或 Enterprise Manager 系統工具來協助使用者管理系統,必須再安裝 Enterprise Manager for Windows98 工具,雖然如此,但是可利用 Oracle 8i Navigator 來作簡易系統操作。它雖然不能做類似建立資料庫、建立表空間等等重大的資料庫動作,但是對於其他系統操作,例如:建立使用者、建立表格、同義字等等資料庫綱要動作卻也相當容易。
 

從開始-->程式集-->Oracle-OraHome81-->Application Development-->選擇進入 Oracle 8i Navigator。

進入 Oracle 8i Navigator 畫面後,從左邊目錄區開啟 Oracle 8i Personal Edition。

按下 Local Database 啟動 Local Database。

立即出現啟動連結畫面。

連結成功後,Local Database 的圖示會改變,並出現“+”號。

點選 Local Database,右邊就會出現 Local Database 的內容。

點選左邊 Local Database 底下的 Table,右邊就會出現存在資料庫中所有的表格名稱及表格擁有者,左上角並出現可以自行加入新表格的圖示。

除了利用步驟7 的方法外,可由 File-->New Table 建立新的表格。

Oracle 系統會提供表格精靈或手動兩種方法,你可以選擇表格精靈並按“OK”。

輸入欲建立之表格名稱與選定該表格之擁有者,點選“下一步”。

輸入欲建立之欄位名稱(deptno)、型態(NUMBER)、大小 (2) 及欄位比例(0 為自動),完成後點選“Insert”選項,即可建立一個欄位。

重覆步驟11,建立所需的欄位。

重覆步驟11,建立所需的欄位。若已建立全部欄位時,選取“下一步”。

設定個体整合限制中的欄位條件,例如:設定 empno 欄位不得為虛值(null) 及必須是唯一值(Unique) 等等,完成後,選取“下一步”。

因為我們設定此新增表格的擁有者為 SCOTT,所以 Oracle 系統要求輸入 SCOTT 密碼,以確保系統的安全性。輸入密碼後,選擇“OK”即可。

此步驟為設定參考整合限制,例如:建立候選鍵。

此步驟為設定主鍵,點選要建立之主鍵,例如:將 empno 設定為主鍵後,按“下一步”。

此步驟為設定欄位的先後順序,設定好後就選取“下一步”。

此步驟為詢問使用者是否要立即輸入資料,例如:選擇完成後繼續鍵入表格資料,並按下“完成”。

在表格中鍵入各欄位資料,全部資料輸入後,選取右上角的關閉視窗的按鈕。

在出現的視窗中,選取“是”,以儲存所建立之資料。

回到 Navigator 的畫面中,我們可以在 Table 中發現表格 TEMP,它的擁有者為 SCOTT。如圖所示

選取 Local Database 中之 View,右邊就會出現存在資料庫中所有的視觀表格(VIEW),左上角並出現可以自行加入新的視觀表格(VIEW) 的圖示。

除了利用步驟23 的方法外,也可以利用本步驟建立一個新的視觀表格,選取 File-->New View。

選取 Local Database 中之使用者(User),右邊就會出現存在資料庫中所有的使用者,左上角並出現可以自行加入新使用者的圖示。

除了利用步驟25 的方法外,可由 File-->New-->New User 建立新的使用者。

選擇一般(General) 頁籤,輸入新使用者姓名,(例如:guest)、密碼並在確認一次密碼。

選擇角色╱系統權限(Roles╱Privilege) 頁籤,將角色╱系統權限 (例如:RESOURCE) 加入。

選定好了系統權限或角色後,選取“確定”。

回到 Navigator 的畫面中,我們可以在 User 中發現新的使用者 GUEST。如圖所示

點選左邊 Local Database 底下的角色(Role),右邊就會出現存在資料庫中所有的角色,左上角並出現可以自行加入新角色的圖示。

除了利用步驟31 的方法外,可由 File-->New-->New Role 建立新的表格。

選擇一般(General) 頁籤,輸入角色名稱,例如:students。

選擇角色╱系統權限(Roles╱Privilege) 頁籤,加入所需要的角色或系統權限,例如:CONNECT、RESOURCE 等角色,再選擇“確定”。

回到 Navigator 的畫面中,我們可以在 Role 中發現新的角色 STUDENTS。

   

Oracle Enterprise Manager 是 ORACLE 提供的系統管理工具,它以圖解與簡易的精靈幫助使用者管理資料庫系統。它主要分為:Instance Management、Schema Management、Security Management 與 Storage Management 四大部份。
 

 1. 登錄 Oracle Enterprise Manager

執行 Enterprise Manager Console,點選“Launch standalone”,然後點選“OK”。

在畫面的左上角點選資料庫,然後輸入使用者的名稱與密碼。

進入後,所點選的資料庫下會出現 Instance, Schema,Security 與 Storage 四部分,左方為系統的工具列,主要為 Connect、Save list、Refresh、Show Dependencies、Create、Create Link 與 Remove 等操作。

 

2. Instance Management 主要是用來:(1) 啟動(Start up) 或關閉(Shut down) 資料庫系統,(2) 查詢(View) 或編輯(Edit) 所有的起始變數值,(3) 管理已儲存的 config(設定),(4) 管理使用者的 Session(連線),(5) 監視需要長時間執行的執行運作(Operation)。

點選 Instance Management 的畫面。

開啟 Instance 後,分為 Configuration、Sessions、Resource Consumer Groups 與 Resource Plans 四個項目。點選 Configuration 項目,畫面右方的部分則分為 「一般」、「記憶體」 、「復原」 與 「資源監督器」與「還原」 四個頁籤。其中「一般」則顯示目前資料庫 狀態的資訊。

「記憶體」 頁籤顯示目前資料庫的記憶体之狀態的資訊。

「復原」 頁籤顯示資料庫備份的資訊。

「資源監督器」 頁籤顯示監控資料庫資源的狀態。

Session 項目顯示目前的連線(Session),其中 Session id 9 為目前 Oracle Enterprise Manager 連線的 Session,而 Session id 12 則為使用者 student利用 SOL*Plus 連線的 Session。

點選其中一個 Session,例如 Student,則畫面右方的部分出現 Session 的詳細資訊,例如:Session id、使用者名稱、何時登錄(login)、使用的應用軟体等等。

Resource Consumer Groups 項目主要是指定使用者為某個 Resource Consumer Groups 中的一個 Group 的成員或是將某使用者由某個 Resource Consumer Groups 中移除。

Resource Plans 項目是將系統資源分配給每個 Resource Consumer Groups。

 

3. Schema Management 主要是用來管理綱要物件(Schema Object),例如:表格(Table)、索引(Index)、視觀表格(View) 與 Oracle8 物件。使用者可以新增、更改與刪除綱要物件(Schema Object),並且可以查詢綱要物件間的相依性(Dependency)。

點選 schema 項目,會列出資料庫的所有使用者。

點選其中一個使用者,畫面的右方會顯示該使用者所擁有的資料庫物件,例如:SCOTT。

點選 Table 項目,會顯示使用者所擁有的表格與表空間所在。

利用左方的工具列,可以新增表格。

點選使用者中的某一表格,畫面右方即顯示該表格詳細資料的 General、Constraints、Storage、Options 與 Statistics 五個頁籤。其中 General 頁籤顯示該表格的欄位資料,例如:使用者 student 的表格 Dept 有 Deptno,Dname 與 Loc 三個欄位。

Constraints 頁籤顯示該表格的整合限制,例如:表格 Deptno 中設定了主鍵 Deptno。

Storage 頁籤顯示該表格的儲存的詳細情況。

其他的 Database Schema 也與表格(Table) 類似,例如:View。

 

4. Security Management 主要是用來 (1) 建立使用者(user)、角色(role) 等設定資料,(2) 更改使用者(user)、角色(role) 等設定資料,(3) 刪除使用者(user)、角色(role) 等設定資料,(4) 授權系統權限或角色給予資料庫中的使用者或角色。

點選 Security,會展開並顯示 Users、Roles 與 Profiles 三個項目。

點選 Users 項目,右方會顯示 Database 的所有使用者資訊。

點選其中一個使用者並展開,會出現 Roles Granted、System Privileges Granted 、 Object Privileges Granted 與 Comsumer Groups Grant,而畫面右方並顯示其詳細資料的頁籤。例如:對使用者 Student 而言,他被給予了 CONNECT、NEWROLE 與 RESOURCE 三個角色,而且被給予了 UNLIMITED TABLESPACE 系統權限,和對於使用者 scott 的表格 Emp 之 INSERT 、SELECT 與 UPDATE 物件權限,而畫面右方的 General 頁籤顯示使用者的一般資訊之詳細資訊,例如:Student 的內定表空間為 USERS 與暫存表空間為 TEMP。

Role 頁籤顯示使用者被授予之角色的詳細資訊,例如:Student 被授予的角色有 CONNECT、NEWROLE 與 RESOURCE,並擁有 NEWROLE 的 ADMIN OPTION 權限。

System Privileges 頁籤顯示使用者被授予之系統權限的詳細資訊,例如:Student 被授予的系統權限有 AUDIT SYSTEM 與 UNLIMITED TABLESPACE 系統權限,並擁有 AUDIT SYSTEM 的 ADMIN OPTION 權限,其中 UNLIMITED TABLESPACE 的系統權限是因為 Student 被授予 RESOURCE 角色而獲得的。

Object Privileges 頁籤顯示使用者被授予之物件權限的詳細資訊,例如:Student 被授予的物件權限為對於使用者 scott 的表格 Emp 之 INSERT 、SELECT 與 UPDATE 物件權限,並有 SELECT 的 Grant Option 權限。

Roles 與 Profiles 兩項目的內容與設定,也與使用者(User) 類似。

 

 5. Storage Management 主要用來管理資料儲存物件,例如:tablespace、rollback segments、datafiles 與 redo log。利用 Storage Management 來建立或廢除儲存物件;為 tablespace 建立 datafile 與 rollback segment;使資料儲存物件上線或離線與顯示資料儲存物件之間的相依性。

展開 「儲存」 並點選 「控制檔」,畫面右方會顯示目前的控制檔的詳細資訊。

點選 「表格空間」 並展開,畫面右方會顯示目前的表空間的詳細資訊。

點選其中一個表空間,畫面右方會顯示「一般」與「儲存」二個頁籤,其中「一般」頁籤顯示該表空間的詳細資訊,例如:表空間 Users 的詳細資訊。

頁籤「儲存」顯示該表空間的儲存狀態。

點選「資料檔」並展開之,畫面右方會顯示目前的 Datafiles 的詳細資訊,例如:表空間(Tablespace) 的使用比例與其對應的 Datafiles。