天天看點

Linux下oracle10g安裝配置說明

<b>Linux</b><b>下oracle10g安裝配置說明</b>

注意:可以從 OTN 下載下傳 Oracle 資料庫 10g。Oracle 提供了一個免費的開發和測試許可。

但不提供支援,且該許可不允許用于生産目的。

<b></b><b>一.資源需要:</b>

至少1024 MB實體記憶體

1024-2048 需1.5倍的互動空間

2048-8192 需1倍的互動空間

8192- 需0.75倍的互動空間

至少400 MB /tmp 臨時目錄空間

oracle軟體需要1.5 GB 到 3.5 GB 磁盤空間

預設資料庫需要1.2 GB

<b>二.虛拟機分區情況:</b>

Linux下oracle10g安裝配置說明

<b>三.檢視系統資源相關語句:</b>

uname指令介紹

1.名稱:uname

2.适用對象:所有使用者

3.指令格式:uname [選項]...

4.作用:列印出系統資訊

5.參數詳解:

  -a, --all                #列印出所有資訊,如果-p,-i的結果為unknown,将不顯示-p,-i的結果

  -s, --kernel-name        #列印出核心名稱

  -n, --nodename           #列印出網絡上主機名稱

  -r, --kernel-release      #列印出作業系統發行号

   -v, --kernel-version     #列印出作業系統的版本

  -m, --machine            #列印出電腦硬體類型

  -p, --processor          #列印出處理器類型

  -i, --hardware-platform  #這個不懂什麼意思 高手解釋下

  -o, --operating-system   #列印出運作的系統

<b>四.檢視系統配置:</b>

cat /etc/issue

uname -r

grep MemTotal /proc/meminfo

grep SwapTotal /proc/meminfo

grep "model name" /proc/cpuinfo

free

Linux下oracle10g安裝配置說明

df -k /tmp

df –k

Linux下oracle10g安裝配置說明

<b></b><b>五.安裝前的檢查和準備工作:(下面是我在RHEL4.0上面安裝oracle時需要按章的軟體包,一定按順序安裝)</b>

Glibc-kernheaders-2.4-9.1.87.i386.rpm

Glibc-headers-2.3.4-2.i386.rpm

Glibc-devel-2.3.4-2.i386.rpm

Compat-gcc-32-3.2.3-47.3.i386.rpm

Compat-libstdc++-33-3.2.3-47.3.i386.rpm

compat-gcc-32-c++-3.2.3-47.3.i386.rpm

compat-libgcc-296-2.96-132.7.2.i386.rpm

compat-libstdc++-296-2.96.132.7.2.i386.rpm

gcc-3.4.3-9.EL4.i386.rpm

libstdc++-devel-3.4.3-9.EL4.i386.rpm

gcc-c++-3.4.3-9.EL4.i386.rpm

libaio-0.3.102-1.i386.rpm

libaio-devel-0.3.102-1.i386.rpm

openmotif21-2.1.30-11.RHEL4.2.i386.rpm

zlib-devel-1.2.1.2-1.i386.rpm

freetype-devel-2.1.9-1.i386.rpm

fontconfig-devel-2.2.3-7.i386.rpm

pkgconfig-0.15.0-3.i386.rpm

xorg-x11-devel-6.8.1-23.EL.i386.rpm

xorg-x11-deprecated-libs-devel-6.8.1-23.EL.i386.rpm

compat-libcwait-2.0-2.i386.rpm(更新檔包)

compat-oracle-rhel4-1.0-5.i386.rpm(更新檔包)

<b>1.</b><b>建立資料庫安裝的準備工作: </b>

⑴ 建立user/group;

groupadd dba

groupadd oinstall

useradd oracle -g oinstall -G dba

passwd oracle

如果nobody使用者不存在(id nobody指令檢視),則建立:

useradd nobody

Linux下oracle10g安裝配置說明

⑵ 建立oracle安裝檔案夾(sample);

mkdir -p /opt/oracle/product/10g

mkdir /opt/oracle/database

chown -R oracle.oinstall  /opt/oracle

chmod 755 -R /opt/oracle

Linux下oracle10g安裝配置說明

<b>2. </b><b>配置環境變量;</b>

要使用 Oracle 産品,應該或必須設定幾個環境變量。

如果您在同一伺服器上安裝了多個 Oracle 産品或資料庫,則 ORACLE_HOME、ORACLE_SID 和 PATH 變量可能會更改。

ORACLE_BASE 變量不應更改,并可以在需要時在您的登入配置檔案中設定它。Oracle 提供了一個稱作 oraenv 的實用程式來設定其他變量。

對于資料庫伺服器,建議設定以下環境變量:

使用Oracle使用者登陸:

su oracle

vi ~/.bash_profile

以下是配置檔案的内容

export ORACLE_BASE=/opt/oracle/

export ORACLE_HOME=/opt/oracle/product/10g

export ORACLE_SID=ge01

export PATH=$ORACLE_HOME/bin:$PATH      

# 安裝好後再取消屏蔽這些環境變量設定

# export TNS_ADMIN=$ORACLE_HOME/network/admin

#export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK

#export LANG=AMERICAN_AMERICA.ZHS16GBK

配置好後用 source .bash_profile 指令使配置生效

Linux下oracle10g安裝配置說明

<b>3.</b><b>置系統參數;</b>

Oracle 資料庫 10g 需要以下所示的核心參數設定。

其中給出的是最小值,是以如果您的系統使用的值較大,則不要更改它。

切換到root使用者:

su root

a) 修改/etc/sysctl.conf(vi /etc/sysctl.conf), 添加:

kernel.shmmax = 2147483648

kernel.shmmni = 4096

kernel.shmall = 2097152

kernel.sem = 250 32000 100 128

fs.file-max = 65536

net.ipv4.ip_local_port_range = 1024 65000

net.core.rmem_default=262144

net.core.rmem_max=262144

net.core.wmem_default=262144

net.core.wmem_max=262144

修改後運作"/sbin/sysctl -p"指令使得核心改變立即生效;

Linux下oracle10g安裝配置說明

B) 設定oracle對檔案的要求:

編輯檔案:vi /etc/security/limits.conf 加入以下語句:

oracle           soft    nproc           2047

oracle           hard    nproc           16384

oracle           soft    nofile          1024

oracle           hard    nofile          65536

編輯檔案:vi /etc/pam.d/login 加入以下語句(可能應該加在最後一條規則之前):

session    required     /lib/security/pam_limits.so

<b></b><b>六.解壓縮Oracle10G的安裝檔案 :</b>

<b>1</b><b>. Oracle 使用者登入</b>

(1) 簡化過程(以oracle登入,釋放安裝檔案,使用更少的磁盤空間,速度更快)

在/tmp下解壓縮10201_database_linux32.zip:

unzip 10201_database_linux32

<b>2.</b><b>開始安裝oracle </b>

以oracle使用者登入系統,進行Oracle的安裝:

cd /tmp/database (或者你解壓縮安裝程式包的目錄)

./runInstaller

過一會兒就會出現Oracle的安裝界面

注意:一定在linux圖形界面下安裝oracle,否則會報錯!

1、選擇advance install

2、資料庫home設定為/opt/oracle/product/10g

3、資料庫全局名稱設定為ge01

4、資料庫字元集選Simplified Chinese ZHS16GBK

5、其他用預設設定!

注意:安裝過程中會提示以root使用者登陸執行一些腳本 ,執行後再按“ok”按鈕繼續安裝。

Linux下oracle10g安裝配置說明
Linux下oracle10g安裝配置說明
Linux下oracle10g安裝配置說明
Linux下oracle10g安裝配置說明
Linux下oracle10g安裝配置說明
Linux下oracle10g安裝配置說明
Linux下oracle10g安裝配置說明
Linux下oracle10g安裝配置說明
Linux下oracle10g安裝配置說明
Linux下oracle10g安裝配置說明
Linux下oracle10g安裝配置說明
Linux下oracle10g安裝配置說明
Linux下oracle10g安裝配置說明

<b>3</b><b>、登陸并啟動資料庫的操作。</b>

[oracle@oracle oracle]$ lsnrctl start

[oracle@oracle oracle]$ sqlplus /nolog

SQL*Plus: Release 10.2.0.0 - Production on Sat Mar 12 22:58:53 2005

Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.

SQL&amp;gt; connect / as sysdba

Connected.

SQL&amp;gt; shutdown immediate 關閉資料庫 (OR "dbshut" command)

Database closed.

Database dismounted.

ORACLE instance shut down.

SQL&amp;gt; startup; 啟動資料庫

ORACLE instance started.

Total System Global Area 236000356 bytes

Fixed Size 451684 bytes

Variable Size 201326592 bytes

Database Buffers 33554432 bytes

Redo Buffers 667648 bytes

Database mounted.

Database opened.

<b>4</b><b>。dbstart腳本修改</b>

資料庫建立完成後,修改vi /etc/oratab,把orcl:/opt/oracle/oracle/product/10g:N那一行最後的N改成Y,

然後執行dbstart啟動資料庫資料庫可能無法啟動,報告Can’t find init file …的錯誤,需要複制一個初始化檔案:

cp /opt/oracle/admin/ge01/pfile/init.ora.* /opt/oracle/product/10.2.0/dbs/initge01.ora

重新執行dbstart就可以了。

修改vi /opt/oracle/product/10g/bin/dbstart中ORACLE_HOME_LISTNER=/opt/oracle/oracle/product/10g/

vi /etc/rc.local 加入下面一行 起動ORACLE ON system boot

/opt/oracel/product/10g/bin/dbstart

<b>5. </b><b>編寫啟動腳本(OPTION)</b>

為了友善管理,可以寫一個啟動腳本ora10g:

以root身份進入,編寫以下腳本:

#!/bin/bash

#

# chkconfig: 2345 91 19

# description: starts the oracle listener and instance

status() {

    pid=`ps -ef | grep ora_pmon | grep -v grep | awk '{print $8}'`

    if [ "X$pid" = "X" ]

    then

        echo "oracle10g is not running."

        exit 1

    else

        echo "oracle10g is running."

        exit 0

    fi

}

case "$1" in

    start)

        #startup the listener and instance

        echo -n "oracle begin to startup: "

        su - oracle -c "lsnrctl start"

        su - oracle -c dbstart

        echo "oracle10g started"

        ;;

    stop)

        # stop listener, apache and database

        echo -n "oracle begin to shutdown:"

        su - oracle -c "lsnrctl stop"

        su - oracle -c dbshut

        echo "oracle10g shutdowned"

    reload|restart)

        $0 stop

        $0 start

    'status')

        status

     *)

        echo "Usage: ora10g [start|stop|reload|restart]"

esac

exit 0

存為ora10g後,然後

chmod a+x ora10g

ln -s /opt/oracle/product/10.2.0/bin/ora10g /etc/rc.d/init.d/

即可在以後以root身份運作/etc/rc.d/init.d/ora10g start |stop 來管oracle的啟動和停止了。

如果要将這個腳本加入到系統中使其可開機運作,那麼要運作以下指令:

chkconfig --level 345 ora10g on

或者可在/etc/rc.d/rc.local中加入如下:

su - oracle -c "lsnrctl start"

su - oracle -c "dbstart"

<b>6</b><b>。關于資料庫删除重新安裝的問題: </b>

把ORACLE安裝目錄删除及/etc/ora*.*删除就行了

#rm –f /etc/ora*.*

<b>7.</b><b>修改Oracle10g資料庫字元集</b>

SQL&amp;gt; connect sys/oracle as sysdba

SQL&amp;gt; startup mount

SQL&amp;gt; alter session set sql_trace=true;

Session altered.

SQL&amp;gt; alter system enable restricted session;

System altered.

SQL&amp;gt; alter system set job_queue_processes=0;

SQL&amp;gt; alter system set aq_tm_processes=0;

SQL&amp;gt; alter database open;

Database altered.

SQL&amp;gt; set linesize 120;

SQL&amp;gt; alter database character set zhs16gbk;

alter database character set zhs16gbk

*

ERROR at line 1:

ORA-12712: new character set must be a superset of old character set

SQL&amp;gt; ALTER DATABASE character set INTERNAL_USE zhs16gbk; # 使用INTERNAL_USE可以跳過超集的檢查,ALTER DATABASE character set INTERNAL_USE

SQL&amp;gt; shutdown immediate;

SQL&amp;gt; STARTUP

SQL&amp;gt; select name,value$ from props$ where name like '%NLS%';

NLS_CHARACTERSET

ZHS16GBK

<b>8. oracle database</b><b>備份</b>

(1)vi bachupDb.sh

#!/bin/sh

#oracle使用者下

#crontab -e 增加 "35 4 * * * /home/oracle/dbbackup/backupDb.sh",儲存後自動安裝

#或echo "35 4 * * * /home/oracle/dbbackup/backupDb.sh" &amp;gt; backupDb.cron

#crontab backupDb.cron

#############

#@tip 修改為本機資料庫home目錄

export PATH=$ORACLE_HOME/bin:$PATH:$HOME/bin

# 注意字元集必須和資料庫的字元集一緻,以避免字元集轉化失敗

export NLS_LANG=AMERICAN_AMERICA.zhs16gbk

#@tip 125修改為要備份的oracle的ip位址的最後一段

dmpfile="`echo ~/`dbbackup/gedb_`date +%w`.dmp"

logfile="`echo ~/`dbbackup/gedb_`date +%w`.log"

if [ -w $dmpfile ]

then

  echo "rm -f $dmpfile"

  rm -f "$dmpfile"

fi

#@tip ip位址修改為要備份的oracle的主機位址

exp USERID=gedb/[email protected]/ge01 file=$dmpfile log=$logfile  owner=gedb grants=y

  (2)copy bachupDb.sh 到slave oracle srever 相應目錄,

     chown oracle.oinstall bachupDb.sh

     chmod 744 bachupDb.sh   

     vi bachupDb.sh 以符合安裝情況

(3)以oracle user role

    crontab -e

    35 4 * * * /home/oracle/dbbackup/backupDb.sh

<b>9. restore oracle backup</b>

su - oracle

imp USERID=gedb/gedb file=gedb_6.dmp log=implogfile  commit=y  grants=y full=y

繼續閱讀