ITPub博客

首页 > Linux操作系统 > Linux操作系统 > oracle10g在redhatAS4上的安装(杂记)

oracle10g在redhatAS4上的安装(杂记)

原创 Linux操作系统 作者:itpot 时间:2008-01-04 18:58:43 0 删除 编辑

                                              安装杂记有点乱

                                                                      ---itpot
参考:在 Linux x86 上安装 Oracle 数据库 10g
http://www.oracle.com/technology/global/cn/pub/articles/smiley_10gdb_install.html
redhatAs4oracle10g安装
1.验证
oracle10g所需内核版本:2.4.9-e.25(或更高版本)
通过运行以下命令检查内核版本:
uname -r
例如:
# uname -r
2.4.9-e.27smp

其他所需程序包的版本(或更高版本):
gcc-2.96-124
make-3.79
binutils-2.11
openmotif-2.1.30-11
glibc-2.2.4-31
要查看系统上安装了这些程序包的哪些版本,运行以下命令:
rpm -q gcc make binutils openmotif glibc

例如: 
# rpm -q gcc make binutils openmotif glibc
gcc-2.96-118.7.2
make-3.79.1-8
binutils-2.11.90.0.8-12
openmotif-2.1.30-11
glibc-2.2.4-32.8


[root@redhat1 tool]#  rpm -q gcc make binutils openmotif glibc
package gcc is not installed
make-3.80-5
binutils-2.15.92.0.2-10.EL4
package openmotif is not installed
glibc-2.3.4-2


rpm -q make openmotif-devel openmotif binutils setarch compat-db compat-gcc-32-c++ compat-libstdc++-33 compat-gcc-32 libaio

(如果出现类似上面的缺少安装的包, 在图形化界面下 菜单【system setting】->【add/remove application】.选中相关的开发包进行安装。redhat安装时建议全部安装)

[root@redhat1 tool]#  rpm -q gcc make binutils openmotif glibc
gcc-3.4.3-9.EL4
make-3.80-5
binutils-2.15.92.0.2-10.EL4
package openmotif is not installed
glibc-2.3.4-2

其他所需程序包的版本(或更高版本):
gcc-3.2.3-2
make-3.79
binutils-2.11
openmotif-2.2.2-16
setarch-1.3-1
compat-gcc-7.3-2.96.122
compat-gcc-c++-7.3-2.96.122
compat-libstdc++-7.3-2.96.122
compat-libstdc++-devel-7.3-2.96.122
compat-db-4.0.14.5(Oracle 10g 数据库安装指南 中将其列为是必需的,但此处并不需要)
要查看系统上安装了这些程序包的哪些版本,以 root 用户身份运行以下命令:

rpm -q gcc make binutils openmotif setarch compat-db compat-gcc \
compat-gcc-c++ compat-libstdc++ compat-libstdc++-devel


例如:
# rpm -q gcc make binutils openmotif setarch compat-db compat-gcc \
>      openmotif compat-gcc-c++ compat-libstdc++ compat-libstdc++-devel

gcc-3.2.3-20
make-3.79.1-17
binutils-2.14.90.0.4-26
openmotif-2.2.2-16
setarch-1.3-1
package compat-db is not installed
compat-gcc-7.3-2.96.122
compat-gcc-c++-7.3-2.96.122
compat-libstdc++-7.3-2.96.122
compat-libstdc++-devel-7.3-2.96.122

第 2 部分:针对 Oracle 配置 Linux
验证系统要求
要验证系统是否满足 Oracle 10g 数据库的最低要求,以 root 用户身份登录并运行以下命令。
要查看可用 RAM 和交换空间大小,运行以下命令:
grep MemTotal /proc/meminfo
grep SwapTotal /proc/meminfo

例如:
# grep MemTotal /proc/meminfo
MemTotal:512236 kB
# grep SwapTotal /proc/meminfo
SwapTotal:1574360 kB
所需最小 RAM 为 512MB,而所需最小交换空间为 1GB。对于 RAM 小于或等于 2GB 的系统,交换空间应为 RAM 数量的两倍;对于 RAM 大于 2GB 的系统,交换空间应为 RAM 数量的一到两倍。
Oracle 10g 软件还需要 2.5GB 的可用磁盘空间,而数据库则另需 1.2GB 的可用磁盘空间。/tmp 目录至少需要 400MB 的可用空间。要检查系统上的可用磁盘空间,运行以下命令:
df -h
例如:
# df -h
Filesystem        Size  Used Avail Use% Mounted on
/dev/sda3         6.8G  1.3G  5.2G  20% /
/dev/sda1         99M   17M   77M  18% /boot
安装约满足安装 (2.5 + 1.2 + 0.4 = 4.1GB)

(在虚拟机中的安装时可以增加一块虚拟的硬盘。 系统中加载的顺序:
第一步:
#fdisk -l
Disk /dev/sda: 8589 MB, 8589934592 bytes
255 heads, 63 sectors/track, 1044 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1          13      104391   83  Linux
/dev/sda2              14        1044     8281507+  8e  Linux LVM

Disk /dev/sdb: 5368 MB, 5368709120 bytes
255 heads, 63 sectors/track, 652 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

Disk /dev/sdb doesn't contain a valid partition table
第二步:格式化 格式化命令:mkfs.ext3   /dev/sdb1 是格式化成 ext3
                      mkfs.ext2   /dev/sdb1 是格式化成 ext2
[root@redhat1 /]# mkfs.ext3   /dev/sdb
第三步:加载到一个目录
[root@redhat1 /]# mount /dev/sdb u01/
[root@redhat1 /]# df
Filesystem           1K-blocks      Used Available Use% Mounted on
/dev/mapper/VolGroup00-LogVol00
                       6063688   4005272   1750400  70% /
/dev/sda1               101086      9136     86731  10% /boot
none                    517932         0    517932   0% /dev/shm
/dev/sdb               5160576     43040   4855392   1% /u01

第四步 每次启动自动mount加载
[root@localhost ~]# cat /etc/fstab
/dev/sdb               /oracle                  ext3    defaults         0 2

在/etc/fstab 增加上面的一行 具体的含义 参考
【/etc/fstab释疑】 http://www.linuxpk.com/4982.html
 )

 

创建 Oracle 组和用户帐户

接下来,创建用于安装和维护 Oracle 10g 软件的 Linux 组和用户帐户。用户帐户将称为 oracle,而组将称为 oinstall 和 dba。以 root 用户身份执行以下命令:

/usr/sbin/groupadd oinstall
/usr/sbin/groupadd dba
/usr/sbin/useradd -m -g oinstall -G dba oracle
id oracle

例如:
# /usr/sbin/groupadd oinstall
# /usr/sbin/groupadd dba
# /usr/sbin/useradd -m -g oinstall -G dba oracle
# id oracle
uid=501(oracle) gid=501(oinstall) groups=501(oinstall),502(dba)

设置 oracle 帐户的口令:

passwd oracle

例如:
# passwd oracle
Changing password for user oracle.
New password:
Retype new password:
passwd:all authentication tokens updated successfully.


[root@redhat1 /]# groupadd oinstall
[root@redhat1 /]# groupadd dba
[root@redhat1 /]# useradd -m -g oinstall -G dba oracle
[root@redhat1 /]# passwd oracle

Changing password for user oracle.
New UNIX password:
BAD PASSWORD: it is based on a dictionary word
Retype new UNIX password:
passwd: all authentication tokens updated successfully.

 

创建目录

现在,创建存储 Oracle 10g 软件和数据库文件的目录。本指南在创建目录结构时所用的命名惯例符合最佳灵活结构 (OFA) 规范。有关 OFA 标准的更多信息,请参阅针对 UNIX 系统的 Oracle 数据库 10g 安装指南 的附录 D。

以下假设在根文件系统中创建目录。这样做是为了简便起见,不建议将其作为通用做法。这些目录通常被创建为单独的文件系统。

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

mkdir -p /u01/app/oracle
mkdir -p /u02/oradata
chown -R oracle:oinstall /u01/app/oracle /u02/oradata
chmod -R 775 /u01/app/oracle /u02/oradata

例如:
# mkdir -p /u01/app/oracle
# mkdir -p /u02/oradata
# chown -R oracle:oinstall /u01/app/oracle /u02/oradata
# chmod -R 775 /u01/app/oracle /u02/oradata

 

[root@redhat1 /]# mkdir -p /oracle/app/oracle
[root@redhat1 /]# mkdir -p /oracle/oradata
[root@redhat1 /]# chown -R oracle:oinstall /oracle/app/oracle /oracle/oradata
[root@redhat1 /]# chmod -R 775 /oracle/app/oracle /oracle/oradata

 


配置 Linux 内核参数

Linux 内核非常出色。与大多数其他 *NIX 系统不同,Linux 允许在系统启动和运行时修改大多数内核参数。完成内核参数更改后不必重新启动系统。Oracle 数据库 10g 需要以下所示的内核参数设置。其中给出的是最小值,因此如果您的系统使用的值较大,则不要更改它。

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

如果您按照以上说明安装了 Linux,且内核参数全部采用默认值,则只需在以 root 用户身份登录后执行下命令。

cat >> /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
EOF
/sbin/sysctl -p

例如:
# cat >> /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
> EOF
# /sbin/sysctl -p
net.ipv4.ip_forward = 0
net.ipv4.conf.default.rp_filter = 1
kernel.sysrq = 0
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

以 root 用户身份运行以下命令来验证您的设置:

/sbin/sysctl -a | grep shm
/sbin/sysctl -a | grep sem
/sbin/sysctl -a | grep file-max
/sbin/sysctl -a | grep ip_local_port_range

例如:
# /sbin/sysctl -a | grep shm
kernel.shmmni = 4096
kernel.shmall = 2097152
kernel.shmmax = 2147483648
kernel.shm-use-bigpages = 0
# /sbin/sysctl -a | grep sem
kernel.sem = 250        32000   100     128
# /sbin/sysctl -a | grep file-max
fs.file-max = 65536
# /sbin/sysctl -a | grep ip_local_port_range
net.ipv4.ip_local_port_range = 1024     65000

如果系统的参数设置的比上述参数值小,则编辑 /etc/sysctl.conf 文件,添加或更改这些参数。完成后,运行以下命令激活更改:

/sbin/sysctl -p

 

[root@redhat1 /]# vi /etc/sysctl.conf   (详细的看下面
编辑完成后
[root@redhat1 /]# /sbin/sysctl -p

net.ipv4.ip_forward = 0
net.ipv4.conf.default.rp_filter = 1
net.ipv4.conf.default.accept_source_route = 0
kernel.sysrq = 0
kernel.core_uses_pid = 1
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

 


为 oracle 用户设置 Shell 限制

Oracle 建议对每个 Linux 帐户可以使用的进程数和打开的文件数设置限制。要进行这些更改,以 root 用户的身份执行下列命令:

cat >> /etc/security/limits.conf <oracle               soft    nproc   2047
oracle               hard    nproc   16384
oracle               soft    nofile  1024
oracle               hard    nofile  65536
EOF

cat >> /etc/pam.d/login <session    required     /lib/security/pam_limits.so
EOF
对于 RHEL 2.1 和 RHEL 3,使用以下命令:

cat >> /etc/profile <if [ \$USER = "oracle" ]; then 
if [ \$SHELL = "/bin/ksh" ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
umask 022
fi
EOF

cat >> /etc/csh.login <if ( \$USER == "oracle" ) then
limit maxproc 16384
limit descriptors 65536
umask 022
endif
EOF

 


直接运行下面的命令
[root@redhat1 /]# cat >> /etc/security/limits.conf <> oracle               soft    nproc   2047
> oracle               hard    nproc   16384
> oracle               soft    nofile  1024
> oracle               hard    nofile  65536
> EOF
[root@redhat1 /]# cat >> /etc/pam.d/login <> session    required     /lib/security/pam_limits.so
> EOF

[root@redhat1 /]# cat >> /etc/profile <> if [ \$USER = "oracle" ]; then 
> if [ \$SHELL = "/bin/ksh" ]; then
> ulimit -p 16384
> ulimit -n 65536
> else
> ulimit -u 16384 -n 65536
> fi
> umask 022
> fi
> EOF
[root@redhat1 /]# cat >> /etc/csh.login <> if ( \$USER == "oracle" ) then
> limit maxproc 16384
> limit descriptors 65536
> umask 022
> endif
> EOF

 

oracle 用户的环境变量

要使用 Oracle 产品,应该或必须设置几个环境变量。对于数据库服务器,建议设置以下环境变量:

ORACLE_BASE
ORACLE_HOME
ORACLE_SID
PATH

如果您在同一服务器上安装了多个 Oracle 产品或数据库,则 ORACLE_HOME、ORACLE_SID 和 PATH 变量可能会更改。ORACLE_BASE 变量不应更改,并可以在需要时在您的登录配置文件中设置它。Oracle 提供了一个称作 oraenv 的实用程序来设置其他变量。

以 oracle 身份登录,并通过在 .bash_profile 或 .profile(bash 或 ksh)中添加以下行,将 ORACLE_BASE 添加到登录配置文件:

ORACLE_BASE=/u01/app/oracle; export ORACLE_BASE

或在 .login (csh) 中添加以下行:

setenv ORACLE_BASE /u01/app/oracle

此更改将在您下次登录到 oracle 帐户时生效。要使更改对当前会话为活动状态,只需从命令行运行此命令。

 

[root@redhat1 /]# su - oracle
[oracle@redhat1 ~]$ vi .bash_profile
【增加】ORACLE_BASE=/oracle/app/oracle; export ORACLE_BASE详细的看下面


第 3 部分:安装 Oracle

可以从 OTN 下载 Oracle 数据库 10g。Oracle 提供了一个免费的开发和测试许可。但不提供支持,且该许可不允许用于生产目的。OTN 提供了完整的许可协议。

要使 Oracle 10g 发行套件介质可以在服务器上使用,最简单的方法是将其直接下载到服务器。

使用图形登录以 oracle 身份登录。

创建一个目录以存放 Oracle 10g 发行套件:

mkdir 10g_db

要从 OTN 下载 Oracle 数据库 10g,请将浏览器(Mozilla 比较好用)指向 http://www.oracle.com/technology/software/products/database/oracle10g/htdocs/linuxsoft.html。填写 Eligibility Export Restrictions 页面,并阅读 OTN 许可协议。如果您接受限制和许可协议,则单击 I Accept。

单击 ship.db.cpio.gz 链接,并将该文件保存在为此目的创建的目录 (10g_db) 中 — 如果尚未登录到 OTN,则此时可能提示您登录。

解压缩此文件:

cd 10g_db
unzip  *.zip
gunzip ship.db.cpio.gz
cpio -idmv < ship.db.cpio

安装软件

使用 oracle 帐户登录。

指定数据库名称 (ORACLE_SID)。该名称通常不多于五个字符。对此安装使用 demo1。

设置环境变量:

Borne shell 和 Korn shell

ORACLE_BASE=/u01/app/oracle; export ORACLE_BASE
ORACLE_SID=demo1; export ORACLE_SID

C shell

setenv ORACLE_BASE /u01/app/oracle
setenv ORACLE_SID demo1

将目录更改为 Oracle 10g 软件解压缩到的位置。

例如:
$ cd $HOME/10g_db

将目录更改为 Disk1。

例如:
$ cd Disk1

启动 Oracle 通用安装程序。

$ ./runInstaller

 

弹出一个“Setup Privileges”窗口,提示需要以 root 用户身份运行配置脚本。以 root 用户身份登录,切换到该窗口中指示的目录,然后执行 root.sh 脚本。该脚本提示输入本地 bin 目录的位置。直接按 Enter 键接受默认值。当脚本完成时,返回到 Setup 即可

 


2008年1月4日12:37:12

检查完如上各项之后, 应该修改核心参数.执行如下命令:

#vi /etc/sysctl.conf
#注释:#表示使用root用户操作,$表示使用oracle 用户进行操作.提示符后面的蓝色部分表示需要输入的命令,以下同.

在该文件末尾加入如下内容:

#-----------Begin from here--------------------------------------
kernel.shmall = 2097152
kernel.shmmax = 2147483648
kernel.shmmni = 4096
# semaphores: semmsl, semmns, semopm, semmni
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
#--------------End here--------------------------------------------
注意上面的 net.core参数如果不设置  oarcle安装检查时 会报警告
编辑完之后,保存,执行 # /sbin/sysctl -p 命令操作来使我们所做的变更生效.

注:上面kernel.shmmax/kernel.sem等是典型的核心参数配置.您可能需要根据您的实际环境进行适当的变动.

关于这些核心参数的说明在Oracle的Oracle9i Installation Guide Release 2 (9.2.0.1.0) for UNIX Systems
中有很详细的说明.( http://download-west.oracle.com/docs/html/A96167_01/toc.htm )

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

# /sbin/sysctl -a | grep sem
# /sbin/sysctl -a | grep shm
# /sbin/sysctl -a | grep file-max
# /sbin/sysctl -a | grep ip_local_port_range

 

问题:  warning 

libaio-0.3.96 not found
安装这个软件包,在第三张光盘中就有。

2、参数问题
用文本编辑器,创建或者编辑/etc/sysctl.conf文件,添加或修改如下的行
kernel.shmall = 2097152
kernel.shmmax = 2147483648
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
net.ipv4.ip_local_port_range = 1024
net.core.rmem_default = 262144
net.core.rmem_max = 262144
net.core.wmem_default = 262144
net.core.wmem_max = 262144
net.ipv4.ip_local_port_range = 1024 65000
改变当前内核参数的值,用命令 #/sbin/sysctl –p
基本上可以解决所有的参数警告问题。
3、增加swap空间
#free
#mkdir swap
#cd swap
#dd if=/dev/zero f=swapfile bs=1024 count=1000000 (1G)
#mkswap swapfile
#swapon swapfile
#free

使用文件做为SWAP吧: 参考(http://www.cublog.cn/u/4133/showart_13899.html

因为做为SWAP的文件,必须是连续的,所以需要使用dd命令创建它:
[root@NEWLFS ~]#dd if=/dev/zero f=swapfile bs=1024 count=65536
65536+0 records in
65536+0 records out
[root@NEWLFS ~]#
这样就制作了一个64M的swapfile (文件名自定)
如果想制作128M的SWAP,count值:128*1024=131072
制作128M的SWAP 命令就变成了:
dd if=/dev/zero f=swapfile bs=1024 count=131072


使用mkswap命令制作swap:

[root@NEWLFS ~]#mkswap swapfile
Setting up swapspace version 1, size = 67104 kB
[root@NEWLFS ~]#

最后加在/etc/fstab,每次开机都会自动启用SWAP:
编辑fstab,在最后加入一行,格式如下:

/root/swapfile swap swap defaults 0 0

启用它:
[root@NEWLFS ~]#swapon -a
使用swapon -s 查看是否成功启用了:
[root@NEWLFS ~]#swapon -s
Filename       Type     Size     Used     Priority

/root/swapfile file     65528     0         -1

swapfile已经投入使用啦 
4.报dhcp相关问题  应该配置静态的ip
Checking Network Configuration requirements ...
Check complete. The overall result of this check is: Not executed <<<<
Recommendation: Oracle supports installations on systems with DHCP-assigned public IP addresses.  However, the primary

network interface on the system should be configured with a static IP address in order for the Oracle Software to function

properly.  See the Installation Guide for more details on installing the software on systems configured with DHCP.
改为静态的IP地址

vi /etc/hosts

[root@localhost /]# cat /etc/hosts
# Do not remove the following line, or various programs
# that require network functionality will fail.
192.168.0.250   localhost
127.0.0.1       localhost       localhost.localdomain   localhost


或下面的 (redhat1 为主机名称  我把主机名称设为了localhost )
192.168.0.250    redhat1
127.0.0.1        redhat1        localhost.localdomain        localhost

配置环境变量(否则找不到可执行的文件路径 )

[oracle@localhost ~]$ cat .bash_profile
# .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
unset USERNAME
ORACLE_BASE=/oracle/app/oracle
export ORACLE_HOME=$ORACLE_BASE/oracle/product/10.2.0/db_1
export ORACLE_SID=orcl
export PATH=$PATH:$ORACLE_HOME/bin

[oracle@localhost ~]$


一个完整的例子  .bash_profile
export LD_ASSUME_KERNEL=2.4.19
export ORACLE_BASE=/oracle
export ORACLE_HOME=$ORACLE_BASE/product/9.2
export ORACLE_SID=bj
export ORACLE_TERM=xterm
export NLS_LANG='SIMPLIFIED CHINESE_CHINA.ZHS16GBK'
export ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data
LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib
export LD_LIBRARY_PATH

# Set shell search paths
export PATH=$ORACLE_HOME/bin:$PATH
export LANG=en_US

 

启动数据库

$ sqlplus /nolog
connect / as sysdba
startup; 启动数据库
$ lsnrctl start


客户端无法连接 注意端口号  1521  或1522  (本此测试的端口为1522

修改主机名称
修改/etc/sysconfig/network、/etc/hosts文件的相关内容。

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

下一篇: 第三极书店
请登录后发表评论 登录
全部评论

注册时间:2007-12-27

  • 博文量
    39
  • 访问量
    54172