尚觀-項老師-OCP-23節-筆記

maibocity發表於2016-08-25


中介軟體可以停?

natelink賬號?
文件oracle官方文件

DML語句
某大師的oracle的體系結構
語法-DBA優化-SQL語句的執行計劃
變數塊(體系結構、資料管理、備份恢復、資料優化,四節點併發的rock搭建?,rock的catch feel?)
aman備份資料 epot資料
OLTB  OLAB
幾億行大表是歷史表還是基表?
export備份?
backup datebase為什麼?
————————1.1 硬體需求——————————————
pc server
現在oracle rock以後ptserver 散儲存? rock
1、oracle最消耗記憶體,其次是CPU,對主頻要求不高,但對core要求高,disk IO和網路IO,光纖儲存,光纖盤?
2、備份庫,最好用光纖介面磁碟
1、網路備份藥單獨網路卡?一個伺服器可能有4個網路卡,專用網路卡有專用通道
2、伺服器穩定性
3、相容性問題:IBM裝ace?HP裝LUNIX?去oracle網站找lunix版本相容,sicos公司的linux
————————1.2 軟體安裝——————————————————
1、oracle資料遷移,版本
2、linux測試IO?用DD測試最大吞吐量?,
3、oracle對磁碟的訪問是隨機的、小資料量、大併發量的訪問,,matelink有一個測試diskIO工具
4、裝linux注意,不用的記憶體資料轉到swap空間=pageout,用的時候pagein?記憶體速度7g,swap/記憶體>2.5,防治記憶體洩露耗盡
   4.1 padingout多,記憶體置換機制共存
   4.2 padingin多,置換記憶體是活動記憶體,不是閒的,
   4.2.1 ex,swap空間的使用情況,計算性和檔案性資料?
5、oracle核心用c寫的,rdms是c寫的
6、oracle裝完,(第一時間打補丁,補丁集readmean),然後建庫,peibei EM
7、升級庫時一定謹慎(aman備份/冷備?)
8、導資料export——效能優化設定——壓力測試(自己寫指令碼或者用測試工具)——上線調整
9、HA環境,機群環境
10、配置引數
11、備份恢復,庫的歸檔位置(最好不要放本地(對disk消耗很大),TSM帶庫一份,不要放在陣列(儲存)上,最好做nus上做一個網路卡)
12,完美的備份方案,使恢復簡單
——————————1.3 Oracle產品(2大產品)——————————————————————
1、database按使用者買資料庫/1萬?按CPU買資料庫/30萬?
2、services 1.4萬/天
———————————1.4 資料重點———————————————————————————
1、重點研究select(重點多表查詢、子查詢(特別是相關子查詢)),研究如何關聯:hashjoin、巢狀、hotmoj?
2、關係型資料庫解決大量資料冗餘問題,和資料同步問題
3、增加資料冗餘-破壞正規化-提高資料-對同步負責;寫trigger(工作人員做審計的)是不行得
   3.1 因為關聯變多了,就會慢
   3.2 DBA先研究ER圖,在研究使用者需要哪些列
4、SQL語句:Query/DML/DDL/import/commitrollback
———————————1.5 DBA任務—————————————————————
1、評估資料硬體
2、安裝軟體
3、規劃/建立/備份/
4、部署系統使用者(國外DBA和system是兩個人)
5、資料庫設計/恢復/
6、改資料,開發、監控跑指令碼、OLTB的資料導到資料倉儲裡

————————————1.6安裝————————————————————————
企業版和標準版區別:partition元件?
裝庫的時候建議檔案系統、ASM和裸裝置都建一個庫
=========================PLSQL============================================
1、nolog走?,sqlplus+name+pwd走export的sid;加@的話走tnsnames,通過tnsnames解析
2、select * 為什麼會導致效能低下
3、排序在PGA
4、排他鎖,共享鎖,表級鎖/事務鎖是在記憶體,行級鎖在物理儲存頭部加鎖標記,PGA裡沒有鎖,SGA裡有
5、儘快提交事務
6、insert select snap shoot too old  155錯誤undo表空間的工作機制??
7、select  完了要鎖住(for update)
8、nomount階段載入引數格式化起程式
9、根據SN號判斷介質恢復還是例項恢復
10、shut down的時候不要ctl+c。shutsown abort時冷備資料庫無法恢復
========================表和索引的分割槽=====物件===================================
1、叢集因子
2、複合索引不合適的情況;hash分割槽是均分
3、insert的時候採用的分散塊的方式,避免產生大量的事務槽徵用,還要使用段的自動管理
4、產生嚴重段頭徵用的時候,採用分割槽段,採用雜湊分割槽
5、insert產生的undo表較少,delete產生的undo表較大
6、truncate是DDL語句
7、索引只能匯出ddl語句
------------------------20161114--索引------------------
1、連結表的三種(巢狀迴圈、hash、排序合併sort merge)
2、列不同值的個數小,用於bool運算的時候用點陣圖索引
3、索引的屬性(反向鍵、壓縮、複合)
------------------20161114---3.4資料字典和動態檢視--------
0、資料字典檢視和動態效能檢視
1、資料字典檢視:字首DBA_、USER_、ALL_
2、動態檢視:根據例項填充v$instance、v$sysstat,在nomount狀態下也可用;根據控制檔案填充的v$database,v$datafile載入才能查詢,
3、檢視上的同義詞?
4、記憶體/例項資料庫/磁碟/目錄類的檢視?
========================資料庫的安全,全球化=================================
1、固定長度的字符集不能作為資料庫的字符集,UST,只能用UTF8或者AL16UTF16
2、國家字符集只能用Unicode
3、NS-Lang(chinese或者American)字符集和Oracle伺服器的字符集的關係,系統(我→‘16GBK+167’)→oracle(‘UTF8+1311’)
4、UTF8是16gbk的超集?
5、export字符集原理?
===============================體系結構========================
1、控制檔案:資料庫的物理結構,資料庫的歸檔歷史資訊,各個資料檔案的SCN號和checkpoint,rman後設資料
2、redo log:保證資料檔案+髒塊的一致性,,unused,activity,inactive(不能丟,必須順利退出),currante(馬上崩潰)
3、區/塊/段:區是給段空間的時候,能一次給多個塊。段使用的最後一個地址叫水位線?大概懂了,或者類似欄位?
4、例項=快取+程式?程式就是人,快取就是箱子?
5、解析SQL語句的過程
6、資料字典:資料空間裡儲存資料字典和生產資料
7、記憶體命中率
==========================資料庫的管理========================
1、表空間的管理:用local,不用字典
2、EM中,表空間的區分配、段的管理
3、temp是每隔session獨立使用的,不能共享=PGA的swap區
4、create user時的profile,還有外部驗證和全域性驗證,概要檔案(profile,MTS專享伺服器時用SGA,指定為idle time)
5、user有schema,schema下有object
6、connect角色下的許可權,resource下的許可權
============================資料庫的網路==================
1、B/S用專有伺服器,C/S用共享伺服器
2、動態註冊可以將session資訊註冊進來,可以有ready提示
3、共享伺服器:很多PGA的資訊放到SGA,共享shared_servers的數量,dispatcher將請求註冊到listener裡面,不僅sid_name
4、v$circuit    v$shared_server   v$dispatcher    v$shared_server_monitor   v$queue佇列資訊
5、rac:爽監聽,vip,兩個例項掛同一個庫,兩個private之間千兆網,不僅能HA還能負載均衡,可以實現select語句的遷移,其他dml不行
6、HA:老大和老二之間的心跳線,會飄vip
========================效能監控============================
1、要能看懂執行計劃
2、資料字典包括ora_,user_,dba_;優化統計資訊在sys_aux表空間裡
3、索引失效是因為rowid發生變化,rman的時候有可能index失效
4、sql語句的所有路徑通過RBO篩選。CBO篩選資源消耗 最少的路徑,是依賴統計資訊的
5、資料庫的統計資訊對執行計劃非常重要 dbms_stats  gather_database_stats(取樣包)
6、資料發生傾斜是要建直方圖
7、手冊reference package and types.DBMS_STATS.gather_table_stats
8、snapshoot too old的告警,如何解決?
=========================記憶體管理====================================
1、RMAN備份的時候用large pool
2、可以加網路卡裝們家archinve?
3、SGA和PGA的管理
4、SGA自動管理的值是儲存到spfile的
5、E40402-18是database reference包括四部分?
6、時間統計模型?和等待事件進行優化???
7、初始化引數的SGA_target=0是預設的,非0是非零值
8、PGA是session,取資料排資料和hashjion資料
===========================資源管理========================
1、JDBC程式碼
2、14個資源管理組,8個計劃,就是CPU的各種條件下的分配比例等6個分配方法,8個計劃是不是要搞懂?
3、pl/sql資源管理器的兩個包
4、user和group的關係
============================自動化=========================
1、metric exeeds threshold?
2、有狀態報警(表空間使用、hung,sql時間)和無狀態報警(快照過久和死鎖)
3、學會EM和PL/SQL查詢和編輯閾值,已經通知方法
4、dba_outstanding_alters,由MMON引發
5、AWR(automatic workload repository)是策略,ADDM的報告,MTTR平均啟動時間
6、閾值(metric),基線database line,
7、ADDM有5種顧問?
8、什麼時候需要UNDO?
9、CR塊=當前塊+讀取塊?最多有6個,多了會覆蓋
10、快照太舊-增加undo表空間的大小,提交大的事務
----------------17PPT----------8.4監視和解決鎖衝突----------------------
1、序列化,死鎖踢人機制,行級鎖表級鎖
2、exclusive(排它鎖):只有roll back和commit只有才解除,允許度訪問
3、行級DML語句獲取該行排它鎖和表的共享鎖,行級鎖唯一,其他會話掛起
4、DDL獲取物件上的排它鎖
5、select  for update skip wait(60)
6、ADR知識庫和管理ADR知識庫的工具ADRCI,它的實現是:軟體和支援-support workbench
----------------------------------收集統計資訊----------
1、自動通過DBMS_STATS,手動通過gather_stats_job?(gather各種)
2、收集的工具?statspack.snap   spauto.sql   spreport.sql
3、頂級活動-出報告?
=====================排程程式-自動作業===============================
0、server-scheduler-program
1、排程程式的物件create job有4種型別;create program;create schedule;create jobclass;create window
2、之間的歸屬關係
3、資源計劃-視窗組-作業-程式  的區別?

========9==flash back database===19章 閃回資料=======053.11-12============
0、塊級別:閃回資料庫,
1、3種技術,1.1 flashback database       ——逆操作(delete<>insert)寫到閃回區,需要閃回日誌
     1.2 flashback查詢(事務和表等)——undo
     1.3 flashback delete         ——rename
2、閃回查詢,閃回刪除,閃回資料歸檔。
3、3種閃回查詢依賴於undo段
4、分sqlplus閃回和rman閃回和em閃回
5、已提交,rollback不行了,用undo表空間裡的東西
------------------------塊損壞--RMAN-------------------------------------
0、ora-01578,塊錯誤
1、容錯快繼續rman備份rman>run{set maxcorrupt for datafle 7 to 100;backup datafile 7}
2、2.1 ※dbvirify  utility主動監測工具,將壞塊寫入cor list中;
   2.2 analyze命令
   2.3 引數DB_block_checking,物理讀的時候進行奇偶校驗
3、※block recover命令(BMR):block recover datafile 7 block 5
      :blockrecover corruption list restore until time ''將列表中所有壞塊恢復
4、修復包:dbms_repair包
5、很簡單:如何將壞塊放進檢視v$database_block_corruption
6、介質損壞不是物理損壞,是資料塊的邏輯損壞
=========================資料庫的安全=================================
0、3A,認證()/授權(author)/審計(account)
1、雙引號避開保留字和特殊字元
2、2+2+1種驗證方法
  2.1 口令檔案&作業系統檔案;資料庫可以不用開啟,授予許可權時,使用者口令從資料字典轉到外部口令檔案。口令檔案藥連到遠端資料庫
  2.2 口令身份AES,外部身份要有advanced security
  2.3 LDAP全域性驗證
3、系統許可權的撤銷不會級聯,撤銷物件會
4、配置檔案=概要檔案profile(裡面有密碼策略)
5、最小許可權
   5.1 收回public中執行UTL包的許可權(訪問所有檔案、開啟TCP埠、收發電子郵件和HTTP資訊)的許可權
   5.2 例項引數:
      5.2.1 utl_file_dir約束包的適用範圍;
      5.2.2 remote_os_authent控制外部身份驗證
      5.2.3 O7_dictionary_accessibilty(限制select any許可權,限制sys下的物件)等四個引數
6、審計audit_trail=db寫入資料字典表;
   FGA
   as dba登入要強制審計
-------------------------網路----20161127-------ppt12---------
0、listen.ora  或者TNSname.ora一般這兩個出問題
1、專有伺服器程式和共享程式池的區別?
2、使用者程式生成sql語句,伺服器程式執行sql語句
3、sql語句執行的4個階段,分析可執行部分,繫結引數,執行更新快取資料,取出結果
4、顧客通過選單(oracle net)與服務員互動,服務員廚房互動,廚房通過訂單與廚師互動?
5、@oracle11包含1偵聽器的IP地址,2埠,3例項的名稱(rac上3是服務包括多個例項)
6、listen偵聽 定的飯例項能不能做(偵聽和例項在同一臺計算機上)
7、local_listener告訴例項listener的網路地址;
8、!!!!33類引數(共n種最好應該都調出來看看)
9、解析名稱
   9.1 easy connect IP地址:埠號/例項名
   9.2 本地命名:description服務別名=IP地址:埠號/例項名
   9.3 LDAP目錄訪問伺服器
10、sqlnet其實就是net manager的profile,包含變數路徑
11、資料庫之間的連結
!!  TNSping能通,資料庫連不上,說明例項沒有註冊到監聽上,其listener看一下狀態
======================備份與恢復=============ppt18=====================
0、3個標準,MTBF(平均無故障時間),MTTR和資料丟失
1、rac、流和data guard
2、resumable_timeout引數決定恢復空間配額?
3.commit被內建到ddl語句中?
4、例項失敗的結果都與shutdown abort的結果相同,具體講解呢?已被寫入事務檔案但未提交,已提交但未寫入資料檔案
5、例項恢復的機制:未提交前-前滾-重做緩衝區?  已提交?
6、日誌切換-強制歸檔alter system switch logfile
----------------------備份------ppt19--20161203---------------------------
1、不要冷備redolog,不然恢復後不會跑日誌  ???
2、邏輯備份要open+silence?
3、三種RMAN技術(影像備份,備份集、壓縮備份)完了以後會奇偶偶校驗
4、RMAN多通道備份,預設會話/輪訓會話/通道,
5、channel指記憶體通道吧?分兩種(磁碟和SBT)
6、list/report/delete和crosscheck命令。和根據動態效能檢視開發報告
6、rman>show all=備份通道數/啟用優化功能/備份數?
7、帶庫???
8、控制檔案三種情況需要備份1rman備份  2物理結構發生改變自動備份 3手動備份open reset log
9、rman呼叫recover.bsq命令檔案再呼叫DBMS_RCVMAN(讀取控制檔案資訊、time和校驗檔案頭)、DBMS_BACKUP_RESTORE(備份資訊)兩個包








OCM 能講30多天




相關文章