5.27日音訊,Linux大師筆記。Linux是一種自由和開放源碼的類Unix操作系統(tǒng),存在著許多不同的Linux版本,但它們都使用了Linux內(nèi)核。學(xué)好它相信大家的方法也不同,但一些常見的命令如果能夠及時掌握的話,相信對學(xué)習(xí)大有好處的。
1UserGroup
/etc/passwd:username:passwd:uid:gid::homedir:shell
密碼映射在/etc/shadow,一個用戶可屬于多個用戶組,第五個字段為用戶名全稱(可選)
/etc/group:groupname:passwd:gid:userlist
用戶列表可選,用“,”分割
2AddUser&Group
●修改文件
more/etc/passwd|greporaclecat/etc/group|grepuid
修改passwd,添加用戶記錄,不能讓uid重復(fù);
執(zhí)行pwconv,讓passwd和shadow同步;
修改group添加組
運行g(shù)rpconv來同步group和shadow同步;
創(chuàng)建用戶家目錄,把用戶的啟動文件也復(fù)制進去;另外還需要把etc/skel目錄下的.*隱藏文件復(fù)制過去:cp-R/etc/skel//home/user;
改變新增用戶的屬主和權(quán)限:chown-Ruser:group/home/user;-R:應(yīng)用到目錄中的所有文件?
設(shè)置新增用戶密碼:passwdusername
●通過命令
1)mkgroupgroupname
2)groupadd
groupadd-guidgroupname
3)mkuser
mkduerpgrp=usernamehome=diractoryshell=/usr/bin/kshid=uidusername
4)useradd
useradd-u1002-ggroup-Ggroup01-d/home/user-muser
useradd-d/opt/oracle-m-gdba-Goinstall-s/bin/bashoracle
用戶的缺省工作目錄是/home/username,可以-d指定其他目錄為其工作目錄;
用戶的缺省uid從500后順序增加,可以-u指定uid;
不指定用戶所屬的組,會生成一個與用戶名同名的工作組,也可以通過-g指定
5)ld、finge查看用戶信息
6)ls-dl$HOME顯示目錄的屬主和屬組
7)Usermod
修改用戶登錄名Usermod-lnewnameoldname;
修改用戶目錄usermod-dnewdiruser;
添加用戶到組usermod-ggroupuser;小G大g的區(qū)別
8)Gpasswd
改變組成員,只有root和組管理員有權(quán)限
添加:Gpasswd-ausergroup刪除:Gpasswd-dusergroup
9)Groupmod
修改組名:groupmod-noldnamenewname
10)Rmuser-rusername
11)Userdel
刪除用戶,同時刪除工作目錄userdel-rfuser
12)Rmgroup-rgroupname
13)Groupdel
3Linux常用命令
壓縮解壓:
tar-cvf-file|gzip-cf>file.tar.gz
gzip-dcfile.tar.gz|tar-xvf-
gunzip直接解壓gz包
unzip(zip)直接解壓(縮)zip包
mvorigfiledestfile剪切源文件中內(nèi)容到目標(biāo)文件夾
find.-name"*.log"|xargsrm
|awk'{print$2}'|xargskill-9或|awk'{print"kill-9",$2}'
df-h;fdisk-l顯示磁盤空間
du–lh
du–sh*
Java-version
Version.sh平臺版本
Uname-a機型或者oslevel
操作系統(tǒng)版本的檢查:
#cat/etc/SuSE-release
內(nèi)核版本的檢查:
#uname-r
4環(huán)境變量設(shè)置
#echo$SHELL
bash:#vi.bash_profile#..bash_profile
shorksh:#vi.profile#..profile
cshortcsh:#vi.login#source.login.cshrc?
setenvvar=xxx;
exportvarxxx;
#echo$JAVA
#env|grepJAVA
shell類型不匹配,ln其他shell類型到當(dāng)前--ln-ssrcdesc
腳本執(zhí)行bash:#./script;ksh:#shscript;bash->ksh?
==JAVA==
root用戶上傳(.bin,.rpm,壓縮包),設(shè)置要使用用戶的環(huán)境變量
exportJAVA_HOME=/opt/jdk1.6
exportJRE_HOME=/opt/jdk1.6/jre
exportCLASSPATH=$JAVA_HOME/lib:$JRE_HOME/lib:.
exportPATH=$JAVA_HOME/bin:$JRE_HOME/bin:$ORACLE_HOME/bin:.:$PATH
==ORACLE==
補丁安裝-Ora軟件安裝-配置監(jiān)聽-升級Ora-創(chuàng)建DB
exportORACLE_BASE=/opt/oracle/app/oracle
exportORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1
exportORACLE_SID=SID
exportPATH=$ORACLE_HOME/bin:$PATH
5Oracle
1)Dbca創(chuàng)建數(shù)據(jù)庫(實例)
實例是“內(nèi)存”(SGA)和“后臺進程”(服務(wù)器進程、后臺進程,從屬進程)的集合,每個進程都會分配內(nèi)部內(nèi)存(PGA內(nèi)存)來完成它的任務(wù)
RAC(RealApplicationCluster)集群:多個實例同時驅(qū)動一個數(shù)據(jù)庫
2)$TNS_ADMIN指定配置文件tnsnames.ora位置:$ORACLE_HOME/network/admin
Tnsnames.ora存儲網(wǎng)絡(luò)服務(wù)名(設(shè)為SIDname,為連接描述符的別名)
文件結(jié)構(gòu):
Esbora=
(DISCRIPTION=
?。ˋDDRESS=(PROTOCOL=TCP)(HOST=IP)(PORT=1521))
(CONNECT_DATA=
(SERVER=DEDICATED)
(SERVICE_NAME=esbora)
?。?/div>
)
3)客戶端連接數(shù)據(jù)庫
連接字符串
網(wǎng)絡(luò)字符串
本機登錄不需要輸入@nsn
Sqlplussys/sysassysdba或者sqlplus“/assysdba”
Sqlplus/holog無用戶連接DB
@執(zhí)行指定目錄腳本
Disc斷開連接
6Listener
1)Clinet--Listener--Server
2)Netca配置監(jiān)聽在服務(wù)器端
3)監(jiān)聽器配置文件$TNS_ADMIN/listener.ora
文件結(jié)構(gòu):
LISTENER=監(jiān)聽器名字,默認(rèn)LISTENER
?。―ISCRIPTION_LIST=
(DISCRIPTION=
(ADDRESS=(PROTOCOL=TCP)(HOST=IP)(PORT=1521))
?。ˋDDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1521))
)
)
SID_LIST_LISTENER=
(SID_LIST=
(SID_DESC=
(SID_NAME=esbora)
(ORACLE_HOME=/opt/oracle/app/oracle/OraHome_1)
(PROGRAME=extproc)
)
)
4)Lsnrctlstart(ListenerName)不加名字起默認(rèn)監(jiān)聽
5)Lsnrctlstop
6)Lsnrctlstatus
7數(shù)據(jù)庫安裝
補丁安裝--Ora軟件安裝--配置監(jiān)聽--升級Ora--創(chuàng)建DB順序?
●Display變量設(shè)置
Xmanager直接用oracle用戶登入
Root:xhostlocalhost;xhost+開放所有
Oracle:
exportDISPLAY=localhost:1.0
setenvDISPLAYlocal_host:0.0
echo$DISPLAY
xclock路徑/usr/X11R6/bin可添加到環(huán)境變量中
●補丁安裝
安裝后再裝DB,要在補丁目錄下oui/bin/./runInstaller
如果數(shù)據(jù)庫安裝目錄不在補丁目錄下,如補丁目錄在OraHome_1,安裝在OraHome_2,那么要以oracle用戶就能入$ORACLE_HOME目錄下,將jdk目錄mv成jdk.bak,然后執(zhí)行以下命令建立一個鏈接:
#ln-s/opatch_path/jdkjdk
#ls-al:jdk->opt/oralce/app/oracle/OraHome_1/jdk
8系統(tǒng)管理
1)數(shù)據(jù)庫啟動
以sysdba身份登錄
Startupnomount只啟動實例不啟動數(shù)據(jù)庫
啟動實例包括分配內(nèi)存和啟動進程(讀取參數(shù)文件)
Startupmount啟動數(shù)據(jù)庫到mount狀態(tài)(包括了nomount)
打開控制文件、數(shù)據(jù)文件和聯(lián)機日志文件,關(guān)聯(lián)實例
Alterdatabaseopen打開數(shù)據(jù)庫
●Startup;使用服務(wù)器端參數(shù)文件(SPFILE)啟動,不要加SPFILE;也可以使用初始化參數(shù)文件(PFILE)啟動:startupPFILE=$ORACLE_HOME/dbs/init.ora
Startupopenreadonly以只讀方式啟動數(shù)據(jù)庫
●Nomount->alterdatabasemount->alterdatabaseopen;
●Mount->alterdatabseopen;
Alterdatabaseopenreadonly;在mount狀態(tài)下啟動到只讀模式
FAQ:數(shù)據(jù)庫啟動數(shù)據(jù)庫被掛起
AlterFile:閃回區(qū)(FlashRecoveryArea)磁盤空間不足
PFILE中配置了閃回區(qū)路徑和大小;
Db_recovery_file_dest='<ORACLE_BASE>/flash_recovery_area'
Db_recovery_file_dest_size=2G
2)數(shù)據(jù)庫關(guān)閉
關(guān)閉數(shù)據(jù)庫(寫數(shù)據(jù)文件和連接日志)->Unmount數(shù)據(jù)庫(分離數(shù)據(jù)庫和實例,關(guān)閉控制文件)->關(guān)閉實例(從內(nèi)存中移出SGA,終止進程)
Shutdownimmediate用戶不能注冊登錄;未提交的事物江北回滾;不等待所有用戶退出
9進程管理
進程分為兩類:用戶進程、oracle進程
1)用戶進程
用戶運行應(yīng)用程序或者使用oracle客戶端的時候,創(chuàng)建用戶進程
兩個相似概念:
●連接:用戶進程到實例間的一條通信路徑,通常會在客戶進程與一個專用服務(wù)器或一個調(diào)度器之間建立連接
專有服務(wù)器(dedicatedserver)連接,采用專有服務(wù)器連接時,會在服務(wù)器上得到針對這個連接的一個專用進程,數(shù)據(jù)庫連接與服務(wù)器上的一個進程或線程之間存在一對一的映射
共享服務(wù)器(sharedserver)連接,采用共享連接時,多個會話可以共享一個服務(wù)器進程池,其中的進程由Oracle實例生成和管理,你所連接的是一個數(shù)據(jù)庫調(diào)度器(dispatcher),而不是特意為連接創(chuàng)建的一個專用服務(wù)器進程。
●會話:一個用戶到數(shù)據(jù)庫的一次特殊連接,從用戶登入開始到退出結(jié)束;
會話是實例中的一個邏輯實體,客戶進程可以在會話上執(zhí)行sql,提交事務(wù)和運行存儲過程等。多個獨立的會話可以與一個連接關(guān)聯(lián),這些會話設(shè)置可以獨立于連接存在。
2)Oracle進程(實例進程)
Oracle進程運行在服務(wù)器端:
●服務(wù)器進程(ServerProcess):服務(wù)器進程就是代表客戶會話完成工作的進程
處理連接到數(shù)據(jù)庫的用戶進程請求,對sql語句進行語法解析和執(zhí)行,數(shù)據(jù)讀取,返回結(jié)果:
專有服務(wù)器進程(Dedicated):只為特定用戶進程服務(wù)
共享服務(wù)器進程(Shared):采用共享服務(wù)器進程時,多個會話可以共享一個服務(wù)器進程池,其中的進程由Oracle實例生成和管理
●后臺進程(BackgroundProcess):隨數(shù)據(jù)庫而啟動,用于完成各種維護任務(wù)
10數(shù)據(jù)存儲結(jié)構(gòu)
●邏輯結(jié)構(gòu)(LogisticalStructure):數(shù)據(jù)塊(DataBlock)區(qū)(Extent)段(Segment)
表空間(Tablespace)
塊是最基本的存儲單元
表空間:存放數(shù)據(jù)庫對象(表、索引等)
●物理結(jié)構(gòu)(PhysicalStructure):
Datafiles、ControlFiles、OnlineRedoLogs(嚴(yán)格意義上的)
其他ArchiveLogFiles、ParameterFiles、AlertFiles、TraceFiles、BackupFiles
DataFiles:
每個數(shù)據(jù)文件都是一個操作系統(tǒng)文件,由多個操作系統(tǒng)塊組成
數(shù)據(jù)庫中的表、索引的數(shù)據(jù)物理上存放在數(shù)據(jù)文件中
一個數(shù)據(jù)庫有多個數(shù)據(jù)文件,一個數(shù)據(jù)文件只屬于一個數(shù)據(jù)庫
一個表空間可以由多個數(shù)據(jù)文件構(gòu)成,一個數(shù)據(jù)文件只屬于一個表空間
本文由邯鄲網(wǎng)絡(luò)公司首創(chuàng)網(wǎng)絡(luò)整理編輯發(fā)布,請勿轉(zhuǎn)載、復(fù)制、摘抄等!