1、 ORACLE通用安裝程序(OUI)
一種基於JAVA並適用於所有平臺的工具來安裝ORACLE9I。
2、 數據庫配置助手(Database Configuration Assistant)
用以創建一個新的數據庫
3、ORACLE網絡配置助手(Oracle Net Configuration Assistant)
可爲數據庫庫設定監聽者
4、 Oracle Enterprice Manager(OEM) ORACLE企業管理器
是一個圖形化系統管理工具,用於管理工作ORACLE的組件,並且以會話方式管理數據庫
5、 優化靈活的體系結構(OFA)
是由ORACLE定義的一組導向行,用以更好的管理ORACLE軟件和數據庫
6、 select * from v$pwfile_users
查出所有被賦權爲SYSDBA或SYSOPER用戶的信息。
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$session中SID和序列號(SERIAL#)惟一地標識每個會話。
如:select username,sid,serial#,status from v$session
12、中止會話
alter system kill session ‘sid,serial#’;
如:alter system kill session ‘9,3’;其中SID,SERIAL#通過從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 -à寫入主存信息轉儲文件的位置.
15、OMF(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,NCLOG或NVARCHAR2列中存儲數據..
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_ à提供用戶可訪問的對象的信息
USER_ à顯示用戶擁有的結構的信息(按用戶方案)
V$ -à動態運行視圖,(真正的動態運行視圖以V_$爲前綴,V$只是它的同義詞)
9,可以使用數據詞典信息產生數據庫中對象創建的代碼.
表的信息可通過DBA_TABLES,DBA_TAB_COLUMNS,ALL_TABLES,ALL_TAB_COLUMNS,USER_TABLES,USER_TAB_COLUMNS詞典視圖獲得.
10,詞典視圖DICTIONARY(DICT)包含數據庫中所有數據詞典的名稱和描述信息.
控制文件和重執行日誌文件
控制文件
1, 控制文件à維護數據庫物理結構的信息,可看作是實際數據庫的元數據倉庫,它含有數據庫的結構à數據文件和重執行日誌文件.
控制文件是持續不斷的更新的,
控制文件的大小由創建數據庫的MAX子句決定.
當向數據庫添加文件或者改變文件的位置時,ORACLE服務器里程會立即更新控制文件中的相應信息.
控制文件包含兩種記錄:可重複使用的和不可重複使用的.
2, 控制文件應包含如下內容:
A.控制文件所屬的數據庫名稱,一個控制文件只能屬於一個數據庫.
B.創建數據庫的時間戳記
C.數據文件,的時間,位置和聯機脫機狀態信息.
D.重執行日誌文件的名稱和位置,和存檔信息
E.表空間名稱
F.當前的日誌序列號
G.最近的檢查點信息
H.撤消段的開始和結束
I.RMAN的備份信息
3.複用控制文件àORACLE建議至少有兩個控制文件
複用的方法有兩種:
A>用init.ora複用控制文件
要定義複用的控制文件,先複製控制文件到不同的位置,並更改初使化文件init.ora裏的CONTROL_FILES參數.
通常應該把控制文件存放在多個磁盤
如果損失了一控制文件,只要複製另外的控制文件,或更改初始文件中的CONTROL_FILES參數,就可以重新啓動數據庫.
增加控制文件的副本的步驟:
A.關閉數據庫
B.使用操作系統命令把控制文件複製到多個位置
C.更新初使化參數文件的CONTROL_FILES參數,使它包含所有新的控制文件的名稱.
D.啓動數據庫
B>使用SPFILE複用控制文件
步驟:
A.在數據庫開啓狀態下更改SPFILE:
SQL>ALTER SYSTEM SET CONTROL_FILES=
‘/ora01/oradata/MYDB/ctrlMYDB01.ctl’,
‘/ora02/oradata/MYDB/ctrlMYDB02.ctl’,
‘/ora03/oradata/MYDB/ctrlMYDB03.ctl’,
‘/ora04/oradata/MYDB/ctrlMYDB04.ctl’ SCOPE=SPFILE;
B.關閉數據庫
SQL>SHUTDOWN NORMAL;
C.複製已有的控制文件到新的位置(複製,粘貼)
D.啓動實例.
SQL>STARTUP;
4. 創建新的控制文件
在以下情況下需要創建新的控制文件
A.如果丟失了所有的控制文件
B.如果想要更改CREATE DATABASE命令中任一MAX子句.
C.如果想更改數據庫的名稱
創建新的控制文件的前提:
需要知道數據文件的名稱和重執行日誌文件的名稱
5. 創建控制文件的步驟
A.
CREATE CONTROLFILE SET DATABASE “ORACLE”
NORESETLOGS NOARCHIVELOG
MAXLOGFILES 32
MAXLOGMEMBERS 2
MAXDATAFILES 32
MAXINSTANCES 1
MAXLOGHISTORY 1630
LOGFILE
GROUP 1 ‘C:/ORACLE/DATABASE/LOG2ORCL.ORA’ SIZE 500K,
GROUP 2 ‘C:/ORACLE/DATABASE/LOG1ORCL.ORA’ SIZE 500K
DATAFILE
‘C:/ORACLE/DATABASE/SYS1ORCL.ORA’,
‘C:/ORACLE/DATABASE/USR1ORCL.ORA’,
‘C:/ORACLE/DATABASE/RBS1ORCL.ORA’,
‘C:/ORACLE/DATABASE/TMP1ORCL.ORA’,
‘C:/ORACLE/DATABASE/APPDATA1.ORA’,
‘C:/ORACLE/DATABASE/APPINIDX1.ORA’;
B.關閉數據庫
C.STARTUP NOMOUNT (ORACLE需要打開控制文件才能裝載數據庫)
D.控制文件的名字和位置按照初始化參數CONTROL_FILES的定義
E.用ALTER DATABASE OPEN命令打開數據庫.
F.關閉數據庫.並且備份數據庫
6. 查詢V$DATAFILE視圖,可以查出是否有在控制文件中所列出的控制文件被遺漏.如果有遺漏的文件則以MISSINGnnnn名稱顯示.
如果以RESETLOGS選項創建控制文件,遺漏的數據文件不能加回數據庫.
如果以NORESETLOGS選項創建控制文件,遺漏的數據文件可以通過媒體恢復加進數據庫.
7.備份控制文件
在數據庫開啓狀態下可以用以下命令備份控制文件
ALTER DATABASE BACKUP CONTROLFILE TO ‘<filename>’ REUSE;
也可以這樣備份控制文件:
ALTER DATABASE BACKUP CONTROLFILE TO TRACE;
該命令把控制文件放進一個位於USER_DUMP_DEST的文本格式的跟蹤文件,刪除其中一些無關的信息來重新創建控制文件.
ORACLE建議,一旦更改數據庫的結構:如添加數據文件,更名數據文件或刪除重執行日誌文件等,就要備份控制文件.
8. 查詢控制文件信息V$CONTROLFILE
該視圖列出數據庫所有控制文件的名稱
也可以通過SHOW PARAMETER命令來獲取控制文件的名稱:
SQL>SHOW PARAMETER CONTROL_FILES;
9. 顯示控制文件的記錄.-àV$CONTROLFILE_RECORD_SECTION
存檔日誌信息 àV$ARCHIVED_LOG
組成數據庫的單個數據文件的備份狀態--àV$BACKUP_DATAFILE
關於備份塊的信息,使用RMAN時更新àV$BACKUP_PIECE
使用RMAN備份的存檔日誌文件的信息àV$BACKUP_REDOLOG
已經成功使用RMAN的備份的信息àV$BACKUP_SET
數據庫的信息àV$DATABASE
與數據庫有關的數據文件的信息àV$DATAFILE
通過熱備份或使用RMAN拷貝的數據文件的信息àV$DATAFILE_COPY
聯機重做日誌文件組的信息àV$LOG
聯機重做日誌文件組的文件或成員àV$LOGFILE
分配給每一個實例的日誌文件的信息àV$THREAD