1.準(zhǔn)備:
1
|
df -H |
查看空間剩余 一般準(zhǔn)備最少5G
2.查看swap分區(qū)大小
1
|
du -sh /tmp/ |
最少400M
3. 建組建用戶(hù)
1
2
3
4
|
groupadd dba -g 111 groupadd oinstall -g 110 useradd oracle -u -110 -g 110 -G 111 passwd oracle --stdin |
4. 設(shè)置參數(shù)
1
2
|
su - oracle vi .bash_profile |
1
2
3
4
|
export ORACLE_BASE=/u01/oracle export ORACLE_HOME=$ORACLE_BASE/10g export ORACLE_SID=orcl PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin |
5. 權(quán)限
1
2
3
|
su mkdir /u01/oracle chown oracle:oinstall /u01/oracle/ -R |
6. 修改系統(tǒng)參數(shù)
1
2
3
4
5
6
7
8
9
|
sysctl -a|grep sem|sed 's/32/100/2' >> /etc/sysctl.conf sysctl -a|grep ip_local|sed -e 's/32768/1024' -e 's/61/65/' >> /etc/sysctl.conf sysctl -a|grep rmem_d|sed 's/109568/262144' >> /etc/sysctl.conf sysctl -a|grep rmem_ma|sed 's/131071/262144' >> /etc/sysctl.conf sysctl -a|grep wmem_ma|sed 's/131071/262144' >> /etc/sysctl.conf sysctl -a|grep wmem_de|sed 's/109568/262144' >> /etc/sysctl.conf sysctl -a|grep file-m|sed 's/83702/65536' >> /etc/sysctl.conf sysctl -p |
7. 安裝
1
2
3
4
|
xhost + su - oracle runinstall |
8.問(wèn)題解決
安裝界面亂碼問(wèn)題
orcale用戶(hù):
1
|
[oracle@~]$ export LC_CTYPE= "en_US.UTF-8" |
版本問(wèn)題
修改/etc/redhat-release里的版本為低版本(Redhat 4.X)
xhost +報(bào)錯(cuò)
最簡(jiǎn)單的,注銷(xiāo)當(dāng)前用戶(hù),使用oracle用戶(hù)登錄,進(jìn)行安裝
9.啟動(dòng)和關(guān)閉
查詢(xún)數(shù)據(jù)庫(kù)當(dāng)前的狀態(tài):
1
|
> select OPEN_MODE from v$ database ; |
1
2
3
4
|
oracle not available ------- oracle沒(méi)啟動(dòng)實(shí)例 oracle not mounted ------- oracle在nomount階段 oracle mounted ------- oracle在mount階段 oracle read write ------- oracle在open階段 |
9.1.sqlplus
啟動(dòng)實(shí)例階段 nomount --------------
1
|
>startup [force] [pfile=xxx] nomount; |
查參數(shù)文件錯(cuò)誤 spfilesid.ora---spfile.ora---initsid.ora
查看使用的參數(shù)文件 >show parameter spfile 不為空即以spfile啟動(dòng),否則是pfile
分配內(nèi)存
記錄信息到alert文件和跟蹤文件
1
|
#tail -f /u01/oracle/admin/orcl/bdump/alert_orcl.log |
啟動(dòng)后臺(tái)進(jìn)程
查看數(shù)據(jù)庫(kù)是否啟動(dòng) #ps -ef|grep ora_
【本階段設(shè)置參數(shù)】
[startup restrict 啟動(dòng)到受限制會(huì)話(huà),不允許別人連接的情況下對(duì)數(shù)據(jù)庫(kù)進(jìn)行操作]
裝載數(shù)據(jù)庫(kù)階段
1
|
db mount ------------------ >alter database mount ; |
關(guān)聯(lián)數(shù)據(jù)庫(kù)和當(dāng)前的實(shí)例
定位并打開(kāi)參數(shù)文件中指定的控制文件
控制文件
1
|
>show parameter control_file; |
【本階段可以操作數(shù)據(jù)庫(kù)物理操作:alter database,建庫(kù)刪庫(kù),恢復(fù)數(shù)據(jù)庫(kù);命名數(shù)據(jù)文件,啟用禁用日志】
打開(kāi)數(shù)據(jù)庫(kù)階段 ---------------
1
|
>alter database open ; |
判斷數(shù)據(jù)文件和日志文件是否存在,是否打開(kāi),檢查數(shù)據(jù)庫(kù)的一致性
打開(kāi)聯(lián)機(jī)數(shù)據(jù)文件和日志文件
【本階段對(duì)數(shù)據(jù)庫(kù)數(shù)據(jù)進(jìn)行操作】
關(guān)閉數(shù)據(jù)庫(kù)階段 ---------------
1
|
> shutdown [normal|transactional|immediate|abort] |
將緩沖區(qū)告訴緩存中的更改及重做日志緩沖區(qū)高速緩存中的條目寫(xiě)入數(shù)據(jù)文件和聯(lián)機(jī)重做日志文件
關(guān)閉數(shù)據(jù)文件和重做日志文件
卸載數(shù)據(jù)庫(kù)
關(guān)閉控制文件
關(guān)閉實(shí)例
alter文件和跟蹤文件關(guān)閉
sga回收、后臺(tái)進(jìn)程終止
1
|
shutdown [normal|transactional|immediate|abort] |
abort不是一致性關(guān)閉
9.2.dbstart & dbshut
vi /etc/oratab 中數(shù)據(jù)庫(kù)最后的字段是Y,才能通過(guò)dbstart和dbshut控制
vi $ORACLE_HOME/bin/dbstart 中ORACLE_HOME_LISTNER的值為$ORACLE_HOME時(shí),啟動(dòng)監(jiān)聽(tīng)
附:oracle開(kāi)機(jī)啟動(dòng)
1
2
3
|
head -n 6 /etc/init .d /network > /etc/init .d /oracle10g vi /etc/init .d /oracle10g |
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
|
ORACLE_HOME= /u01/oracle/10g if [ !-f $ORACLE_HOME /bin/dbstart ] then echo "oracle cannot start" exit fi if [ ! -f $ORACLE_HOME /bin/lsnrctl ] then echo "lsnrctl cannot start" exit fi case "$1" in 'start' ) echo "starting oracle 10g ...." su - oracle -c "$ORACLE_HOME/bin/dbstart" #su - oracle -c "$ORACLE_HOME/bin/emctl start dbconsole" ------>start oem ;; 'stop' ) echo "stopping oracle 10g ...." #su - oracle -c "$ORACLE_HOME/bin/emctl stop dbconsole" ------>stop oem su - oracle -c "$ORACLE_HOME/bin/dbshut" ;; *) echo "usage $0: start|stop" ;; esac |
1
2
|
chmod a+x /etc/init .d /oracle10g chkconfig oracle10g on |