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.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值