Oracle 安装(AS4)

1 检查系统配置

   本文主要讲解在AS4上安装Oracle 10g,它对硬件和操作系统有一定要求,同时还依赖一系列的软件包,因此必须以Root身份登录AS4,逐步进行如下准备和更新软件包的工作。

1.1检查cpu信息

# grep "model name" /proc/cpuinfo

  model name      : Intel(R) Core(TM)2 Duo CPU     P8600  @ 2.40GHz

# dmesg | grep CPU

  Initializing CPU#0

  CPU 0 irqstacks, hard=c03d3000 soft=c03d2000

  CPU: After generic identify, caps: 0febfbff 00100000 00000000 00000000

  CPU: After vendor identify, caps:  0febfbff 00100000 00000000 00000000

  CPU: L1 I cache: 32K, L1 D cache: 32K

  CPU: After all inits, caps:        0febf3ff 00100000 00000000 00000040

  Intel machine check reporting enabled on CPU#0.

  CPU: Intel(R) Core(TM)2 Duo CPU     P8600  @ 2.40GHz stepping 08

  ACPI: Processor [CPU0] (supports C1, 8 throttling states)

# rpm -q --queryformat "%{ARCH}\n" kernel

  i686

1.2检查内存

# grep MemTotal  /proc/meminfo  -内存大小

  memTotal:       256044 kB

# grep SwapTotal /proc/meminfo  --交换分区大小swap

  SwapTotal:      524280 kB

# free -m

               total       used       free     shared    buffers     cached

  Mem:        250        240          9         0       13        129

  -/+ buffers/cache:           96        153

  swap:        511          0         511

# ls -lh /proc/kcore

  -r--------  1 root root 257M  4  7 23:16 /proc/kcore

# top

# df -h /dev/shm --共享内存

  Filesystem            容量  已用 可用 已用% 挂载点

  none               126M      0 126M    0% /dev/shm

1.3查看计算机的硬件信息(包括主板等)

# dmidecode

1.4查看硬盘信息

# df

  Filesystem             1K-        已用     可用  已用%  挂载点

  /dev/mapper/VolGroup00-LogVol00

                        15417264  5723388   8910724  40%   /

  /dev/sda1               505604     14014    465486   3%   /boot

  none                   128020         0    128020   0%   /dev/shm

  /dev/hdc                614270    614270         0  100%  /media/cdrom

# hdparm -i /dev/hda --查看型号

1.5检查操作系统型号

# cat /etc/issue

  Red Hat Enterprise Linux AS release 4 (Nahant)

  Kernel \r on an \m

1.6检查内核版本

# uname -rv

  2.6.9-5.EL #1 Wed Jan 5 19:22:18 EST 2005

1.7检查/tmp分区(要求/tmp >=400MB)

# df -m /tmp

  Filesystem             1M-        已用     可用 已用%  挂载点

  /dev/mapper/VolGroup00-LogVol00

                         15056       5590     8702   40%  /

1.8检查依赖软件包

若没安装就会报 Error in invoking target ’all_no_orcl ihsodbe of make file’所以以下的包是全部要安装完。

检查软件包是否安装的命令如:rpm –q gcc

AS5要求软件包:

libXp-1.0.0-8.i386.rpm

openmotif22-2.2.3-18.i386.rpm

compat-db-4.2.52-5.1.i386.rpm

compat-gcc-34-3.4.6-4.i386.rpm

compat-gcc-34-c++-3.4.6-4.i386.rpm

compat-libstdc++-33-3.2.3-61.i386.rpm

libaio-0.3.106-3.2.i386.rpm

AS4(大部分都在第三个光盘可以用rpm -Uvh compat* 安装)

binutils-2.15.92.0-10.EL4

compat-db-4.1.25-9

compat-gcc-32-3.2.3-47.3

compat-gcc-32-c++-3.2.3-47.3

compat-libstdc++-33-3.2.3-47.3

control-center-2.8.0-12

gcc-3.4.3-9.EL4

gcc-c++-3.4.3-9.L4

glibc-2.3.4-2

glibc-common-2.3.4-2

gnome-libs-1.4.1.2.90EL4

libstdc++-3.4.3-9.EL4

libstdc++-devel-3.4.3-9.EL4

libaio-0.3.102-1

openmotif21-2.1.30-11

make-3.80.5

pdksh-5.2.14.30

sysstat-5.0.5-1

setarch-1.3-1

xscreensaver-4.18-5.rhe4.2

注意:

1)建议系统配置:内存>=1G,SWAP>=内存*2,硬盘>=4G(如果内存>=2G,SWAP>=内存即可)

2)oracle64位和32位和OS要一致(orcale10不支持RHEL5,需要修改/etc/redhat_realease Red Hat Enterprise Linux Server release 5 (Tikanga)改为Red Hat Enterprise Linux Server release 4 (Tikanga)

3)修改/etc/hosts 文件将127.0.0.1改为你的ip 否则网络检查通不过


2 安装oracle 10g 前的准备工作

   以下将以root的身份完成安装oracle 10g前的准备工作。

2.1创建用户和组

$ su root

  Password:

# groupadd oinstall

# groupadd dba

# useradd -g oinstall -G dba oracle

# passwd oracle

2.2创建目录

创建Oracle的安装目录,并把权限付给oracle用户:

# mkdir -p /u01/app/oracle/product/10.2.0/db_1

# chown -R oracle.oinstall /u01

2.3 修改内核参数

编辑文件 /etc/sysctl.conf,修改以下项目(如果没有可以自己添加):

kernel.shmall = 2097152         # 可以使用的共享内存的总量。

kernel.shmmax = 2147483648     # 最大共享内存段大小(物理内存的一半)

kernel.shmmni = 4096           # 整个系统共享内存段的最大数目。

kernel.sem = 250 32000 100 128  # 每个信号对象集的最大信号对象数;系统范围内最大信号对象数;每个信号对象支持的最大操作数;系统范围内最大信号对象集数。

fs.file-max = 65536            # 系统中所允许的文件句柄最大数目。

net.ipv4.ip_local_port_range = 1024 65000 # 应用程序可使用的IPv4端口范围。

net.core.rmem_default = 1048576        # 套接字接收缓冲区大小的缺省值

net.core.rmem_max = 1048576          # 套接字接收缓冲区大小的最大值

net.core.wmem_default = 262144        # 套接字发送缓冲区大小的缺省值

net.core.wmem_max = 262144          # 套接字发送缓冲区大小的最大值

注:内核参数并非必须修改,可以根据自己实际情况而定。

运行下面的命令使得内核参数生效:

/sbin/sysctl –p

 

然后,应该检查一下上面的操作是否正确:

# /sbin/sysctl -a | grep sem

# /sbin/sysctl -a | grep shm

# /sbin/sysctl -a | grep file-max

# /sbin/sysctl -a | grep ip_local_port_range

也可以在运行时通过执行下列命令更改内核参数:

#echo 250 32000 100 128 > /proc/sys/kernel/sem

#echo 268435456 > /proc/sys/kernel/shmmax # 1/2 * mem_size(M) * 1024 *1024

#echo 4096 > /proc/sys/kernel/shmmni

#echo 524288 > /proc/sys/kernel/shmall # mem_size(M) * 1024

#echo 65536 > /proc/sys/fs/file-max

#echo 1024 65000 > /proc/sys/net/ipv4/ip_local_port_range

2.4设置oracle对文件的要求

修改/etc/security/limits.conf 文件中:

oracle soft    nproc   2047

oracle hard    nproc   16384

oracle soft    nofile  1024

oracle hard    nofile  65536

也可:

#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

 

增加下面的内容到文件 /etc/pam.d/login :

#插入式认证模块

session required /lib/security/pam_limits.so

session required pam_limits.so

2.5 防火墙设置

因为SELINUXoracle有影响,所以把secure linux设成无效,编辑文件 /etc/selinux/config:

# 取消SELINUXORACLE的强制访问控制限制

SELINUX=disabled

当然你也可以用图形界面下的工具 (系统 > 管理 > 安全级别和防火墙). 选择SELinux页面并且设为无效.

2.6设置环境变量

登录到oracle 用户并且配置环境变量(增加下面的内容到文件.bash_profile

#Oracle Settings

ORACLE_BASE=/u01/app/oracle; export ORACLE_BASE

ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1; export ORACLE_HOME

ORACLE_SID=orcl; export ORACLE_SID

ORACLE_OWNER=oracle; export ORACLE_OWNER

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

DISPLAY=192.168.0.105:0,0; export DISPLAY #如果本机有Xserver图形界面的话以下这段可以不写

ORACLE_TERM=xterm; export ORACLE_TERM  #如果本机有Xserver图形界面的话以下这段可以不写

LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib; export LD_LIBRARY_PATH

CLASSPATH=$ORACLE_HOME/jre:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib

CLASSPATH=$CLASSPATH:$ORACLE_HOME/network/jlib; export CLASSPATH export CLASSPATH

TMP=/tmp; export TMP

TMPDIR=$TMP; export TMPDIR

export LANG=AMRICAN

export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK

注意:也可用命令设置:export ORACLE_BASE="/u01/app/oracle"

      $oracle_home 可以自己定;为效率有的人单独为oracle 分配磁盘空间 主目录自己定的情况下。

 

配置好后用命令使配置生效:

#source .bash_profile

 

检查环境变量是否生效:

#set |grep ORACLE_HOME

#env |grep ORACLE_HOME

#unset ORACLE_HOME #清除环境变量

BourneBashKorn shell,用编辑器 qedit 在文件/etc/profile 中加入下面的行:(备注以下的命令添加后,会提示ulimit 出错:

-bash: ulimit: pipe size: cannot modify limit: Invalid argument)

if [ $USER = "oracle" ]; then

  if [ $SHELL = "/bin/ksh" ]; then

    ulimit -p 16384

    ulimit -n 65536

  else

    ulimit -u 16384 -n 65536

  fi

fi

 2.7安装依赖的软件包

   # RedHat AS5 光盘1

cd /media/cdrom/Server

rpm -Uvh setarch-2* U为更新软件包。

rpm -Uvh make-3*

rpm -Uvh glibc-2*

rpm -Uvh libaio-0*

cd /

eject

 

# RedHat AS5 光盘2

cd /media/cdrom/Server

rpm -Uvh compat-libstdc++-33-3*

rpm -Uvh compat-gcc-34-3*

rpm -Uvh compat-gcc-34-c++-3*

rpm -Uvh gcc-4*

rpm -Uvh libXp-1*

cd /

eject

 

# RedHat AS5 光盘3

cd /media/cdrom/Server

rpm -Uvh openmotif-2*

rpm -Uvh compat-db-4*

cd /

eject

 

对于AS4大部分软件包都在路径:/media/cdrom/RedHat/RPMS

cd /media/cdrom/RedHat/RPMS

rpm –Uvh gcc

……

cd /

eject

2.8创建备份文件系统

查找工具

ls -l /sbin/mkfs*

-rwxr-xr-x  1 root root  6912 2004-12-22  /sbin/mkfs

-rwxr-xr-x  1 root root 15300 2004-12-22  /sbin/mkfs.cramfs

-rwxr-xr-x  3 root root 34836 2004-12-23  /sbin/mkfs.ext2

-rwxr-xr-x  3 root root 34836 2004-12-23  /sbin/mkfs.ext3

-rwxr-xr-x  3 root root 28484 2004-10-13  /sbin/mkfs.msdos

-rwxr-xr-x  3 root root 28484 2004-10-13  /sbin/mkfs.vfat

创建EXT2文件系统:mkfs.ext2 /dev/sda2

创建EXT3文件系统:mkfs t ext3 /dev/sda2

创建ReiserFS文件系统:mkfs.reiserfs /dev/sda2

EXT2文件系统升级为EXT3文件系统:tune2fs -j /dev/sda2

注意:在某些情况下,不应当把EXT2文件系统升级为EXT3文件系统,特别是EXT2文件系统存放Oracle等数据库文件时。这种数据库文件自身内置日志机制,对同一个文件运行两个日志机制可能引起数据损坏或引起数据库系统崩溃。


3 安装oracle 10g

登录到oracle用户,到刚才解压出来的目录用下面的命令,启动Oracle智能安装向导(Oracle Universal Installer ),就出现了图形界面,再按照提示一步一步安装。

3.1 运行runInstaller进行安装

./runInstaller

注意:

1#如出现Xlib: connection to :0.0 refused by server错误,可以运行xhost + ,如果不是在本地安装,可能还需要指定DISPLAY=IP:0.0 & export DISPLAY

2)安装时根据说明操作即可,在选择字符集时,可选Unicode standard utf-8 al32utf8,并选择”Create database with sample schemas; 另外在Specify database schema passwords,选择Use the same password for all the accounts(根据需要)

3#如出现/usr/lib/libstdc++.so.5: No such file or directory错误,可以安装compat-libstdcxxx.rpm

3.2 查看以下三个.ora文件中的主机与端口

cd /u01/app/oracle/product/10.2.0/db_1/network/admin

listener.ora  sqlnet.ora  tnsnames.ora

安装快完成好的时候,会出现提示,必须以root 的身份执行两个脚本。

最后,单击完成按钮,完成安装。


4 安装后续工作

完成安装Oracle 后,还要进行一系列的初始化与配置工作,另外为了方便以后管理还需编写系列的SHELL程序。

4.1 Oracle系统初始化

root用户登录,然后运行$ORACLE_HOME/root.sh进行Oracle的系统初始化工作,通常一路按回车用默认值即可。

4.2登陆并启动数据库的操作

检查:$oracle_home/ network/admin/listener.ora 的配置是否正确

[oracle@oracle oracle]$ lsnrctl start

[oracle@oracle oracle]$ sqlplus /nolog

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

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

SQL> connect / as sysdba

Connected.

SQL> shutdown immediate 关闭数据库 OR "dbshut" command)

Database closed.

Database dismounted.

ORACLE instance shut down.

SQL> 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.

4.3 dbstart脚本修改

首先修改vi /etc/oratab,把orcl:/opt/oracle/oracle/product/10g:N那一行最后的N改成Y

然后执行dbstart启动admin数据库数据库可能无法启动,报告Cant find init file …的错误,需要复制一个初始化文件:

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

重新执行dbstart就可以了。

修改 vi /opt/oracle/product/10g/bin/dbstart

   vi /u01/app/oracle/product/10.2.0/db_1/bin/ dbstart

ORACLE_HOME_LISTNER=/opt/oracle/oracle/product/10g/

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

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

4.4 编写启动脚本(OPTION

为了方便管理,可以写一个启动脚本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]"

        exit 1

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"

4.5 修改Oracle10g数据库字符集

SQL> connect sys/oracle as sysdba

SQL> startup mount

SQL> alter session set sql_trace=true;

Session altered.

SQL> alter system enable restricted session;

System altered.

SQL> alter system set job_queue_processes=0;

System altered.

SQL> alter system set aq_tm_processes=0;

System altered.

SQL> alter database open;

Database altered.

SQL> set linesize 120;

SQL> 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> ALTER DATABASE character set INTERNAL_USE zhs16gbk;

# 使用INTERNAL_USE可以跳过超集的检查,ALTER DATABASE character set INTERNAL_USE

Database altered.

SQL> shutdown immediate;

Database closed.

Database dismounted.

ORACLE instance shut down.

SQL> STARTUP

SQL> select name,value$ from props$ where name like '%NLS%';

NLS_CHARACTERSET

ZHS16GBK

4.6 oracle database简单备份与恢复(使用数据泵)

vi bachupDb.sh

#!/bin/sh

#oracle用户下

#crontab -e 增加 "35 4 * * * /home/oracle/dbbackup/backupDb.sh",保存后自动安装

#echo "35 4 * * * /home/oracle/dbbackup/backupDb.sh" > backupDb.cron

#crontab backupDb.cron

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

#@tip 修改为本机数据库home目录

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

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

# 注意字符集必须和数据库的字符集一致,以避免字符集转化失败

export NLS_LANG=AMERICAN_AMERICA.zhs16gbk

#@tip 125修改为要备份的oracleip地址的最后一段

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/gedb@10.248.1.5/ge01 file=$dmpfile log=$logfile wner=gedb grants=y

 

bachupDb.sh赋权

cp bachupDb.sh slave oracle srever目录

chown oracle.oinstall bachupDb.sh

chmod 744 bachupDb.sh   

 

vi bachupDb.sh 以符合安装情况

oracle user role

crontab –e 35 4 * * * /home/oracle/dbbackup/backupDb.sh

 

restore oracle backup(恢复数据)

su - oracle

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


5 卸载Oracle 10g

5.1卸载Oracle 10g

只须运行:

$./runInstaller -silent -deinstall -removeallfiles -removeAllPatches "REMOVE_HOMES={$ORACLE_HOME}" -responseFile <安装时使用的应答文件>

注意:关于数据库删除重新安装的问题:

ORACLE安装目录删除及/etc/ora*.*删除就行了

#rm –f /etc/ora*.*

#rm –rf /u01

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/21126685/viewspace-660699/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/21126685/viewspace-660699/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值