linux 安裝ORACLE

chicken0915發表於2012-07-10

檢查lib需求

uname -r    2.4.21-4.EL

rpm -q gcc make binutils openmotif setarch compat-db compat-gcc \

compat-gcc-c++ compat-libstdc++ compat-libstdc++-devel

gcc-3.2.3-2

make-3.79

binutils-2.11

openmotif-2.2.2-16

setarch-1.3-1

compat-gcc-7.3-2.96.122

compat-gcc-c++-7.3-2.96.122

compat-libstdc++-7.3-2.96.122

compat-libstdc++-devel-7.3-2.96.122

compat-db-4.0.14.5

 

檢視可用的ram和交換空間大小  所需最小 RAM 為 512MB,而所需最小交換空間為 1GB

grep MemTotal /proc/meminfo

grep SwapTotal /proc/meminfo

Oracle 10g 軟體還需要 2.5GB 的可用磁碟空間,而資料庫則另需 1.2GB 的可用磁碟空間。/tmp 目錄至少需要 400MB

df -h

useradd usermod userdel

關閉 防火請  和 selinux

groupadd oinstall

groupadd dba

useradd -d /usr/oracle -g oinstall -G dba oracle

id oracle

passwd oracle

mkdir -p /u01/app/oracle

mkdir -p /u02/oradata

chown -R oracle:oinstall /u01/app/oracle /u02/oradata

chmod -R 775 /u01/app/oracle /u02/oradata

*************************************************************

Linux 允許在系統啟動和執行時修改大多數核心引數。Oracle 資料庫 10g 需要以下所示的核心引數設定。其中給出的是最小值,因此如果您的系統使用的值較大,則不要更改它。

cat >> /etc/sysctl.conf <

kernel.shmall = 2097152

kernel.shmmax = 536870912

kernel.shmmni = 4096

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.wmem_default=262144

net.core.rmem_max=262144

net.core.wmem_max=262144

EOF

 

最後四個設定是10G R2要求的

以下命令啟用設定

/sbin/sysctl -p

**************************************************************

以 oracle 身份登入

設定環境變數:

Borne shell 和 Korn shell在 .bash_profile 或 .profile(bash 或 ksh)中新增以下行

ORACLE_BASE=/u01/app/oracle; export ORACLE_BASE

ORACLE_SID=demo1; export ORACLE_SID

export PORT=1521

export ORACLE_HOME=/u01/app/oracle/product/10.2.0/db_1

 

C shell  在 .login (csh) 中新增以下行:

setenv ORACLE_BASE /u01/app/oracle

setenv ORACLE_SID demo1

 

使用圖形登入以 oracle 身份登入。

 

建立一個目錄以存放 Oracle 10g 發行套件:

 

mkdir 10g_db

cd 10g_db

gunzip ship.db.cpio.gz

cpio -idmv < ship.db.cpio

啟動 Oracle 通用安裝程式。

$ ./runInstaller

 

需要使用遠端桌面時 配置

DISPLAY = 127.0.0.1:0.0

export  DISPLAY

 

安裝過程中會提示 PORT 為NULL的錯誤

之後需要以 root執行指令碼

/u01/app/oracle/oraInventory/orainstRoot.sh

/u01/app/oracle/product/10.2.0/db_1/root.sh

該指令碼會將新增環境變數 ORACLE_OWNER和 ORACLE_HOME。

並將部分內容新增至/usr/local/bin中

ORACLE_OWNER=oracle

ORACLE_HOME=/u01/app/oracle/product/10.2.0/db_1

 

終端使用者環境變數

export ORACLE_OWNER=oracle

export ORACLE_HOME=/u01/app/oracle/product/10.2.0/db_1

ORACLE_BASE=/u01/app/oracle; export ORACLE_BASE

ORACLE_SID=wyw; export ORACLE_SID

 

export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$ORACLE_HOME/lib32:.:$LD_LIBRARY_PATH

export SHLIB_PATH=$ORACLE_HOME/lib:$SHLIB_PATH

PATH=$PATH:$ORACLE_HOME/bin:$HOME/bin:/usr/bin:/etc:/usr/sbin:/usr/ucb:$HOME/bin:/usr/bin/X11:/sbin:/usr/local/bin:.

export PATH

export LIBPATH=$ORACLE_HOME/lib:.

 

如果提示njni10問題,可用如下方法解決

[oracle@mylinux1 bin]$ ln -s $ORACLE_HOME/lib/libnjni10.dylib $ORACLE_HOME/lib/libnjni10

[oracle@mylinux1 bin]$ ln -s $ORACLE_HOME/lib/libclntsh.dylib $ORACLE_HOME/lib/libclntsh.dylib.10.1

 

PORT 引數為NULL 的問題 ,會導致tns出錯,可以手動更改

 

 

建立裸裝置,使用oracle使用者登入 ,可以減少相當多的任務

 

/dev/sdb1               1         798     5237158+   5  Extended                

/dev/sdb2            799         921     1799248+  83  Linux spfile                 

/dev/sdb5               1          13      104359+  83  Linux    control01        12

/dev/sdb6              14          26      104391   83  Linux    control02        12

/dev/sdb7              27          39      104391   83  Linux    control03        12

/dev/sdb8              40          52      104391   83  Linux    redo01                11

/dev/sdb9              53          59       56196   83  Linux     redo02        

/dev/sdb10             60         182      987966   83  Linux   system

/dev/sdb11            183         305      987966   83  Linux  sysaux

/dev/sdb12            306         428      987966   83  Linux  undotbs1

/dev/sdb13            429         652     1799248+  83  Linux temp

/dev/sdb14            653         675     1799248+  83  Linux users

/dev/sdb15            676         798     1799248+  83  Linux data

 

*****************************************************************

 

/dev/sdb17            922         1044     1799248+  83  Linux 

/dev/sdb18            1045         1200     1799248+  83  Linux

/dev/sdb19            1201         1403     1799248+  83  Linux

/dev/sdb20            1404         3916     1799248+  83  Linux

*****************************************************************

#vi /etc/sysconfig/rawdevices

cat >> /etc/sysconfig/rawdevices <

/dev/raw/raw1 /dev/sdb5

/dev/raw/raw2 /dev/sdb6

/dev/raw/raw3 /dev/sdb7

/dev/raw/raw4 /dev/sdb8

/dev/raw/raw5 /dev/sdb9

/dev/raw/raw6 /dev/sdb10

/dev/raw/raw7 /dev/sdb11

/dev/raw/raw8 /dev/sdb12

/dev/raw/raw9 /dev/sdb13

/dev/raw/raw10 /dev/sdb14

/dev/raw/raw11 /dev/sdb15

/dev/raw/raw12 /dev/sdb2

EOF

 

建立連結關係

 

ln -s /dev/raw/raw1 /u02/oradata/orcl/control01

ln -s /dev/raw/raw2 /u02/oradata/orcl/control02

ln -s /dev/raw/raw3 /u02/oradata/orcl/control03

ln -s /dev/raw/raw4 /u02/oradata/orcl/redo01

ln -s /dev/raw/raw5 /u02/oradata/orcl/redo02

ln -s /dev/raw/raw6 /u02/oradata/orcl/system

ln -s /dev/raw/raw7 /u02/oradata/orcl/sysaux

ln -s /dev/raw/raw8 /u02/oradata/orcl/undotbs1

ln -s /dev/raw/raw9 /u02/oradata/orcl/temp

ln -s /dev/raw/raw10 /u02/oradata/orcl/users

ln -s /dev/raw/raw11 /u02/oradata/orcl/data

ln -s /dev/raw/raw12 /u02/oradata/orcl/spfile

 

載入裸裝置

 

#/sbin/service rawdevices restart

 

 

建立oracle裸裝置檔案

 

vi /u02/oradata/dbca.conf

 

內容如下:

 

spfile=/u02/oradata/orcl/spfile

system=/u02/oradata/orcl/system

sysaux=/u02/oradata/orcl/sysaux

undotbs1=/u02/oradata/orcl/undotbs1

data=/u02/oradata/orcl/data

temp=/u02/oradata/orcl/temp

users=/u02/oradata/orcl/users

redo1_1=/u02/oradata/orcl/redo01

redo1_2=/u02/oradata/orcl/redo02

control1=/u02/oradata/orcl/control01

control2=/u02/oradata/orcl/control02

control3=/u02/oradata/orcl/control03

 

mkdir -p /u02/oradata/orcl

chown -R oracle:oinstall /u02/oradata/orcl

chown -R oracle:oinstall /dev/raw/raw1

chown -R oracle:oinstall /dev/raw/sdb1

chown -R oracle:oinstall /u02/oradata/orcl

 

 

 

cpio -idcmv <

tar -cvf          打包 但不壓縮

tar -zcvf        打包成gzip

tar -jcvf        打包成bzip2

 

tar -zxvf        解壓

gzip -d

gzip -c

red hat 5 中安裝需要包 rpm -ivh libXp-1.0.0-8.i386.rpm

如果提示libstdc++-libc6.1-1.so.2(或者類似的檔案)找不到,出現這個問題

的原因通常是glibc的版本過高,可以使用一個符號連結來解決,具體步驟如下:

  cd /usr/lib                                            

  ln -sf libstdc++.so.5.0.7 libstdc++-libc6.1-1.so.2                  

  libstdc++.so.5.0.0是系統中已經存在的庫檔案,上面的命令將會建立一個新

檔案libstdc++-libc6.1-1.so.2,這個檔案指向已經存在的那個庫檔案。這種方法

其實就欺騙一下程式,因此這個方法不是總的有效,你應當儘可能使用和gcc版本相

匹配的外掛。

 

echo oracle soft nofile 65536 >> /etc/security/limits.conf

echo oracle hard nofile 65536 >> /etc/security/limits.conf

echo oracle soft nproc 16384 >> /etc/security/limits.conf

echo oracle hard nproc 16384 >> /etc/security/limits.conf

 

 

 

export ORACLE_SID=orcl

export ORACLE_BASE=/u01/app/oracle

export ORACLE_HOME=/u01/app/oracle/9.2.0.4 

export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib:/usr/local/lib:/usr/X11R6/lib

export TNS_ADMIN=$ORACLE_HOME/network/admin

export ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data

export ORACLE_OWNER=oracle

export ORACLE_TERM=xterm

export PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin:$ORACLE_HOME/bin:.

#export LD_ASSUME_KERNEL=2.4.1

export THREADS_FLAG=native

export NLS_LANG="American_america.zhs16gbk"

#export NLS_LANG="SIMPLIFIED CHINESE_CHINA.ZHS16GBK"

export DISPLAY=:0

export LANG=en_US

export GDM_LANG=en_US

export LC=en_US

unset USERNAME

 

 

 

 

 

/u01/oradata/orcl

 

ln -s /dev/raw/raw1 /u01/oradata/orcl/control01

ln -s /dev/raw/raw2 /u01/oradata/orcl/control02

ln -s /dev/raw/raw3 /u01/oradata/orcl/control03

ln -s /dev/raw/raw4 /u01/oradata/orcl/redo01

ln -s /dev/raw/raw5 /u01/oradata/orcl/redo02

ln -s /dev/raw/raw6 /u01/oradata/orcl/spfile

ln -s /dev/raw/raw7 /u01/oradata/orcl/sysaux

ln -s /dev/raw/raw8 /u01/oradata/orcl/undotbs1

ln -s /dev/raw/raw9 /u01/oradata/orcl/temp

ln -s /dev/raw/raw10 /u01/oradata/orcl/users

ln -s /dev/raw/raw11 /u01/oradata/orcl/system

ln -s /dev/raw/raw12 /u01/oradata/orcl/data

 

 

 

ln -s /dev/raw/raw1 /oracle/oradata/orcl/control01  100

ln -s /dev/raw/raw2 /oracle/oradata/orcl/control02  100

ln -s /dev/raw/raw3 /oracle/oradata/orcl/control03  100

ln -s /dev/raw/raw4 /oracle/oradata/orcl/redo01  100

ln -s /dev/raw/raw5 /oracle/oradata/orcl/redo02  100

ln -s /dev/raw/raw6 /oracle/oradata/orcl/spfile  1000

ln -s /dev/raw/raw7 /oracle/oradata/orcl/sysaux  1000

ln -s /dev/raw/raw8 /oracle/oradata/orcl/undotbs1  1000

ln -s /dev/raw/raw9 /oracle/oradata/orcl/temp  1000

ln -s /dev/raw/raw10 /oracle/oradata/orcl/users  1000

ln -s /dev/raw/raw11 /oracle/oradata/orcl/system  3000

ln -s /dev/raw/raw12 /oracle/oradata/orcl/data  10000

 

 

 

#vi /home/oracle/dbca.conf

 

內容如下:

 

spfile = /u01/oradata/orcl/spfile

system = /u01/oradata/orcl/system

sysaux = /u01/oradata/orcl/sysaux

undotbs1= /u01/oradata/orcl/undotbs1

data =   /u01/oradata/orcl/data

temp    = /u01/oradata/orcl/temp

users    = /u01/oradata/orcl/users

redo1_1   = /u01/oradata/orcl/redo01

redo1_2   = /u01/oradata/orcl/redo02

control1= /u01/oradata/orcl/control01

control2= /u01/oradata/orcl/control02

control3= /u01/oradata/orcl/control03

 

chmod 777 /dev/sdb*

chown oracle:oinstall /dev/sdb*

chmod 777 /dev/sdc*

chown oracle:oinstall /dev/sdc*

 

chmod -R 777 /dev/raw

chown -R oracle:oinstall /dev/raw

 

chmod -R 777 /u02/oracrs

chown -R oracle:oinstall /u02/oracrs

 

chown -R oracle:oinstall /u01

chmod -R 777 /u01

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/7755871/viewspace-735117/,如需轉載,請註明出處,否則將追究法律責任。

相關文章