天天看点

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

继续阅读