ORACLE學習筆記(zt)

tolywang發表於2005-01-26

安裝和管理ORACLE

1、  ORACLE通用安裝程式(OUI

一種基於JAVA並適用於所有平臺的工具來安裝ORACLE9I


2、  資料庫配置助手(Database Configuration Assistant

用以建立一個新的資料庫

3ORACLE網路配置助手(Oracle Net Configuration Assistant)

       可為資料庫庫設定監聽者

4、  Oracle Enterprice Manager(OEM)    ORACLE企業管理器

是一個圖形化系統管理工具,用於管理工作ORACLE的元件,並且以會話方式管理資料庫

5、  最佳化靈活的體系結構(OFA

是由ORACLE定義的一組導向行,用以更好的管理ORACLE軟體和資料庫

6、  select * from v$pwfile_users

查出所有被賦權為SYSDBASYSOPER使用者的資訊。

7、  啟動例項

startup nomount   -à例項可啟動,但不安裝配資料庫。通常在建立一個新的資料庫或建立新的控制檔案時使用該語句。

Startup mount     -à能夠啟動且裝配資料庫,但並不開啟它。通常用於執行特定的維護操作。比如重新命名資料檔案,啟用或停用存檔日誌等。

Startup [open]     -à啟動例項,裝配資料庫,並且為正常的操作開啟資料庫。

 

Alter database mount  -à當資料庫未安裝時,發出該命令,能用一個先前已開始了的例項來裝配資料庫。

Alter database open   -à該命令將開啟一個已關閉的資料庫。

Alter database open read only -à以只讀的模式開啟一個資料庫,不能修改任何資料。

 

Startup force    -à有時啟動例項時可能有問題,可使用該命令來強制啟動一個沒能關閉的或沒能正常啟動的資料庫。只應在不能正常關閉資料庫時使用這個選項,STARTUP FORCE會關閉已執行的例項並重新啟動它。

 

Startup restrict   à以限制模式啟動資料庫,從而限制訪問資料庫。只有具有RESTRICTED SESSION系統許可權的使用者能與資料庫聯接。在開啟資料庫以後,還可以使用ALTER SYSTEM [ENABLE/DISABLE] RESTRICTED SESSION語句啟動或關閉訪問限制功能。

8、取得引數值

       show parameters [引數名]-à當這個命令沒有指定引數名時,ORACLE按字母順序顯示所有的引數及其值。如show parameters db_block_size

show parameters os 將所有命令包含有OS字母的引數全部顯示出來。

9、  select * from v$parameter à顯示當前的會話的引數值。

Select * from v$system_parameter  -à顯示系統引數

如:select name,value from v$parameter

 

10、設定引數值

       alter system--à改變系統引數的值

       slter system set log_archive_dest=’/oracle/archive/DB01’ immediate IMMEDIATE’指出只要改變引數的值,就立刻適用於該例項的所有會話。

   Alter system set timed_statistics=true deferred  ‘DEFERRED’批出所做的變化在新的會話開始之前,不會立刻生效,當前的會話仍然使用當前的值。

   Alter session -à改變引數的值

   使用該命令改變一個引數,引數的值僅僅在那個會話期被改變。當開始下一個會話時,引數將被賦予原先的值。

   Alter session set nls_date_formate=’MM-DD-YYYY’;

 

11、管理會話

       當做資料庫連線時,ORACLE就啟動一個會話,只要使用者與資料庫連線,會話就可用。

       為顯示連線到資料庫的使用者會話,可查詢檢視:v$session

       v$sessionSID和序列號(SERIAL#)惟一地標識每個會話。

   如:select username,sid,serial#,status from v$session

 

12、中止會話

       alter system kill session ‘sid,serial#’;

如:alter system kill session ‘9,3’;其中SIDSERIAL#透過從v$session檢視中查詢得知。

 

如果希望使用者完成當前的事務然後結束會話,可以使用alter system disconnect session命令。

如:alter system disconnect session ‘9,3’ post_transaction;

如果希望使用者回退正在進行的事務,釋放所有會話鎖,恢復整個會話狀態,立記得將控制返回。可以使用:alter system disconnect session ‘9,3’ immediate;alter system kill session ‘9,3’  immediate;

13、關閉ORACLE例項

       shutdown normal 當不帶先項的SHUTDOWN命令時,預設先項是NORMAL

       此命令做以下事情:

              A不允許新使用者連線

              B.等待所有使用者斷開與資料庫的連線,所有已連線的使用者可以繼續工作。

        C.關閉資料庫,解除安裝例項,關且一旦所有使用者資料與資料庫的連線則關閉例項。

    Shutdown immediate 使資料庫儘可能快的關閉。

    此命令做以下事情:

A. 不允許新使用者連線

B. 終止所有使用者與資料庫的連線

C. 回退所有提交的事務

D.關閉資料庫,解除安裝例項,關閉例項

    shutdown transactional  在使用者完成他們當前的事務時關閉資料庫。

A.      不允許新使用者的連線

B.      不允許資料庫的新事務,如果使用者企圖開始一個新事務,則會話斷開。

C.      等待使用者回退或提交未提交的事務。

D.     關閉資料庫,解除安裝例項,一旦所有事務完成。關閉例項

shutdown abort  如果其它三個關閉選項不起作用,該命令突然關閉資料庫。當下次啟動該資料庫時,需要例項恢復。

A.      終止正在執行的所有當前SQL語句

B.      斷開所有連線的使用者

C.      立即終止例項

D.     不回退未提交的事務。如果資料庫在該模式下之後啟動,ORACLE必須使用聯機重做日誌檔案回退未提交的事務。

14、例項訊息和例項警告

       ORACLE將資訊化的訊息和警告寫入不同的檔案.這些不同的檔案的位置在初始化引數中指定:

       BACKGROUND_DUMP_DEST-à寫入除錯跟蹤檔案的位置

       USER_DUMP_DEST -à寫入由使用者會話生成的跟蹤檔案的位置.

       CORE_DUMP_DEST -à寫入主存資訊轉儲檔案的位置.

15OMF(ORACLE管理檔案)

       ORACLE管理檔案的特性:可以使用兩個初使化引數定義檔案在作業系統中的位置:

       DB_CREATE_FILE_DEST-à指定新資料檔案的預設位置.

    DB_CREATE_ONLINE_LOG_DEST_n-à為聯機重做日誌檔案和控制檔案指定最5個位置.

 

 

 


建立資料庫和資料詞典

1、建立資料庫的先決條件:

A. 分配必要的硬體資源,如記憶體和硬碟空間

B. 設定作業系統和SYSDBA許可權

C. 設定引數檔案

D.設定的環境變數

E. 安裝ORACLE軟體

F. 備份現有資料庫

2、建立資料庫命令

建立資料庫之前,必須啟動一個例項(用STARTUP NOMOUNT

例子:

CREATE DATABASE “資料庫名

CONTROLFILE REUSE      -à覆蓋已有的控制檔案,通常只有在重建資料庫時,才使用。

LOGFILE GROUP 1    àLOGFILE子句指定聯機重做日誌檔案的位置,如果省略GROUP子句,ORACLE對第個檔案建立一個組。一個資料庫至少需要含有兩個重執行組。

’/oradata02/PROD01/redo0101.log’,

 ‘/oradata03/PROD01/redo0102.log)SIZE 5M REUSE,

GROUP 2

(‘/oradata02/PROD01/redo0201.log’,

‘/oradata03/PROD01/redo0202.log) SIZE 5M REUSE

MAXLOGFILES 4       à定義資料庫可以建立的最大重做日誌檔案的數目.

MAXLOGMEMBERS 2  à定義每個重做日誌組可以擁有的最大重做日誌檔案個數.

MAXLOGHISTORY 0   à只用於設定實應用簇.定義媒體自動恢復的重做日誌檔案的大小.

MAXDATAFILES 254   à定義資料庫可以建立的最多資料檔案數(當建立表空間時)

MAXINSTANCES 1     à定義可以同時裝配和開啟的最大例項數目.

NOARCHIVELOG  à設定重執行日誌檔案的儲存模式(這是預設值)另一值為:ARCHIVELOG

CHARACTER SET “WE8MSWIN1252”   à指定儲存資料使用的字符集(這是WINDOW平臺的預設值)

NATIONAL CHARACTER SET “AL16UTF16” à指定國家字符集,用於在NCHAR,NCLOGNVARCHAR2列中儲存資料..

DATAFILE ‘/oradata01/PROD01/system01.dbf’ SIZE 90M AUTOEXTEND ON NEXT 5M MAXSIZE UNLIMITED      à定義為SYSTEM表空間建立的一個或多個檔案.

UNDO TABLESPACE UNDOTBS  DATAFILE ‘/oradata04/PROD01/undo01.dbf’ SIZE 35Mà指定一個具有一個或多個相關的資料檔案的撤消表空間.

DEFAULT TEMPORARY TABLESPACE TEMP TEMPFILE ‘/oradata05/PROD01/temp01.dbf’ SIZE 20M  à定義所有臨時表空間的位置

3、  建立資料庫所涉及的工作總結:

A. 確保擁有足夠的資源和必要的許可權。

B. 確定資料庫的名稱,控制檔案的位置,資料庫的塊大小,並準備一份包括其他必要引數的引數檔案。

C. 確定控制檔案,資料檔案和重做日誌檔案的位置。在可能的情況下,應該把可能會競爭資源的資料檔案分散到不同的物理儲存部件裡。

D.確定資料庫的版本和例項名稱。設定環境變數ORACLE_HOME為安裝ORACLE軟體的目錄,設定ORACLE_SID為例項名稱.通常情況下,例項名和資料庫名相同.如果不使用預設的字符集,還要設定ORA_NLS33環境變數.

E. 啟動例項.使用SQL*PLUS,連結SYSDBA賬戶,執行STARTUP NOMOUNT命令

F. 使用CREATATE DATABASE 命令建立資料庫

 

 

4、  每個資料庫應至少有一個與之關聯的例項,多個例項可以訪問一個資料庫。每一個例項可否有多個資料庫?若有多個資料庫的話,當發出STARTUP命令時,是不是所有的資料庫一塊開啟?能不能特別指定其中的一個資料庫?建立使用者或建立表空間時如何特定指定是哪個資料庫?

5、  資料庫安裝完後,ORACLE會自動呼叫以下兩個SQL指令碼建立資料詞典

CATALOG.SQL à用於建立資料詞典檢視

CATPROC.SQL à建立實現PL/SQL功能的必要的詞典專案

6、  管理儲存程式和軟體包

建立過程,軟體或函式的程式碼可以透過DBA_SOURCE,ALL_SOURCE,USER_SOURCE詞典檢視訪問

DBA_OBJECTS,ALL_OBJECTS,USER_OBJECTS檢視提供關於儲存過程的狀態資訊.

 

7、  重編譯命令:

ALTER PROCEDURE 〈過程名〉 COMPILE

ALTER PROCEDURE  〈包名〉COMPILE

ALTER PROCEDURE 〈包名〉COMPILE BODY

 

8、  資料詞典分類

DBA_  à包含資料庫中的所有結構的資訊

ALL_  <

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/35489/viewspace-84265/,如需轉載,請註明出處,否則將追究法律責任。

相關文章