Oracle Training Notes
體系結構及管理:2.5-3天
備份與恢復:5天-5.5天
效能調整:5天-5.5天
Oracle Server:例程和資料庫
使用者程式:客戶應用程式(發出SQL語句)
伺服器程式:為使用者程式所分配(預設:一一對應)
執行SQL操作(影子程式)
ORA-1034:例程未啟動(特權使用者:STARTUP)
連線:使用者程式到伺服器程式的物理通訊通道
會話:特定使用者的連線
例程:由一組記憶體結構和後臺程式組成
SGA(System Global Area):資料快取記憶體 重做日誌緩衝區共享池
後臺程式:隱含執行(SMON PMON DBWR LGWR CKPT ARCH)
資料庫:由一組OS檔案組成
資料檔案:存放資料(資料字典 使用者資料 UNDO資料)
控制檔案:記錄和維護資料庫的物理結構(關聯例程和資料庫)
重做日誌:記錄資料庫變化(恢復資料庫)
引數檔案:存放例程的初始化引數(PFILE和SPFILE)
口令檔案:驗證特權使用者(啟動 關閉 備份和恢復)
歸檔日誌:非活動重做日誌的備份(完全恢復資料庫)
處理SELECT:
1 解析:生成執行計劃(內部執行步驟)---庫快取記憶體
2 執行:資料-->資料快取記憶體
3 提取資料:資料-->客戶端
A:SELECT * FROM emp WHERE empno=7788--100位元組
B:SELECT * FROM emp WHERE EMPNO=7788;
9I:共享池尺寸可以動態修改
資料塊:Oracle在資料檔案上執行IO操作的最小單位(8K)
9I:
1 不同表空間可以使用不同資料塊尺寸(不指定BLOCKSIZE:標準資料塊)
2 不同資料塊尺寸只能使用不同資料高速子快取
3 資料快取記憶體尺寸可以動態修改
DB_nK_cache_size:定義非標準的資料快取記憶體
PGA(Program Global Area):存放後臺程式和伺服器程式的資料和控制資訊
1 SGA:共享,PGA:私有
2 pga_aggregate_target(9I):PGA總計記憶體空間
排序區:存放排序操作的臨時資料(ORDER BY)
會話資訊:存放會話所具有的許可權和角色
遊標狀態:SQL語句所處的階段
堆疊空間:存放會話變數
處理DML語句:解析和執行
執行步驟:
1 資料-->資料快取記憶體
2 在被作用行上加鎖
3 資料變化-->重做日誌緩衝區
4 修改資料(資料段 UNDO段)
UNDO段:存放事務所修改資料的舊值
UPDATE emp SET sal=1000 WHERE empno=7788;
INSERT
重做日誌緩衝區尺寸不能動態修改
髒緩衝區:DML操作後的緩衝區
DBWR:髒緩衝區寫入到資料檔案(DBWn)---db_writer_processes
--發出檢查點
檢查點:用於同步資料庫的資料檔案 控制檔案和重做日誌(當前SCN完全一致)
1 關閉資料庫(SHUTDOWN ABORT例外)
2 日誌切換
3 強制檢查點
4 初始化引數
SCN(System Change Number):記錄資料庫變化的惟一標識號(順序遞增)
---備份和恢復
A:UPDATE ---100000
B:DELETE ---100100
LGWR:重做日誌緩衝區-->重做日誌
1 3S
2 COMMIT(快速提交)
3 1/3LOG_BUFFER
4 在DBWR之前(先寫日誌後寫資料)
UPDATE
處理COMMIT:
1 伺服器程式:COMMIT和SCN-->重做日誌緩衝區
2 LGWR:重做日誌緩衝區-->重做日誌
3 提示使用者程式:提交完成
4 釋放鎖
SQL*Plus:管理資料庫(啟動例程 關閉例程等)
SQL*Loader:文字檔案資料-->資料庫
EXP:資料庫資料-->EXP檔案(10G:EXPDP)
IMP:EXP檔案-->資料庫(10G:IMPDP)
ORAPWD:管理特權使用者的口令
SYSDBA:最高許可權(啟動和關閉 建立資料庫)--OS使用者:ORA_DBA組(OSDBA)
SYSOPER:啟動和關閉(不具備DBA角色的許可權)--OS使用者:ORA_OPER組(OSOPER)
DBA:在啟動資料庫之後執行各種管理操作(不能啟動和關閉資料庫)
特權使用者登入:AS SYSDBA或者AS SYSOPER
OS驗證:使用OS使用者確保特權使用者的安全性--不允許遠端登入
sqlnet.ora:ORACLE_HOMEnetworkadmin
ORACLE_HOME:Oracle資料庫軟體的安裝目錄
1 修改引數
2 重新啟動Oracle服務
配置OS驗證 |
口令檔案驗證:指使用口令檔案確保特權使用者的安全性(建議)
--允許遠端登入
口令檔案預設位置:ORACLE_HOMEdatabase
口令檔名稱:PWDORACLE_SID.ORA
ORACLE_SID:例程名(MS)
1 刪除原有口令檔案 2 建立口令檔案 3 修改初始化引數 4 重新啟動資料庫 5 修改SQLNET.ORA檔案 修改特權使用者口令為ADMIN |
配置監聽程式和網路服務名(Net Manager)
監聽程式:用於監聽客戶端的連線請求(Oracle Server端)
1 配置監聽位置
網路協議:常用TCP/IP
主機:機器名或者IP地址
埠:IP埠號(未佔用IP埠)
2 配置資料庫服務
全域性資料庫名:應該設定為初始化引數service_names的值
Oracle主目錄:應該設定為環境變數ORACLE_HOME的值
SID:應該設定為環境變數ORACLE_SID的值
3 儲存網路配置,重新啟動監聽程式
1 刪除原有監聽程式LISTENER 2 配置監聽程式LISTENER並重新啟動 |
網路服務名:連線到目標資料庫的網路別名(客戶端)
NET服務名:任意指定
協議:與監聽程式的協議必須完全一致
主機名:監聽程式所在機器名或者IP地址
埠:監聽程式所使用的IP埠
服務名:監聽程式所配置的全域性資料庫名
儲存網路配置
1 配置網路服務名S1(連線到本地資料庫) 2 以S1連線到本地資料庫,然後檢查主機名 3 配置網路服務名S2(連線到其它機器資料庫) 4 以S2連線到其它機器資料庫,然後檢查主機名 |
OEM兩層結構:日常資料庫管理(獨立啟動)
1 Oracle Server:啟動資料庫 啟動監聽程式
2 客戶端:OEM Console(配置網路服務名)
OEM三層結構:日常資料庫管理 高階管理操作(監視事件 執行作業等)
1 Oracle Server:啟動資料庫 啟動監聽程式 啟動Agent
2 Oracle Management Server:啟動OMS服務--配置資料檔案庫
3 客戶端:OEM Console
Instance Manager:啟動例程 關閉例程 修改初始化引數--以特權使用者登入
Security Manager:管理使用者 角色以及PROFILE(概要檔案)
--特權使用者或者DBA使用者
1 啟動OEM Console 2 以SYS使用者登入到本地資料庫(MS),關閉並重新啟動例程 3 以SYSTEM使用者登入到資料庫,建立使用者USER1並授予系統許可權UNLIMITED TABLESPACE 4 執行SQL*Plus以USER1使用者登入 |
Storage Manager:管理表空間 資料檔案和重做日誌等--特權使用者和DBA使用者
Schema Manager:管理資料庫物件()
SQL*Plus Worksheet:SQL*Plus圖形化工具(獨立工具)
1 以SYSTEM使用者登入,建立表空間TBS1(資料檔名:TBS1.DBF,尺寸:10M) 2 以SYSTEM使用者登入為SCOTT使用者授予角色和許可權,使該使用者可以使用OEM Console 3 以SCOTT使用者登入,在TBS1表空間上建立表T1 4 以SCOTT使用者執行SQL*PLUS WORKSHEET |
引數檔案:用於存放啟動例程所需要的初始化引數
1 200多個初始化引數
2 多數引數都有預設值
3 引數檔案:非預設的初始化引數
PFILE:文字格式存放引數--9I之前
SPFILE:二進位制格式存放引數--9I新特徵(建議)
引數檔案預設位置:ORACLE_HOMEdatabase
PFILE預設名稱:initSID.ora(SID:例程名)
SPFILE預設名稱:spfileSID.ora
常用引數:
db_name:指定資料庫名稱
instance_name:指定例程名=db_name
service_names:指定資料庫服務名=db_name.db_domain
control_files:指定資料庫的控制檔案(關聯例程和資料庫)
undo_tablespace:指定例程預設的UNDO表空間
PFILE:直接編輯進行修改
SPFILE:不能直接編輯
修改PFILE:
1 引數存在--直接編輯
2 引數不存在--在尾部增加一行
3 每行只能設定一個引數
修改SPFILE:SCOPE=SPFILE
db_name dispatchers:不能使用SPFILE修改
1 建立PFILE 2 手工編輯PFILE修改引數 3 重新啟動例程(指定PFILE) 4 建立SPFILE |
啟動和關閉:SYSDBA或者SYSOPER身份
STARTUP選項:
1 NOMOUNT:啟動例程
2 MOUNT:啟動例程 裝載資料庫
3 OPEN(預設):啟動例程 裝載資料庫 開啟資料庫
4 FORCE:強制重新啟動(SHUTDOWN ABORT STARTUP OPEN)
STARTUP或者SHUTDOWN:確保已經啟動例程服務(OracleServicems)
1 確定當前例程正在使用的引數檔案 2 修改初始化引數timed_statistics的值為FALSE(SPFILE) 3 使用SHUTDOWN IMMEDIATE命令關閉資料庫 4 使用STARTUP啟動例程並開啟資料庫 5 檢查引數timed_statistics的值 6 建立PFILE檔案inittemp.ora 7 依據inittemp.ora建立SPFILE檔案spfileaa.ora |
SHUTDOWN:
NORMAL(預設):等待所有客戶應用斷開連線
TRANSACTIONAL:不會等待斷開連線 等待事務結束
IMMEDIATE:不會等待事務結束(自動回退未提交事務)
--發出檢查點
ABORT:快速終止例程和資料庫--不會發出檢查點(自動例程恢復)
--防止物理檔案損壞
動態效能檢視:顯示例程的相關資訊(特權使用者和DBA使用者)
靜態初始化引數:指只能透過修改引數檔案進行修改的引數
動態初始化引數:指在資料庫執行時可以動態修改的引數
ALTER SESSION:只對當前會話生效
ALTER SYSTEM:對所有會話都生效
ALTER SYSTEM(9i預設):修改記憶體和SPFILE
ALTER SYSTEM ..DEFERRED:只對將來會話生效
終止會話:終止阻塞會話
1 以SYS使用者建立會話一,以SCOTT使用者建立會話二 2 在會話二中更新僱員7788的工資為1000 3 在會話一中使用SHUTDOWN TRANSACTIONAL關閉例程? 4 在會話二中提交事務,然後在會話一中檢查例程是否已經關閉 5 啟動例程並開啟資料庫,然後顯示資料庫所有物理檔案 6 顯示例程名及其狀態 7 顯示資料庫名及日誌操作模式 8 修改當前會話的日期格式YYYY/MM/DD,然後顯示當前系統日期 |
建立資料庫:
1 OS使用者:ORA_DBA組
2 特權使用者:SYSDBA身份
3 UNIX共享記憶體區>2*SGA
修改字符集:只能在同民族的字符集之間進行修改(ZHS16GBK--ZHS16..)
WE8ISO..
ORACLE_SID:設定例程識別符號
ORACLE_BASE:軟體基目錄
ORA_NLS33(指定字符集):使用除US7ASCII之外的其它字符集
NLS_LANG=語言_地區.字符集
在Windows平臺上建立資料庫:
1 建立例程服務(確定例程名 特權使用者口令)
2 準備SPFILE:
基於預設例程建立PFILE檔案
編輯PFILE檔案
db_name=instance_name
control_files db_block_size
undo_tablespace
background_dump_dest:指定ALERT檔案和後臺程式跟蹤檔案所在目錄
user_dump_dest: 指定使用者程式跟蹤檔案所在目錄
建立SPFILE
3 啟動例程
4 建立資料庫
5 安裝資料字典 PL/SQL包和PROFILE
6 配置網路
1 建立例程服務(例程名:DEMO) 2 建立SPFILE檔案spfiledemo.ora,引數設定: db_name=demo instance_name=demo db_block_size=2048 control_files=c:democontrol01.ctl background_dump_dest=c:demobdump user_dump_dest=c:demoudump undo_tablespace=undotbs1 3 建立資料夾demo udump bdump |
三 啟動例程(以SYSDBA身份登入)
四 建立資料庫
出錯處理:
1 語法錯誤:編輯SQL指令碼
2 要建立的檔案已經存在(SHUTDOWN 刪除已建立的所有檔案
STARTUP NOMOUNT 重新建立)
1 登入到DEMO例程,並啟動該例程 set oracle_sid=demo 2 查詢V$INSTANCE確定例程名及其狀態 3 建立DEMO資料庫 日誌組一: c:demoredo1a.log SIZE 10M 日誌組二: c:demoredo2a.log SIZE 10M SYSTEM表空間資料檔案:c:demosystem01.dbf SIZE 150M 預設臨時表空間:TEMP(臨時檔案:c:demotemp.dbf SIZE 20M) UNDO表空間:undotbs1(資料檔案:c:demoundotbs1.dbf SIZE 30M) SYS口令:admin SYSTEM口令:manager 字符集:ZHS16GBK 4 查詢V$INSTANCE確定例程狀態
5 安裝資料字典 PL/SQL包和PROFILE 安裝以前檢查: SELECT instance_name,status FROM v$instance; 安裝資料字典:catalog.sql(必須以SYS使用者執行) @%oracle_home%rdbmsadmincatalog 安裝PL/SQL包:catproc.sql(必須以SYS使用者執行) @%oracle_home%rdbmsadmincatproc 安裝PROFILE:pupbld.sql(必須以SYSTEM使用者執行) @%oracle_home%sqlplusadminpupbld |
6 配置網路
配置監聽程式:
配置資料庫服務 重新啟動監聽程式
配置網路服務名
1 配置監聽程式(增加DEMO資料庫),然後重新啟動監聽程式 2 配置網路服務名DEMO 3 以SYS使用者使用不同網路服務名分別連線到MS和DEMO 資料庫,並查詢V$INSTANCE確定例程名 |
資料字典:Oracle系統的最重要組成部分
--存放著資料庫的系統資訊
資料字典存放位置:SYSTEM表空間
資料字典所有者:SYS使用者
SELECT
SYS.AUD$:內容可以被刪除(DELETE)
資料字典組成:
資料字典基表:存放著基本資訊(..$)--建立資料庫時自動
建立(sql.bsq)
資料字典檢視:基於基表所建立的檢視(catalog.sql)
--取得資料庫系統資訊
資料字典檢視分類:
USER_XXX:當前使用者所擁有的物件
ALL_XXX:當前使用者可訪問的所有物件
DBA_XXX:資料庫的所有物件
1 USER_XXX ALL_XXX:所有使用者可以直接訪問
2 DBA_XXX:DBA角色或者SELECT_CATALOG_ROLE角色
DICT:顯示當前使用者可訪問的所有資料字典和動態效能檢視
DICT_COLUMNS:顯示字典列的作用
DBA_SEGMENTS:顯示資料庫所有段的詳細資訊
DBA_DATA_FILES:顯示所有資料檔案的詳細資訊
DBA_TABLESPACES:顯示錶空間的詳細資訊
1 以SYSTEM使用者登入到MS資料庫,顯示DBA_TABLES列 table_name和owner的作用 2 查詢資料字典顯示SCOTT使用者的所有索引及惟一性 DBA_INDEXES 3 顯示資料庫的所有使用者以及預設表空間(DBA_USERS) 4 查詢DBA_SEGMENTS顯示SCOTT使用者EMP段所在的表空間 段型別及尺寸 5 顯示當前資料庫的所有表空間名 6 顯示錶空間SYSTEM所包含的資料檔案及尺寸(dba_data_files) |
控制檔案:用於維護和記錄資料庫的物理結構
V$XXX:SGA和控制檔案(物理結構相關)
V$DATABASE V$DATAFILE等
多元化控制檔案:防止控制檔案損壞
--分佈控制檔案到不同磁碟
1 修改初始化引數control_files 2 關閉資料庫 3 複製控制檔案(關閉之後複製) 4 重新啟動資料庫 |
V$CONTROLFILE:顯示資料庫包含的所有控制檔案
V$CONTROLFILE_RECORD_SECTION:顯示控制檔案所記載
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/35489/viewspace-84368/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Oracle Application TrainingOracleAPPAI
- Taught Oracle database OCP training courseOracleDatabaseAI
- Notes of Oracle 11.2 Dataguard setupOracle
- Oracle Agile PLM Bootcamp training(Hands-on)OraclebootAI
- Oracle Internals Notes : Controlfile DumpsOracle
- zt_Notes for Oracle Database PSU/CPUOracleDatabase
- Mongodb NotesMongoDB
- Typora Notes
- ACM notesACM
- recovery training articleAI
- Important Notes on Oracle Enterprise Manager Grid ControlImportOracle
- WireGuard Use Notes
- NX11 TrainingAI
- online trainingAI
- Training - Problem and Change ManagementAI
- SAP outsource training courseAI
- Crystal report trainingAI
- Spring Training 5SpringAI
- c++stl notesC++
- Linux配置notesLinux
- BlockRecover Restrictions and Usage NotesBloCREST
- Make notes for disaster recoveryAST
- Thinking in java notesThinkingJava
- Oracle EBS R12 4 days Techinical Training (EBS DBA/OAF) 結束OracleAI
- Index of system requirements for Notes, Domino, Domino Administrator, Domino Designer & Notes TravelIndexUIREM
- Notes與Office的介面
- Recommendation Systems Basic Notes
- Reinforcement Learning Basic Notes
- Redis Reading NotesRedis
- Based UE_Project NotesProject
- SAP MM (Material Management) Training TutorialAI
- Making training mini-batchesAIBAT
- Agile PLM 9.3 BootCamp Training - ShanghaibootAI
- Intermediate Crystal Reports XI TrainingAI
- R language notes | pipes: chainingAI
- D3 JS study notesJS
- Notes about Vue Style GuideVueGUIIDE
- Android Weekly Notes Issue #255Android