5.27日(rì)音(yīn)訊,Linux大(dà)師(shī)€λ筆(bǐ)記。Linux是(shì)一(yī)£♥種自(zì)由和(hé)開(kāi)放(fàng)源碼的(d≥∏¥e)類Unix操作(zuò)系統,存在著(zhe)許多(duō)不£±≤(bù)同的(de)Linux版本,但(dàn)它們都(d>Ωπ'ōu)使用(yòng)了(le)Linux內(nèi)± 核。學好(hǎo)它相(xiàng)信大(dà)家(↓↕jiā)的(de)方法也(yě)不(bù)同,但(dàn)一('→≤☆yī)些(xiē)常見(jiàn)的(de)命令如(rúλ€')果能(néng)夠及時(shí)掌握的(de)話(huà)±✔≠×,相(xiàng)信對(duì)學習(xíβ✔)大(dà)有(yǒu)好(hǎo)處的(de)。
1UserGroup
/etc/passwd:username:pass₩&wd:uid:gid::homedir:shell
密碼映射在/etc/shadow,一(Ω♥yī)個(gè)用(yòng)戶可(kě)屬于多(duō)個(gè)用(yδ∏γ☆òng)戶組,第五個(gè)字段為(wèi)用(yòng)戶名$ 全稱(可(kě)選)
/etc/group:groupname:passwd:gid÷β∑:userlist
用(yòng)戶列表可(kě)選,用(yòng)“,&r∞∞πdquo;分(fēn)割
2AddUser&Group
●修改文(wén)件(jiàn)
more/etc/passwd|greporac☆∏lecat/etc/group|grepuid
修改passwd,添加用(yòng)戶© &記錄,不(bù)能(néng)讓uid重複;
執行(xíng)pwconv,讓pasβ¶≤↓swd和(hé)shadow同步;
修改group添加組
運行(xíng)grpconv來(lái)同步grα☆oup和(hé)shadow同步;
創建用(yòng)戶家(jiā)目錄,把用(yòng)戶的(de±β)啓動文(wén)件(jiàn)也(yě)λ♣£π複制(zhì)進去(qù);另外(wài)還(hái)需要(yào©©>)把etc/skel目錄下(xià)的(de).*隐藏文(wén×>)件(jiàn)複制(zhì)過去(qù):cp-R/e§₩<✘tc/skel//home/user;
改變新增用(yòng)戶的(de)屬主和(hé)♠↔•權限:chown-Ruser:group/home/user;-φ£R:應用(yòng)到(dào)目錄中的(de≤☆ε)所有(yǒu)文(wén)件(jiàn)?
設置新增用(yòng)戶密碼:passwdusername
●通(tōng)過命令
1)mkgroupgroupname
2)groupadd
groupadd-guidgroupna₩₹'me
3)mkuser
mkduerpgrp=usernamehom≥→✘₩e=diractoryshell=/usr/bin/kshid=uidu∞<αsername
4)useradd
useradd-u1002-ggroupβ✔-Ggroup01-d/home/user-muser
useradd-d/opt/oracle-m-gdba-Goins™★tall-s/bin/bashoracle
用(yòng)戶的(de)缺省工(βλgōng)作(zuò)目錄是(shì)/home/username,可(kě)Ω以-d指定其他(tā)目錄為(wèi)其工(gōng)作(zuò)目≈δ錄;
用(yòng)戶的(de)缺省uid從(có© >☆ng)500後順序增加,可(kě)以-u指定uid;
不(bù)指定用(yòng)戶所屬的(de)組,會(huì)生& ↕≤(shēng)成一(yī)個(gè)與用(y♠♦↕òng)戶名同名的(de)工(gōng)作(zuò)組,也(yěΩ ™")可(kě)以通(tōng)過-g指定
5)ld、finge查看(kàn)用(y₩☆òng)戶信息
6)ls-dl$HOME顯示目錄的(de)屬主和(hé)屬組♥∏α™
7)Usermod
修改用(yòng)戶登錄名User♦§mod-lnewnameoldname;
修改用(yòng)戶目錄usermod-dnewd∑←δiruser;
添加用(yòng)戶到(dào)組usermod-ggroupuπ↔★ser;小(xiǎo)G大(dà)g的(de)區(qū)∑<别
8)Gpasswd
改變組成員(yuán),隻有(yǒu)root和(hé)組管理(σ©lǐ)員(yuán)有(yǒu)權限
添加:Gpasswd-ausergroup删♠₩±≈除:Gpasswd-dusergroup
9)Groupmod
修改組名:groupmod-noldnamenewname∑π₽≠
10)Rmuser-rusername
11)Userdel
删除用(yòng)戶,同時(shí)删除工(gōn¶€Ωg)作(zuò)目錄userdel-rfu↓∑ser
12)Rmgroup-rgroupname
13)Groupdel
3Linux常用(yòng)命令
壓縮解壓:
tar-cvf-file|gzip-cf>fi£$le.tar.gz
gzip-dcfile.tar.gz|tar-xvf-
gunzip直接解壓gz包
unzip(zip)直接解壓(縮)zip包
mvorigfiledestfile剪切源文 > (wén)件(jiàn)中內(nèi)容到(dào)目标文(wén)件(j§∞iàn)夾
find.-name"*.log&q∑↔εuot;|xargsrm
|awk'{print$2}'|xargskill-9或λδΩ|awk'{print"₽₩πkill-9",$2}'>¶δ
df-h;fdisk-l顯示磁盤空(kōng)間(jiān)
du–lh
du–sh*
Java-version
Version.sh平台版本
Uname-a機(jī)型或者oslevel
操作(zuò)系統版本的(de)檢查:
#cat/etc/SuSE-release
內(nèi)核版本的(de)檢查:
#uname-r
4環境變量設置
#echo$SHELL
bash:#vi.bash_prof✘$π∞ile#..bash_profile
shorksh:#vi.profile#..p✔∏×¶rofile
cshortcsh:#vi.login#source.login₽δδ.cshrc?
setenvvar=xxx;
exportvarxxx;
#echo$JAVA
#env|grepJAVA
shell類型不(bù)匹配,ln其他(tφφγπā)shell類型到(dào)當前--ln-ssrcdes± ≥c
腳本執行(xíng)bash:#./script;ks♠¶h:#shscript;bash->ksh?
==JAVA==
root用(yòng)戶上(shà☆γ™ng)傳(.bin,.rpm,壓縮包),設置要(yào)使用(yòng)用±≥↑(yòng)戶的(de)環境變量
exportJAVA_HOME=/opt/jdk1.₩←®6
exportJRE_HOME=/opt/jdk1.6/jre
exportCLASSPATH=$J®₹ AVA_HOME/lib:$JRE_HO ™☆ME/lib:.
exportPATH=$JAVA_HOME/bin:$JRE_HO∞β±σME/bin:$ORACLE_HOME/bin:.β♣:$PATH
==ORACLE==
補丁安裝-Ora軟件(jiàn)安裝-配置監聽(tīng)-升級Ora-®ε<•創建DB
exportORACLE_BASE=/opt/o ®racle/app/oracle
exportORACLE_HOME=$ORACLE_BASE/ ☆πproduct/11.2.0/dbhome_1
exportORACLE_SID=SID
exportPATH=$ORACLE_HOME/bi"π₹n:$PATH
5Oracle
1)Dbca創建數(shù)據庫(實例)
實例是(shì)“內(nèi)存”(SG&♦©×A)和(hé)“後台進程”(服務器(qì)進≈✘¶程、後台進程,從(cóng)屬進程)的(de)集 ∞合,每個(gè)進程都(dōu)會(huì)分(σ♥fēn)配內(nèi)部內(nèi)存(PGA內(nèi)存)來(lᥠ✔i)完成它的(de)任務
RAC(RealApplicationCluster)集群:✘★βΩ多(duō)個(gè)實例同時(shí)驅動一(™≥yī)個(gè)數(shù)據庫
2)$TNS_ADMIN指定配置文(wénπ<)件(jiàn)tnsnames.ora位置:$<↓∏↓ORACLE_HOME/network/adminσ ∑→
Tnsnames.ora存儲網絡服務名(設為(wèi)SIDnam ≠e,為(wèi)連接描述符的(de)别名)
文(wén)件(jiàn)結構:
Esbora=
(DISCRIPTION=
(ADDRESS=(PROTOCOL=TCP)(HOST=IP)(∏•PORT=1521))
(CONNECT_DATA=
(SERVER=DEDICATED)&₹
(SERVICE_NAME=esbora)
)
)
3)客戶端連接數(shù)據庫
連接字符串
網絡字符串
本機(jī)登錄不↑₩(bù)需要(yào)輸入@nsn
Sqlplussys/sysassy¶ ±>sdba或者sqlplus“/assysdba”
Sqlplus/holog無用(y® <òng)戶連接DB
@執行(xíng)指定目錄腳本
Disc斷開(kāi)連接
6Listener
1)Clinet--Listener--Servφ•♠er
2)Netca配置監聽(tīng)在服務器(qì)端
3)監聽(tīng)器(qì)配置文(wén)件(jiàn)$T✔→NS_ADMIN/listener.ora
文(wén)件(jiàn)結構:
LISTENER=監聽(tīng)器(qì•₹★×)名字,默認LISTENER
(DISCRIPTION_LIST∑ε=
(DISCRIPTION=
(ADDRESS=(PROTOCOL=TCP)(HOST←÷=IP)(PORT=1521))
(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPRO÷ αλC1521))
)
)
SID_LIST_LISTENER=
(SID_LIST=
(SID_DESC=
(SID_NAME=esbora)
(ORACLE_HOME=/opt/oracle/✔ app/oracle/OraHome_1 )
(PROGRAME=extproc)
)
)
4)Lsnrctlstart(ListenerName)不(bù)加名字 ∑§↓起默認監聽(tīng)
5)Lsnrctlstop
6)Lsnrctlstatus
7數(shù)據庫安裝
補丁安裝--Ora軟件(jiàn)安裝--配置監聽(tīng)--升級O₩§ra--創建DB順序?
●Display變量設置
Xmanager直接用(yòng)♠♦¥oracle用(yòng)戶登入
Root:xhostlocalhos&∏πt;xhost+開(kāi)放(fàng)所有(yǒu)
Oracle:
exportDISPLAY=localhost:1☆↔β.0
setenvDISPLAYlocal_host:0.0
echo$DISPLAY
xclock路(lù)徑/usr/X11R6/bin可(kě ™→)添加到(dào)環境變量中
●補丁安裝
安裝後再裝DB,要(yào)在補丁 £目錄下(xià)oui/bin/./ru€✔✔∑nInstaller
如(rú)果數(shù)據庫安裝目錄不(bù)在補丁目錄下(xià)©",如(rú)補丁目錄在OraHome_1,↕✘✔安裝在OraHome_2,那(nà)麽要(yà€≠≤↓o)以oracle用(yòng)戶就(jiù)能(néng)入$ORACL™✔♣E_HOME目錄下(xià),将jdk目錄•₹∑mv成jdk.bak,然後執行(xíng)以下(xià)命令建立☆¶§γ一(yī)個(gè)鏈接:
#ln-s/opatch_path/jdkjdk
#ls-al:jdk->opt/oralce/app/ora≈™§cle/OraHome_1/jdk
8系統管理(lǐ)
1)數(shù)據庫啓動
以sysdba身(shēn)份登錄
Startupnomount隻啓動實例不(bù)啓動數(shù)據庫☆✔≤
啓動實例包括分(fēn)配內(nèi♥δ↕)存和(hé)啓動進程(讀(dú)取參數(shù)文(wén)件≥≠™(jiàn))
Startupmount啓動數(shù)據庫到(dào↕♥β&)mount狀态(包括了(le)nomount)
打開(kāi)控制(zhì)文(wén)件(jiàn)、數↕"¥ε(shù)據文(wén)件(jiàn)和(hé)聯機(jī)日(rì)志(zh&↔ì)文(wén)件(jiàn),關聯實例
Alterdatabaseopen打開(kāi)數(shù)據÷↕®☆庫
●Startup;使用(yòng)服務器>'"(qì)端參數(shù)文(wén)件(jiàn)₹±(SPFILE)啓動,不(bù)要(yào)加SPFILE;也( ↓λΩyě)可(kě)以使用(yòng)初始化(huà)參數(sh&σù)文(wén)件(jiàn)(PFIL δE)啓動:startupPFILE=$ORACLE_HOM✘♠δE/dbs/init.ora
Startupopenreadonly以隻βε≥≤讀(dú)方式啓動數(shù)據庫
●Nomount->alterdatabasemount->σ₩♠;alterdatabaseopen;
●Mount->alterdatabse₹δ<open;
Alterdatabaseopenreadonly;在mount狀态 ↔下(xià)啓動到(dào)隻讀(dú)模式
FAQ:數(shù)據庫啓動數(shù)據庫被挂起
AlterFile:閃回區(qū)(Flash↑∞RecoveryArea)磁盤空(kōng)間(jiān)££不(bù)足
PFILE中配置了(le)閃回區(qū)路®≠®(lù)徑和(hé)大(dà)小(xiǎo);
Db_recovery_file_dest='& ±'¶lt;ORACLE_BASE>/flash_recovery_ar®φΩea'
Db_recovery_file_dest_size=2G
2)數(shù)據庫關閉
關閉數(shù)據庫(寫數(shù±✔)據文(wén)件(jiàn)和(hé)連接日(♥₩®rì)志(zhì))->Unmount數(shù)據庫(分(∑>fēn)離(lí)數(shù)據庫和(hé)★實例,關閉控制(zhì)文(wén)件(jiàn))->∏≈≠關閉實例(從(cóng)內(nèi)存中移出SGA,終止進程)
Shutdownimmediate用(yòng)戶不(bù)能(n§ éng)注冊登錄;未提交的(de)事(shì)物(wù)$ ≠江北(běi)回滾;不(bù)等待所有(yǒu)用(yòng)戶↑↔退出
9進程管理(lǐ)
進程分(fēn)為(wèi)兩類:用(yòng)戶進程、ora•∏cle進程
1)用(yòng)戶進程
用(yòng)戶運行(xíng)應用(yòng)程序或βφ者使用(yòng)oracle客戶端的(de)時(shí)候,創建用(y♠∑òng)戶進程
兩個(gè)相(xiàng)似概念:
●連接:用(yòng)戶進程到(dào)實例間(jiān)的>"£(de)一(yī)條通(tōng)信路(lù)徑,通(tōng)常會÷¥λ©(huì)在客戶進程與一(yī)個(gè)專用(yòng♠←↕&)服務器(qì)或一(yī)個(gè)調度器(qì)之間(jiān)建立₩★連接
專有(yǒu)服務器(qì)(dedicateds>±erver)連接,采用(yòng)專有(yǒu)服務器('£↔qì)連接時(shí),會(huì)在服務器(→♣©∞qì)上(shàng)得(de)到(dào)針對(duì)這(zhè)個∞ ™(gè)連接的(de)一(yī)個(gè)專用±↕γ(yòng)進程,數(shù)據庫連接與服務器(qì)上(shàng)的(✔☆de)一(yī)個(gè)進程或線程之間(jiān)存在一(yī)對($↑β™duì)一(yī)的(de)映射
共享服務器(qì)(shareds€¥₩♥erver)連接,采用(yòng)共享連接時≥¥♦≈(shí),多(duō)個(gè)會(huì×ε)話(huà)可(kě)以共享一(yī)個(gεφ✔£è)服務器(qì)進程池,其中的(de)進程由Oracle實例生(£ ±shēng)成和(hé)管理(lǐ),你(nǐ)所連接的(de)是(shì)∏♥一(yī)個(gè)數(shù)據庫調度器(qìπφ± )(dispatcher),而不(bù)是(shì)特意為(wèi)連接創 ≠≥¶建的(de)一(yī)個(gè)專用(yòng)服務器δγδ$(qì)進程。
●會(huì)話(huà):一(yī)♣✔↑個(gè)用(yòng)戶到(dào)數(shù♥•≥ )據庫的(de)一(yī)次特殊連接,從(cóng)用(yòng£δ≤$)戶登入開(kāi)始到(dào)退出結束;
會(huì)話(huà)是(shì"∞)實例中的(de)一(yī)個(gè)邏輯實體(tǐ) $←,客戶進程可(kě)以在會(huì)話(huà)上(shàng)↕←'執行(xíng)sql,提交事(shì)務和(hé)運行↕(xíng)存儲過程等。多(duō)個(gè)獨立的(de)會(huì)話( ₩huà)可(kě)以與一(yī)個(gè)連接關聯,這(zhè)些(xiē)↔✘會(huì)話(huà)設置可(kě)以獨立于連§ 接存在。
2)Oracle進程(實例進程)
Oracle進程運行(xíng)在服務器(q✔λ₽ì)端:
●服務器(qì)進程(ServerProcess):服☆ £務器(qì)進程就(jiù)是(shì)代表客戶會(huì)話(hu←∑≤ à)完成工(gōng)作(zuò)的(de)進程
處理(lǐ)連接到(dào)數(shù)據庫的(de)用(yòng¶π§)戶進程請(qǐng)求,對(duì)sql語句進行(✔'×xíng)語法解析和(hé)執行(xín×₩g),數(shù)據讀(dú)取,返回結$±果:
專有(yǒu)服務器(qì)進程(Dedicaδ₽εted):隻為(wèi)特定用(yòng)戶進σσ↔程服務
共享服務器(qì)進程(Shared):采用(yòng)共享↓₩> 服務器(qì)進程時(shí),多(duō)個(gè)會(≤≥huì)話(huà)可(kě)以共享一(yī)個(gè)服務器(qì)進程₽↑池,其中的(de)進程由Oracle實例生(shēng)成和(hé)管↔∑§理(lǐ)
●後台進程(BackgroundProcess):随數(shù)據庫'♣₩而啓動,用(yòng)于完成各種維護任務
10數(shù)據存儲結構
●邏輯結構(LogisticalStructure):數(shù)>₽™$據塊(DataBlock)區(qū)(Extent)段(Se&&>πgment)
表空(kōng)間(jiān)(T€✘ablespace)
塊是(shì)最基本的(de)存儲單元
表空(kōng)間(jiān):存放(fàng)數(shù∏¶)據庫對(duì)象(表、索引等)
●物(wù)理(lǐ)結構(Physic✘<$'alStructure):
Datafiles、ControlFiles、OnlineRedoLogβ∑≠s(嚴格意義上(shàng)的(de))
其他(tā)ArchiveLogFiles、ParameterFile™♦s、AlertFiles、TraceFiles、BackupFiles
DataFiles:
每個(gè)數(shù)據文(wén)件(jiàn)都 ☆π(dōu)是(shì)一(yī)個(gè)操作(zu←>ò)系統文(wén)件(jiàn),由多(duō)個(gè)操作(zuò) ≥λ系統塊組成
數(shù)據庫中的(de)表、索引的(de)數(shù)據物(wù)→δ↕理(lǐ)上(shàng)存放(fàng)在數(shù)據文(wén)件(jφ₩iàn)中
一(yī)個(gè)數(shù)據庫有(yǒu)多(d×₽ ≤uō)個(gè)數(shù)據文(wén)件(jiàn)≈γ✔,一(yī)個(gè)數(shù)據文(wén)件(jiàn)隻屬于一(yī)©β™≠個(gè)數(shù)據庫
一(yī)個(gè)表空(kōng)≈>↕₩間(jiān)可(kě)以由多(duō)≈ 個(gè)數(shù)據文(wén)件(jiàn)構成,一(yī)個↓π∏(gè)數(shù)據文(wén)件(jiàn)隻β σ屬于一(yī)個(gè)表空(kōng)間(jiān)∏<