`
wtfypm
  • 浏览: 10786 次
  • 性别: Icon_minigender_1
  • 来自: 陕西
社区版块
存档分类
最新评论

Linux下Oracle 10 g的安装

阅读更多
资源需要:

至少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

查看系统资源相关语句:

cat /etc/issue

uname -r

grep MemTotal /proc/meminfo

grep SwapTotal /proc/meminfo

grep "model name" /proc/cpuinfo

free

df -k /tmp

df -k

安装前的检查和准备工作:

p4198954_21_linux.zip 在运行 runInstaller 之前打.

rpm -ivh compat-oracle-rhel4-1.0-5.i386.rpm     (p4198954_21_linux.zip)

(不打PATH也可以)

安装 libaio-0.3.102-1.i386.rpm 和libaio-devel0.3.102-1.i386.rpm

  在Red Hat Enterprise Linux 介质的第三张 CD

  以 root 用户身份运行以下命令:

rpm -ivh /mnt/cdrom/RedHat/RPMS/ libaio-0.3.102-1.i386.rpm

创建数据库安装的准备工作:

1,创建user/group;

groupadd dba

groupadd oinstall

useradd oracle -g oinstall -G dba

passwd oracle

如果nobody用户不存在(id nobody命令查看),则创建:

useradd nobody

2,建立oracle安装文件夹(sample);

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

mkdir /opt/oracle/database

chown -R oracle.oinstall  /opt/oracle

chmod 755 -R /opt/oracle

2, 配置环境变量;

要使用 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 命令使配置生效   

4, 设置系统参数;

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"命令使得内核改变立即生效;

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

解压缩Oracle10G的安装文件 :

1. Oracle

(1) 简化过程(以oracle登录,释放安装文件,使用更少的磁盘空间,速度更快)

在/tmp下解压缩10201_database_linux32.zip:

unzip 10201_database_linux32

开始安装oracle

(一)开始安装:

1.以oracle用户登录系统,进行Oracle的安装:

cd /tmp/database (或者你解压缩安装程序包的目录)

./runInstaller

过一会儿就会出现Oracle的安装界面

注意:

1、选择advance install

2、数据库home设置为/opt/oracle/product/10g

3、数据库全局名称设置为ge01

4、数据库字符集选Simplified Chinese ZHS16GBK

2.其他用默认设置!

注意:安装过程中会提示以root用户登陆执行一些脚本 ,执行后再按“ok”按钮继续安装。

3、登陆并启动数据库的操作。

[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, dbstart脚本修改

数据库创建完成后,修改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

5. 编写启动脚本(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"

6, 关于数据库删除重新安装的问题:

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

#rm –f /etc/ora*.*

7.修改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

8. oracle database备份

(1)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修改为要备份的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/gedb@10.248.1.5/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

9. restore oracle backup

su - oracle

imp USERID=gedb/gedb file=gedb_6.dmp log=implogfile  commit=y  grants=y full=y
0
0
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics