enmo_day_02
Secure CRT, putty, 等終端工具
DML :u, d, i, m 增,刪,改,合并
DDL :
DCL :
DQL :
數(shù)據(jù)字典 :存放在數(shù)據(jù)文件中,SYSTEM表空間里,紀(jì)錄數(shù)據(jù)的變化。
邏輯數(shù)據(jù)庫(kù)結(jié)構(gòu)
表空間tablespace :每個(gè)表空間由一個(gè)或多個(gè)數(shù)據(jù)庫(kù)文件組成
段 segment:數(shù)據(jù)段,索引段,回退段,臨時(shí)段
區(qū) extent:磁盤空間分配的最小單位,存儲(chǔ)于段中,由連續(xù)的數(shù)據(jù)快組成。
數(shù)據(jù)塊block :數(shù)據(jù)庫(kù)中最小的數(shù)據(jù)組織單位與管理單位,其大小有DB_BLOCK_SIZE參數(shù)決定,不同Oracle版本DB_BLOCK_SIZE的默認(rèn)值不同
模式對(duì)象:表,聚簇,視圖,索引序列生成器,同義詞,哈西,程序單元,數(shù)據(jù)庫(kù)鏈等
方案schema : 用戶名,權(quán)限,數(shù)據(jù)結(jié)構(gòu)等。
物理數(shù)據(jù)庫(kù)結(jié)構(gòu)
數(shù)據(jù)文件 :用戶數(shù)據(jù)(用戶表,DML語(yǔ)句可調(diào)整),數(shù)據(jù)字典數(shù)據(jù)
控制文件 :DB信息,日志序列號(hào),歸檔信息,RMAN備份信息, 最后一次同步的SCN信息。大小一半不變。
eg : show parameter control
為保護(hù)控制文件使用多路復(fù)用的方法,同時(shí)使用多個(gè)控制文件,將其分開存放在不同的磁盤上。
日志文件 :按照時(shí)間順序紀(jì)錄數(shù)據(jù)的改變,大小不變,順序?qū)懭耄h(huán)覆寫,至少兩組日志,日志成員冗余。
參數(shù)文件 : 紀(jì)錄定制的數(shù)據(jù)參數(shù),定義數(shù)據(jù)實(shí)例的屬性,
eg :
show parameter spfile;
alter system set processes=300 scope=spfile;
口令文件 :
歸檔日志文件 :重做日志歷史,長(zhǎng)期保存日志以便恢復(fù),個(gè)數(shù)=當(dāng)前日志數(shù)-1, 大小<=在線日志文件大小,命名唯一
database buffer cache數(shù)據(jù)高速緩存區(qū) :緩存數(shù)據(jù)文件的讀取
redo log buffer重做日志緩存區(qū) :緩存重做日志的寫入
shared pool : library cache, data dictionary cache
shared pool : library cache(存放執(zhí)行計(jì)劃), data dictionary cache
內(nèi)存分配單位 :
SGA_TARGET :
eg :
show parameter sga_
MEMORY_TARGET :
eg :
show parameter memory_
程序全局區(qū)
大池 :
java池 :
進(jìn)程結(jié)構(gòu):用戶進(jìn)程,服務(wù)器進(jìn)程,后臺(tái)進(jìn)程
DBWn數(shù)據(jù)庫(kù)寫進(jìn)程 (n表示多個(gè))發(fā)生的條件:
發(fā)生檢查點(diǎn)checkpoint
臟緩存達(dá)到限制
無(wú)自由緩存
超時(shí)發(fā)生
表空間離線,只讀
表被刪除或截?cái)?/p>
熱備份表空間開始動(dòng)作
eg :
commit;
rollback;
conn hr/hr
create table test (id number)
insert into test values(1);
select * from test;
quit(正常退出(quit),自動(dòng)執(zhí)行commit操作,異常退出(rollback),自動(dòng)執(zhí)行rollback操作)
select * from test;(有結(jié)果)
打開寧一個(gè)終端,連接進(jìn)hr
conn hr/hr
select * from test;(無(wú)結(jié)果)
insert into test values(2);
LGWR(日志寫進(jìn)程)寫的條件:
commit時(shí)
達(dá)到三分之一滿
日志的大小到1M
每個(gè)三秒
在DBWn進(jìn)程寫之前
eg :
note :
臟數(shù)據(jù)(內(nèi)存中和數(shù)據(jù)文件中不一樣的數(shù)據(jù),內(nèi)存中數(shù)據(jù)改動(dòng)了)
空閑狀態(tài) :
干凈數(shù)據(jù)(內(nèi)存中和數(shù)據(jù)中一樣的數(shù)據(jù))
ping住(你改了,別人改不了了)
操作系統(tǒng)塊 :
SYSTEM表空間是在數(shù)據(jù)庫(kù)創(chuàng)建或安裝時(shí)zidong創(chuàng)建的,用于存儲(chǔ)系統(tǒng)的數(shù)據(jù)字典表,程序系統(tǒng)單元,過(guò)程函數(shù),包和觸發(fā)器等,也可用于存儲(chǔ)用戶數(shù)據(jù)表,索引對(duì)象。
eg :
desc dba_extends;
select * from dba_extends where rownum<2;
desc dba_segments;
select * from dab_segments where
create tablespace jilili datafile ‘u01/app/oracle/oradata/ENMOEDU/jilili01.dbf size 10m; :創(chuàng)建表空間
create table test (id number); : 創(chuàng)建段(表)默認(rèn)表空間
drop table test purge;
create table test (id number) tablespace jilili; : 創(chuàng)建表并制定表空間
insert into test values (1);
desc dba_extends;
select * from dba_extends where segment_name=‘TEST’;
v$instance : v$開頭表示oracle自己的動(dòng)態(tài)性能視圖。
select * from v$instance;
dba_users : 所有dba_,你權(quán)限下的all_, 你自己的user_開頭表示, 權(quán)限不同
select * from dba_users;
select tablespace_name from dba_tablespaces;
SYSTEM, SYSAUX, UNDOTBS1, TEMP, USERS, EXAMPLE,
自動(dòng)內(nèi)存管理的配置和使用方法 :
eg :
show parameter pga_agg
show parameter size
show parameter sga
show parameter shared
show parameter pool
show parameter memory
show parameter cache
show parameter log_buffer
commit為什么不會(huì)寫出臟數(shù)據(jù)?
commit只能觸發(fā)LGWR的寫進(jìn)程,
批量提交(按需提交) VS 頻繁提交?
Oracle提倡按需提交
undo表空間tablespace存放數(shù)據(jù)塊前鏡像。
insert
select
讀寫分開
SCN系統(tǒng)改變號(hào) : Oracle內(nèi)部的時(shí)鐘
不提交會(huì)導(dǎo)致undo表空間過(guò)大
系統(tǒng)監(jiān)控進(jìn)程SMON :實(shí)例恢復(fù)(),釋放臨時(shí)表空間temp tablespace
進(jìn)程監(jiān)控進(jìn)程PMON : 清楚失敗進(jìn)程(回滾事務(wù),釋放鎖,釋放其他資源,重啟死掉的dispatchers, 動(dòng)態(tài)注冊(cè)監(jiān)聽器)
note : 監(jiān)聽器listener使用1521端口連接用戶進(jìn)程和服務(wù)器進(jìn)程(通過(guò)網(wǎng)絡(luò)訪問(wèn)服務(wù)器)
檢查點(diǎn)進(jìn)程CKPT(check point) : 給DBWn信號(hào),更新數(shù)據(jù)文件頭,跟新控制文件,協(xié)調(diào)DBWn和LGWR進(jìn)程,查看DBWn進(jìn)程寫到的臟塊,并記錄到控制文件中(ctl)
歸檔進(jìn)程ARCn : 可選的后臺(tái)進(jìn)程
完全檢查點(diǎn):把所有臟塊全部寫到數(shù)據(jù)文件中
增量檢查點(diǎn):根據(jù)鏈表把新的臟快寫到磁盤
注 :鏈表紀(jì)錄改變的塊
一致性關(guān)閉數(shù)據(jù)庫(kù):臟塊已經(jīng)寫到磁盤(數(shù)據(jù)文件)上,
手動(dòng)執(zhí)行check point :
非一致性關(guān)閉數(shù)據(jù)庫(kù) :臟塊沒有寫到磁盤(數(shù)據(jù)文件)上,只有shutdown abort.
shutdown normal : 正常關(guān)閉,關(guān)閉前退出所有會(huì)話
shutdown immediate :立即關(guān)閉,
shutdowntransactional :關(guān)閉前結(jié)束所有事物
shutdown abort :斷電關(guān)閉,
eg :
su - oracle
sqlplus / as sysdba
alter system checkpoint; : 刷新所有臟快(把臟塊寫到磁盤)
open cursor
語(yǔ)法檢查
語(yǔ)義檢查
將語(yǔ)句轉(zhuǎn)為hash值 (軟解析)
解析
執(zhí)行
獲取,返回結(jié)果
close cursor
綁定變量 :為了讓sql語(yǔ)句實(shí)現(xiàn)共享, 只能執(zhí)行全表掃描(更適合OLTP,不適合OLAP)
eg :
select * from test where id := x;
注:
游標(biāo)格式:
DECLARE 游標(biāo)名稱 CURSOR FOR SELECT 字段1,字段2,字段3,。。。FROM 表名 WHERE …
管理框架組建:
C/S :客戶端服務(wù)器端
B/S : 瀏覽器服務(wù)器端
OEM :oracle enterprise manager 企業(yè)管理器
emctl start dbconsole : 啟動(dòng)OEM
通過(guò)一個(gè)sql語(yǔ)句的執(zhí)行流程體現(xiàn)出整個(gè)體系結(jié)構(gòu)圖。
能畫出體系結(jié)構(gòu)圖
emca
emca -config dbcontrol db -repos recreate
lsnrctl start
sqlplus / as sysdba
先啟動(dòng)監(jiān)聽器,后啟動(dòng)數(shù)據(jù)庫(kù)
cd /u01/app/oracle/product/11.2.0/dbhome_1/sqlplus/admin
ls
vi glogin.sql
添加下面這行
SET SQLPROMPT “_USER’@‘_CONNECT_INDENTIFIER> ”
登陸瀏覽器:
用戶名:sys
密碼:oracle
create user user_name identified by pass_word :創(chuàng)建用戶
alter user user_name identified by new_password :修改密碼
工具:
sqlplus
SQL Developer
PL/SQL
desc v$instance;
select * from v$instance;
select INSTANCE_NAME, STATUS from v$instance;
set lines 200
column host_name format a10 : 規(guī)范特定列的長(zhǎng)度
col host_name for a10 : 省略形式
select THREAD# from v$instance;
col thread# for 999
set pagesize 300
eg :
select * from v$instane
define _EDITOR=vim
ed
重新編輯上面的任務(wù),保存
; :查看
/ : 執(zhí)行
!ls : 不用退出sqlplus 執(zhí)行操作系統(tǒng)命令
! : 跳到操作系統(tǒng)執(zhí)行命令,不用退出sqlplus
exit : 回到sqlplus
note : ! 作用等于host
在 .bash_profile里寫入 :
alias sqlplus =rwlrap sqlplus
alias rman=‘rlwrap rman’
可以實(shí)現(xiàn)滾動(dòng)查找命令紀(jì)錄
總結(jié)
以上是生活随笔為你收集整理的enmo_day_02的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
 
                            
                        - 上一篇: Oracle 关于身份证校验规则详细说明
- 下一篇: 新鲜出炉的JSON,拿走不谢!
