CentOS5下oracle10g安装配置

1.  资源需要:

至少1024 MB物理内存

10242048 1.5倍的交互空间

20488192 1倍的交互空间

8192-更大 需0.75倍的交互空间

至少400 MB临时目录空间

oracle软件需要1.5 GB 3.5 GB 磁盘空间

默认数据库需要1.2 GB

2.  安装前的检查和准备工作
2.1 CentOS5
默认是不支持oracle10g,需要将/etc/redhat-releaseCentOS release 5 (Final)修改成redhat-4,需要记着安装完后需要将其修改回来。

2.2 需要执行yum install 以下这些软件包
compat-gcc-34
compat-gcc-34-c++
compat-libstdc++-33
gcc
gcc-c++
glibc-devel
libstdc++-devel
sysstat
libXp

rpm -q compat-gcc-34 compat-gcc-34-c++ compat-libstdc++-33 gcc gcc-c++ glibc-devel libstdc++-devel sysstat libXp (用这个命令查看这些包是否安装)

就会将你缺少的安装包文件自动装上。

3.  创建数据库安装的准备工作
3.1
创建user/group

groupadd dba

groupadd oinstall

useradd oracle -g oinstall -G dba

passwd oracle

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

useradd nobody

3.2 建立oracle安装文件夹(sample)

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

chown -R oracle.oinstall  /usr/oracle

chmod 775 -R /usr/oracle
 

[root@localhost zy]# chown -R oracle.oinstall /home/zy/Oracle10g_Linux/

[root@localhost zy]# chmod 755 -R /home/zy/Oracle10g_Linux/

Cd /

3.3 配置环境变量;

要使用 Oracle 产品,应该或必须设置几个环境变量。

如果您在同一服务器上安装了多个 Oracle 产品或数据库,则 ORcd ACLE_HOMEORACLE_SID PATH 变量可能会更改。

ORACLE_BASE 变量不应更改,并可以在需要时在您的登录配置文件中设置它。Oracle 提供了一个称作 oraenv 的实用程序来设置其他变量。

对于数据库服务器,建议设置以下环境变量:

使用Oracle用户登陆:

su - oracle

vi .bash_profile

添加以下是配置文件的内容

export ORACLE_BASE=/opt/oracle/

export ORACLE_HOME=$ORACLE_BASE/product/10g

export ORACLE_SID=SUN

export PATH=$ORACLE_HOME/bin:$PATH

export TNS_ADMIN=$ORACLE_HOME/network/admin

export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK

export LANG=zh_CN

 

 

# .bash_profile

# Get the aliases and functions

if [ -f ~/.bashrc ]; then

        . ~/.bashrc

fi

# User specific environment and startup programs

PATH=$PATH:$HOME/bin

export PATH

export ORACLE_BASE=/usr/oracle   

export ORACLE_HOME=$ORACLE_BASE/10g   

export ORACLE_SID=ARDB        

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

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

 

配置好后用 source .bash_profile 命令使配置生效

 

3.4 设置系统参数;

Oracle 数据库 10g 需要以下所示的内核参数设置。

其中给出的是最小值,因此如果您的系统使用的值较大,则不要更改它。

切换到root用户:

su root

vi .bash_profile

添加以下是配置文件的内容

export LANG=zh_CN
 

 

# .bash_profile

# Get the aliases and functions

if [ -f ~/.bashrc ]; then

        . ~/.bashrc

fi

# User specific environment and startup programs

PATH=$PATH:$HOME/bin

export PATH

export ORACLE_BASE=/usr/oracle   

export ORACLE_HOME=$ORACLE_BASE/10g   

export ORACLE_SID=ARDB         

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

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

unset USERNAME

 

 

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

 

以下适合 Linux x86-64

kernel.shmmax = 物理内存一半 (系统已配置)

kernel.shmall = 2097152  (系统已配置)

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.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     pam_limits.so
 

 

编辑文件: vi /etc/profile 文件加入一下语句
if [ $USER == "oracle" ]; then

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

              ulimit -p 16384

              ulimit -n 65536

        else

              ulimit -u 16384 -n 65536

        fi    

fi
 

source /etc/profile  (使配置生效)

4.  解压缩Oracle10G的安装文件
Oracle

一般从oracle官方网站拿到都是*.cpio.gz文件

gunzip *.cpio.gz

cpio -idcmv < *.cpio
5. 
开始安装oracle
5.1
oracle用户登录系统,进行Oracle的安装:

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

./runInstaller

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

注意:(LANG要设置为en_US)

export LANG=en_US

a、选择advance install

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

c、数据库全局名称设置为SUN

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

5.2 其他用默认设置

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

5.3 编写启动脚本(OPTION

为了方便管理,可以写一个启动脚本ora10g

root身份进入,编写以下脚本:

#!/bin/sh

#

# 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 "echo /"

                    conn / as sysdba

            startup

        exit /"|sqlplus /NOLOG"

        echo "oracle10g started"

        ;;

    stop)

        # stop listener, apache and database

        echo -n "oracle begin to shutdown:"

        su - oracle -c "lsnrctl stop"

        su - oracle -c "echo /"

            conn / as sysdba

            shutdown immediate

        exit /"|sqlplus /NOLOG"

        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/10g/bin/ora10g /etc/rc.d/init.d/

如果要将这个脚本加入到系统中使其可开机运行,那么要运行以下命令:

chkconfig --add ora10g

 


安装完成查看命中率


SELECT NAME, PHYSICAL_READS, DB_BLOCK_GETS, CONSISTENT_GETS,

1 - (PHYSICAL_READS / (DB_BLOCK_GETS + CONSISTENT_GETS)) "Hit Ratio"

FROM V$BUFFER_POOL_STATISTICS;

SELECT  sum(pinhits)/sum(pins)  FROM V$LIBRARYCACHE

SELECT (SUM(GETS - GETMISSES - FIXED)) / SUM(GETS) "ROW CACHE" FROM V$ROWCACHE

 

 

CentOS5  内核网络优化


##
减少超时前的探测次数

net.ipv4.tcp_keepalive_probes=5

##确定两次 isAlive 时间间隔探测之间的等待时间

net.ipv4.tcp_keepalive_intvl=15

##调整系统同时发起连接的tcp连接数

net.core.netdev_max_backlog=3000

net.core.somaxconn=3000

##减少TCP KeepAlive连接侦测的时间,使系统可以处理更多的连接。

net.ipv4.tcp_keepalive_time=1800

##增加TCP SYN队列长度,使系统可以处理更多的并发连接。

net.ipv4.tcp_max_syn_backlog=8192

##减少处于FIN-WAIT-2连接状态的时间,使系统可以处理更多的连接。

net.ipv4.tcp_fin_timeout=30

##打开TIME-WAIT套接字重用功能,对于存在大量连接的Web服务器非常有效

net.ipv4.tcp_tw_reuse=1

net.ipv4.tcp_tw_recycle=1

##优化TCP接收/发送缓冲区

net.ipv4.tcp_rmem=8192 4194304 8388608

net.ipv4.tcp_wmem=4096 2097152 8388608

##优化网络设备接收队列

net.core.netdev_max_backlog=3000

##优化系统套接字缓冲区

net.core.rmem_max=8388608

net.core.wmem_max=8388608


oracle 安装过程常见的几个错误与解决方法

www.firnow.com 时间:2008-07-17 作者:佚名 编辑:本站 点击: 468 [评论]

 

错误问题1

 

 

 

[oracle@nj15 database]$ ./runInstaller

正在启动 Oracle Universal Installer...

 

正在检查安装程序要求...

 

检查操作系统版本: 必须是redhat-3, SuSE-9, redhat-4, redhat-5, UnitedLinux-1.0, asianux-1 or asianux-2

通过

 

 

所有安装程序要求均已满足。

 

准备从以下地址启动 Oracle Universal Installer /tmp/OraInstall2007-12-29_02-57-39AM. 请稍候...[oracle@nj15 database]$ Exception in thread "main" java.lang.UnsatisfiedLinkError: /tmp/OraInstall2007-12-29_02-57-39AM/jre/1.4.2/lib/i386/libawt.so: libXp.so.6: cannot open shared object file: No such file or directory

at java.lang.ClassLoader$NativeLibrary.load(Native Method)

at java.lang.ClassLoader.loadLibrary0(Unknown Source)

at java.lang.ClassLoader.loadLibrary(Unknown Source)

at java.lang.Runtime.loadLibrary0(Unknown Source)

at java.lang.System.loadLibrary(Unknown Source)

at sun.security.action.LoadLibraryAction.run(Unknown Source)

at java.security.AccessController.doPrivileged(Native Method)

at sun.awt.NativeLibLoader.loadLibraries(Unknown Source)

at sun.awt.DebugHelper.<clinit>(Unknown Source)

at java.awt.Component.<clinit>(Unknown Source)

 

解决方法:

进入安装盘 server目录,把

libXp-1.0.0-8.1.el5.i386.rpm

openmotif-devel-2.3.0-0.3.el5.i386.rpm

libXp-devel-1.0.0-8.1.el5.i386.rpm

openmotif-2.3.0-0.3.el5.i386.rpm

4个安装包安装,先装 libXP,再装openmotif

 

 

错误问题2

 

 

[oracle@nj15 database]$ ./runInstaller

正在启动 Oracle Universal Installer...

 

正在检查安装程序要求...

 

检查操作系统版本: 必须是redhat-3, SuSE-9, redhat-4, redhat-5, UnitedLinux-1.0, asianux-1 or asianux-2

通过

 

 

所有安装程序要求均已满足。

 

准备从以下地址启动 Oracle Universal Installer /tmp/OraInstall2007-12-29_03-05-54AM. 请稍候...[oracle@nj15 database]$ Exception in thread "main" java.lang.InternalError: Can't connect to X11 window server using 'localhost:0.0' as the value of the DISPLAY variable.

at sun.awt.X11GraphicsEnvironment.initDisplay(Native Method)

at sun.awt.X11GraphicsEnvironment.<clinit>(Unknown Source)

at java.lang.Class.forName0(Native Method)

at java.lang.Class.forName(Unknown Source)

at java.awt.GraphicsEnvironment.getLocalGraphicsEnvironment(Unknown Source)

at java.awt.Window.init(Unknown Source)

at java.awt.Window.<init>(Unknown Source)

at java.awt.Frame.<init>(Unknown Source)

at oracle.ewt.popup.PopupFrame.<init>(Unknown Source)

at oracle.ewt.lwAWT.BufferedFrame.<init>(Unknown Source)

at oracle.sysman.oio.oioc.OiocOneClickInstaller.<init>(OiocOneClickInstaller.java:37

at oracle.sysman.oio.oioc.OiocOneClickInstaller.main(OiocOneClickInstaller.java:2091)

 

解决办法

#vi /etc/inittab

id:5:initdefault: 修改为 id:3:initdefault

#reboot

 

在文本模式下 boot登录

# startx

# xhost +

# su - oracle

$ export DISPLAY="192.168.1.15:0.0"

$ export LANG=en_US

$ cd /tmp/10201_database_linux32/databases

$ ./runInstaller

 

 

. tar

 

1.压缩一组文件为tar.gz后缀。

# tar cvf backup.tar /etc

#gzip -q backup.tar

# tar cvfz backup.tar.gz /etc/

 

2.释放一个后缀为tar.gz的文件。

#gunzip backup.tar.gz

#tar xvf backup.tar

# tar xvfz backup.tar.gz

 

3.用一个命令完成压缩

#tar cvf - /etc/ | gzip -qc > backup.tar.gz

 

4.用一个命令完成释放

# gunzip -c backup.tar.gz | tar xvf -

 

5.如何解开tar.Z的文件?

# tar xvfz backup.tar.Z

# uncompress backup.tar.Z

#tar xvf backup.tar

 

6.如何解开.tgz文件?

#gunzip backup.tgz

 

7.如何压缩和解压缩.bz2的包?

#bzip2 /etc/smb.conf

这将压缩文件smb.confsmb.conf.bz2

#bunzip2 /etc/smb.conf.bz2

这将在当前目录下还原smb.conf.bz2smb.conf

: .bz2压缩格式不是很常用,你可以man bzip2

 

. rpm

 

1.安装一个包

# rpm -ivh

 

2.升级一个包

# rpm -Uvh

 

3.移走一个包

# rpm -e

 

4.安装参数

--force 即使覆盖属于其它包的文件也强迫安装

--nodeps 如果该RPM包的安装依赖其它包,即使其它包没装,也强迫

安装。

 

5.查询一个包是否被安装

# rpm -q < rpm package name>

 

6.得到被安装的包的信息

# rpm -qi < rpm package name>

 

7.列出该包中有哪些文件

# rpm -ql < rpm package name>

 

8.列出服务器上的一个文件属于哪一个RPM

#rpm -qf

 

9.可综合好几个参数一起用

# rpm -qil < rpm package name>

 

10.列出所有被安装的rpm package

# rpm -qa

 

11.列出一个未被安装进系统的RPM包文件中包含有哪些文件?

# rpm -qilp < rpm package name>

 

 

 

tar

 

格式: tar 选项 文件目录列表

功能: 对文件目录进行打包备份

选项:

-c 建立新的归档文件

-r 向归档文件末尾追加文件

-x 从归档文件中解出文件

-O 将文件解开到标准输出

-v 处理过程中输出相关信息

-f 对普通文件操作

-z 调用gzip来压缩归档文件,与-x联用时调用gzip完成解压缩

-Z 调用compress来压缩归档文件,与-x联用时调用compress完成解压缩

 

实例1 目的:用tar打包一个目录下的文件

命令:#tar -cvf /mnt/lgx/a1.doc

结果:产生一个以.tar为扩展名的打包文件

 

实例2 目的:用tar解开打包文件

命令:#tar -xvf /mnt/lgx/a1.doc.tar

附加说明:在通常情况下,tar打包与gzip(压缩)经常联合使用,效果更好。方法是:

首先用tar打包,如:#tar -cvf /mnt/lgx/a1.doc (产生a1.doc.tar文件)

然后用gzip压缩a1.doc.tar文件,如:#gzip /mnt/lgx/a1.doc.tar (产生a1.doc.tar.gz文件)

 

实例3 目的:解压a1.doc.tar.gz文件

方法1

gzip -dc /mnt/lgx/a1.doc.tar.gz (产生a1.doc.tar文件)

tar -xvf /mnt/lgx/a1.doc.tar (产生a1.doc文件)

这两次命令也可使用管道功能,把两个命令合二为一:

gzip -dc /mnt/lgx/a1.doc.tar.gz | tar -xvf

方法2:使用tar提供的自动调用gzip解压缩功能

tar -xzvf /mnt/lgx/a1.doc.tar.gz

经过tar打包后,也可用compress命令压缩(注:gzipcompress压缩更加有效),产生一个以.tar.Z的文件,在解包时,可先用“uncompress 文件名”格式解压,然后用“tar -xvf 文件名”解包。也可直接调用“tar -Zxvf 文件名”解包。

 

 

====================================================

 

 

tar命令详解(很好的中文说明)

 

怎样使用tar命令打包(备份)文件?

A:The syntax of tar is:

tar [options][files]

The options used most often with tar are as follows:

c Creates a new backup,overwriting any files already on the backup destination.

x Extracts files from backup media.

t Lists the contents of backup media.

v Displays the name of each file being processed.

f Creates backups on a specified device.

u Adds files to the backup if they are not already there,or if they have been modified since they were last written on the backup.

 

 

 

 

Linux字符集的修改方法



export LANG=zh_CN.UTF-8这样只下次重起又要重设置

修改 /etc/sysconfig/i18n 文件,如

LANG="en_US"
xwindow会显示英文界面,

LANG="zh_CN.GB18030"
xwindow会显示中文界面。

编辑/etc/sysconfig/i18n这个文件,
LANG="zh_CN.GB18030"
SUPPORTED="zh_CN.GB18030:zh_CN:zh:en_US.UTF-8:en_US:en"
SYSFONT="latarcyrheb-sun16"

保存,重起.OK
:
I18N
internationalization 的缩写形式,意即在 i n 之间有 18 个字母,本意是指软件的国际化”.
I18N
支持多种语言,但是同一时间只能是英文和一种选定的语言,例如英文+中文、英文+德文、英文+韩文等等;
原来的:
LANG="zh_CN.UTF-8"
SUPPORTED="zh_CN.UTF-8:zh_CN:zh"
SYSFONT="latarcyrheb-sun16"

   2.10 Oracle支持的RHEL版本(root)
   
2.6Oracle安装自检时,列出了Oracle10g支持的版本是:must be redhat-3, SuSE-9, redhat-4, UnitedLinux-1.0, asianux-1 or asianux-2。而我的系统是5.2。这里需要欺骗一下,具体的是修改文件/etc/redhat-release
   
[root@RHEL ~]# more /etc/redhat-release
    Red Hat Enterprise Linux Server release 5.2 (Tikanga)
   
5.2修改成4即可。网上也有说$ ./runInstaller -ignoreSysPrereqs方式来避免自检,但我没有实验过。也有的通过如下方式:
   
[root@RHEL ~]# gedit /usrapporacle/install/install/oraparam.ini
###[Certified Versions]
Linux=redhat-3,SuSE-9,redhat-4,redhat-5,UnitedLinux-1.0,asianux-1,asianux-2]

再添加
[Linux-redhat-5.0-optional]TEMP_SPACE=80
SWAP_SPACE=150
MIN_DISPLAY_COLORS=256

 

# tnsnames.ora Network Configuration File: /usr/oracle/10g/network/admin/tnsnames.ora

# Generated by Oracle configuration tools.

 

PREDB =

  (DESCRIPTION =

    (ADDRESS_LIST =

      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.11.60)(PORT = 1521))

    )

    (CONNECT_DATA =

      (SERVICE_NAME = predb)

    )

  )

EXTPROC_CONNECTION_DATA =

  (DESCRIPTION =

    (ADDRESS_LIST =

      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))

    )

    (CONNECT_DATA =

      (SID = PLSExtProc)

      (PRESENTATION = RO)

    )

  )

# listener.ora Network Configuration File: /usr/oracle/10g/network/admin/listener.ora

# Generated by Oracle configuration tools.

SID_LIST_LISTENER =

  (SID_LIST =

    (SID_DESC =

      (SID_NAME = PLSExtProc)

      (ORACLE_HOME = /usr/oracle/10g)

      (PROGRAM = extproc)

    )

 

#建好库后,系统不会自动添加如下内容

    (SID_DESC =

    (GLOBAL_DBNAME = predb)

      (ORACLE_HOME = /usr/oracle/10g)

      (SID_NAME = predb)

    )

  )

 

LISTENER =

  (DESCRIPTION_LIST =

    (DESCRIPTION =

      (ADDRESS = (PROTOCOL = TCP)(HOST = localhost.localdomain)(PORT = 1521))

    )

    (DESCRIPTION =

      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))

    )

  )

 

 

 

启动

[oracle@localhost admin]$ lsnrctl start

 

LSNRCTL for Linux: Version 10.2.0.1.0 - Production on 13-8�� -2010 15:37:41

 

Copyright (c) 1991, 2005, Oracle.  All rights reserved.

 

Starting /usr/oracle/10g/bin/tnslsnr: please wait...

 

TNSLSNR for Linux: Version 10.2.0.1.0 - Production

System parameter file is /usr/oracle/10g/network/admin/listener.ora

Log messages written to /usr/oracle/10g/network/log/listener.log

Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=localhost.localdomain)(PORT=1521)))

Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1)))

 

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=localhost.localdomain)(PORT=1521)))

STATUS of the LISTENER

------------------------

Alias                     LISTENER

Version                   TNSLSNR for Linux: Version 10.2.0.1.0 - Production

Start Date                13-8�� -2010 15:37:41

Uptime                    0 days 0 hr. 0 min. 0 sec

Trace Level               off

Security                  ON: Local OS Authentication

SNMP                      OFF

Listener Parameter File   /usr/oracle/10g/network/admin/listener.ora

Listener Log File         /usr/oracle/10g/network/log/listener.log

Listening Endpoints Summary...

  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=localhost.localdomain)(PORT=1521)))

  (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1)))

Services Summary...

Service "PLSExtProc" has 1 instance(s).

  Instance "PLSExtProc", status UNKNOWN, has 1 handler(s) for this service...

Service "predb" has 1 instance(s).

  Instance "predb", status UNKNOWN, has 1 handler(s) for this service...

The command completed successfully

[oracle@localhost admin]$ sqlplus /nolog

SQL> conn sys/predata@predb as sysdba

Connected.

SQL> startup

ORA-01081: cannot start already-running ORACLE - shut it down first

SQL> shutdown abort

ORACLE instance shut down.

SQL> startup

ORACLE instance started.

 

Total System Global Area  339738624 bytes

Fixed Size                  1219304 bytes

Variable Size             109053208 bytes

Database Buffers          226492416 bytes

Redo Buffers                2973696 bytes

Database mounted.

Database opened.

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值