沒有了周末,沒有了奧運,只剩下甲骨了
投入了這么多時間也該有所回報,故寫下此文
開始,不用想也知道是有關(guān)Oracle的基本結(jié)構(gòu),這東東但凡有跟Oracle的相關(guān)書籍都有介紹,再加上由于本人看書有那種兩天打魚三條曬網(wǎng)的習(xí)慣,所以比較的熟悉,基本上稍微的聽了下
體系結(jié)構(gòu)包括:物理結(jié)構(gòu)的幾個文件,SGA和進程(window為多線程)
物理結(jié)構(gòu)包括:ADMIN、ORACLE HOME及ORADATA等
admin目錄下主要保存參數(shù)及其相應(yīng)的日志,其中主要的日志是alert.log,一般的Oracle出現(xiàn)的問題這里都可以發(fā)現(xiàn)
oracle home 主要提供二進制文件,可執(zhí)行程序,網(wǎng)絡(luò)文件,nls文件等
oradata 提供數(shù)據(jù) 日志 控制 參數(shù)文件
其中如果數(shù)據(jù)庫奔潰,只要有數(shù)據(jù) 日志 控制文件即可馬上恢復(fù)
日志文件 記錄每次操作修改,采用循環(huán)使用分區(qū)機制
控制文件協(xié)調(diào)兩者同步
數(shù)據(jù)文件scn號<日志文件scn號
邏輯結(jié)構(gòu)
一個數(shù)據(jù)庫服務(wù)可以有多個數(shù)據(jù)庫實例
實例=一組進程+內(nèi)存
進程
共享數(shù)據(jù)庫與專用數(shù)據(jù)庫
專用數(shù)據(jù)庫用于一對一系統(tǒng),事務(wù)性要求比較高,主要應(yīng)用于實時系統(tǒng)
共享數(shù)據(jù)庫通過調(diào)度器為每個用戶進程分配服務(wù)進程
還有一堆的后臺進程就沒怎么記了
然后介紹了些處理sql語句的階段,分析執(zhí)行返回
到這里基本上把oracle的基礎(chǔ)結(jié)構(gòu)介紹了下
下面部分介紹了系統(tǒng)開發(fā)過程的通用開發(fā)周期
主要考慮以下幾個方面:大數(shù)據(jù)量(分區(qū) 一般一個分區(qū)300M),層次(數(shù)據(jù)倉庫維度的概念),索引,表冗余
主要通過業(yè)務(wù)分析和聚類分析
我這次第一次聽說聚類分析呵~~~
即根據(jù)業(yè)務(wù)的特性把相似功能的維度分析出來,好像還挺拗口的,其實很簡單,比如,電信計費業(yè)務(wù),可以通過月份,不過今天培訓(xùn)上提出了,2.7億條數(shù)據(jù),按用戶號碼/1000這樣每個區(qū)就約等于300M提高處理效率
處理分區(qū)語句示例:
Create Table t(owner, object_name, subobject_name, object_id, data_object_id, object_type, created,
last_ddl_time, timestamp, status, temporary, generated, secondary)
Partition By Range(object_id)
(Partition p_3000 Values Less Than(3000) Tablespace users,
Partition p_6000 Values Less than(6000) Tablespace users,
Partition p_9000 Values Less Than(9000) Tablespace users,
Partition p_12000 Values Less Than(12000) Tablespace users,
Partition p_15000 Values Less Than(15000) Tablespace users,
Partition p_18000 Values Less Than(18000) Tablespace users,
Partition p_21000 Values Less Than(21000) Tablespace users,
Partition p_24000 Values Less Than(24000) Tablespace users,
Partition p_27000 Values Less Than(27000) Tablespace users,
Partition p_others Values Less Than(Maxvalue) Tablespace users
)
As
Select owner, object_name, subobject_name, object_id, data_object_id, object_type, created,
last_ddl_time, timestamp, status, temporary, generated, secondary
From dba_objects;
Create Table t(owner, object_name, subobject_name, object_id, data_object_id, object_type, created,
last_ddl_time, timestamp, status, temporary, generated, secondary)
Partition By list(OWNER)
(Partition p_1 Values ('HR','SCOTT') Tablespace users,
Partition p_2 Values ('MDSYS') Tablespace users,
Partition p_3 Values ('SH','SYS') Tablespace users,
Partition p_4 Values ('OE','OLAPSYS','SYSTEM') Tablespace users,
Partition p_5 Values ('ODM','ODM_MTR') Tablespace users,
Partition p_6 Values ('QS','QS_CS','QS_ES','QS_OS','QS_WS','WKSYS','WMSYS') Tablespace users,
Partition p_7 Values ('PM','PUBLIC') Tablespace users,
Partition p_8 Values (DEFAULT) Tablespace users
)
As
Select owner, object_name, subobject_name, object_id, data_object_id, object_type, created,
last_ddl_time, timestamp, status, temporary, generated, secondary
From dba_objects;
累了,今天就寫到這!