1.准備:
df -H
查看空間剩余 一般准備最少5G
2.查看swap分區大小
du -sh /tmp/
最少400M
3. 建組建用戶
groupadd dba -g 111 groupadd oinstall -g 110 useradd oracle -u -110 -g 110 -G 111 passwd oracle --stdin
4. 設置參數
su - oracle vi .bash_profile
export ORACLE_BASE=/u01/oracle export ORACLE_HOME=$ORACLE_BASE/10g export ORACLE_SID=orcl PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin
5. 權限
su mkdir /u01/oracle chown oracle:oinstall /u01/oracle/ -R
6. 修改系統參數
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. 安裝
xhost + su - oracle runinstall
8.問題解決
安裝界面亂碼問題
orcale用戶:
[oracle@~]$ export LC_CTYPE="en_US.UTF-8"
版本問題
修改/etc/redhat-release裡的版本為低版本(Redhat 4.X)
xhost +報錯
最簡單的,注銷當前用戶,使用oracle用戶登錄,進行安裝
9.啟動和關閉
查詢數據庫當前的狀態:
>select OPEN_MODE from v$database;
oracle not available ------- oracle沒啟動實例 oracle not mounted ------- oracle在nomount階段 oracle mounted ------- oracle在mount階段 oracle read write ------- oracle在open階段
9.1.sqlplus
啟動實例階段 nomount --------------
>startup [force] [pfile=xxx] nomount;
查參數文件錯誤 spfilesid.ora---spfile.ora---initsid.ora
查看使用的參數文件 >show parameter spfile 不為空即以spfile啟動,否則是pfile
分配內存
記錄信息到alert文件和跟蹤文件
#tail -f /u01/oracle/admin/orcl/bdump/alert_orcl.log
啟動後台進程
查看數據庫是否啟動 #ps -ef|grep ora_
【本階段設置參數】
[startup restrict 啟動到受限制會話,不允許別人連接的情況下對數據庫進行操作]
裝載數據庫階段
db mount ------------------ >alter database mount;
關聯數據庫和當前的實例
定位並打開參數文件中指定的控制文件
控制文件
>show parameter control_file;讀取控制文件獲取數據文件和重做日志文件的名稱和狀態,但不進行是否存在的檢查
【本階段可以操作數據庫物理操作:alter database,建庫刪庫,恢復數據庫;命名數據文件,啟用禁用日志】
打開數據庫階段 ---------------
>alter database open;
判斷數據文件和日志文件是否存在,是否打開,檢查數據庫的一致性
打開聯機數據文件和日志文件
【本階段對數據庫數據進行操作】
關閉數據庫階段 ---------------
>shutdown [normal|transactional|immediate|abort]
將緩沖區告訴緩存中的更改及重做日志緩沖區高速緩存中的條目寫入數據文件和聯機重做日志文件
關閉數據文件和重做日志文件
卸載數據庫
關閉控制文件
關閉實例
alter文件和跟蹤文件關閉
sga回收、後台進程終止
shutdown [normal|transactional|immediate|abort]
abort不是一致性關閉
9.2.dbstart & dbshut
vi /etc/oratab 中數據庫最後的字段是Y,才能通過dbstart和dbshut控制
vi $ORACLE_HOME/bin/dbstart 中ORACLE_HOME_LISTNER的值為$ORACLE_HOME時,啟動監聽
附:oracle開機啟動
head -n 6 /etc/init.d/network >/etc/init.d/oracle10g vi /etc/init.d/oracle10g
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
chmod a+x /etc/init.d/oracle10g chkconfig oracle10g on