Linux 下ORACLE10g的安装及配置:
资源需要:
至少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
安装前的检查和准备工作:
rpm -q make gcc compat-db
make-3.80-5
gcc-3.4.3-9.EL4
compat-db-4.1.25-9
p4198954_21_linux.zip 在运行 runInstaller 之前打.
rpm -ivh compat-oracle-rhel4-1.0-5.i386.rpm (p4198954_21_linux.zip)
compat-oracle-rhel4-1.0-5.i386.rpm需要安装的组件:
rpm -ivh /mnt/cdrom3/RedHat/RPMS/glibc-kernheaders-2.4-9.1.87.i386.rpm
rpm -ivh /mnt/cdrom3/RedHat/RPMS/glibc-headers-2.3.4-2.i386.rpm
rpm -ivh /mnt/cdrom3/RedHat/RPMS/glibc-devel-2.3.4-2.i386.rpm
rpm -ivh /mnt/cdrom4/RedHat/RPMS/compat-gcc-32-3.2.3-47.3.i386.rpm
rpm -ivh /mnt/cdrom2/RedHat/RPMS/compat-libstdc++-33-3.2.3-47.3.i386.rpm
rpm -ivh /mnt/cdrom4/RedHat/RPMS/compat-gcc-32-c++-3.2.3-47.3.i386.rpm
rpm -ivh /mnt/cdrom3/RedHat/RPMS/compat-libgcc-296-2.96-132.7.2.i386.rpm
rpm -ivh /mnt/cdrom3/RedHat/RPMS/compat-libstdc++-296-2.96-132.7.2.i386.rpm
rpm -ivh /mnt/cdrom3/RedHat/RPMS/gcc-3.4.3-9.EL4.i386.rpm
rpm -ivh /mnt/cdrom3/RedHat/RPMS/gcc-c++-3.4.3-9.EL4.i386.rpm
rpm -ivh /mnt/cdrom2/RedHat/RPMS/libstdc++-3.4.3-9.EL4.i386.rpm
rpm -ivh /mnt/cdrom3/RedHat/RPMS/libstdc++-devel-3.4.3-9.EL4.i386.rpm
rpm -ivh /mnt/cdrom2/RedHat/RPMS/libstdc++-3.4.3-9.EL4.i386.rpm
rpm -ivh /mnt/cdrom3/RedHat/RPMS/gcc-c++-3.4.3-9.EL4.i386.rpm
rpm -ivh /mnt/cdrom3/RedHat/RPMS/libaio-0.3.102-1.i386.rpm
rpm -ivh /mnt/cdrom3/RedHat/RPMS/libaio-devel-0.3.102-1.i386.rpm
rpm -ivh /mnt/cdrom3/RedHat/RPMS/openmotif21-2.1.30-11.RHEL4.2.i386.rpm
rpm -ivh /mnt/cdrom3/RedHat/RPMS/zlib-devel-1.2.1.2-1.i386.rpm
rpm -ivh /mnt/cdrom3/RedHat/RPMS/freetype-devel-2.1.9-1.i386.rpm
rpm -ivh /mnt/cdrom3/RedHat/RPMS/fontconfig-devel-2.2.3-7.i386.rpm
rpm -ivh /mnt/cdrom3/RedHat/RPMS/pkgconfig-0.15.0-3.i386.rpm
rpm -ivh /mnt/cdrom3/RedHat/RPMS/xorg-x11-devel-6.8.1-23.EL.i386.rpm
rpm -ivh /mnt/cdrom3/RedHat/RPMS/xorg-x11-deprecated-libs-devel-6.8.1-23.EL.i386.rpm
备用命令:
mkdir /mnt/200
mkdir /mnt/cdrom1
mkdir /mnt/cdrom2
mkdir /mnt/cdrom3
mkdir /mnt/cdrom4
mount -t smbfs -o username=dist,password=dist123456 //172.16.66.200/public /mnt/200
mount -o loop /mnt/200/Company/RHEL4-i386-AS-disc4/RHEL4-i386-AS-disc1.iso /mnt/cdrom1
mount -o loop /mnt/200/Company/RHEL4-i386-AS-disc4/RHEL4-i386-AS-disc2.iso /mnt/cdrom2
mount -o loop /mnt/200/Company/RHEL4-i386-AS-disc4/RHEL4-i386-AS-disc3.iso /mnt/cdrom3
mount -o loop /mnt/200/Company/RHEL4-i386-AS-disc4/RHEL4-i386-AS-disc4.iso /mnt/cdrom4
创建数据库安装的准备工作:
1,创建user/
group;
groupadd dba
groupadd oinstall
useradd -m -g oinstall -G dba oracle
passwd oracle
如果nobody用户不存在(id nobody命令查看),则创建:
useradd nobody
2,建立oracle安装文件夹;
mkdir -p /opt/oracle/product/10.2.0
chown -R oracle.oinstall /opt/oracle
mkdir /var/opt/oracle
chown oracle.oinstall /var/opt/oracle
chmod 755 /var/opt/oracle
2, 配置环境变量;
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
使用Oracle用户登陆:
su oracle
vi ~/.bash_profile
以下是配置文件的内容
# .bash_profile
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
# User specific environment and startup programs
umask 022
# +--------------------------+
# | SETUP ORACLE ENVIRONMENT |
# +--------------------------+
# 如果安装出现相关问题请屏蔽下面5行,
# 安装好后再取消屏蔽这些环境变量设置
export ORACLE_HOME=/opt/oracle/product/10.2.0
# export TNS_ADMIN=$ORACLE_HOME/network/admin
export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
export PATH=$PATH:$ORACLE_HOME/bin
# +--------------------------+
# | LINUX STUFF |
# +--------------------------+
export LANG=AMERICAN_AMERICA.ZHS16GBK
unset USERNAME
# +-------------+
# | "GREETINGS" |
# +-------------+
echo ".bash_profile executed"
4, 设置系统参数;
切换到root用户:
su root
a) 修改/etc/sysctl.conf(vi /etc/sysctl.conf), 添加:
# Shmmax 最大共享内存,官方文档建议是内存的1/2,
# 2G/2=1073741824,1G/2=536870912=512 * 1024 * 1024,268435456,以此类推。
kernel.shmmax = 536870912
# Shmmni 4096KB.
kernel.shmmni = 4096
# Shmall
kernel.shmall = 2097152
# sem 4个参数依次为:
# SEMMSL(每个用户拥有信号量最大数);
# SEMMNS(系统信号量最大数);
# SEMOPM(每次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
修改后运行"/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
(注意:根据最后一条session规则的注释,应该加在最后一条规则之前)
解压缩Oracle10G的安装文件 :
1. Oracle
(1) 简
化过程(以oracle登录,释放安装文件,使用更少的磁盘空间,速度更快)
在/tmp下解压缩10201_database_linux32.zip:
unzip 10201_database_linux32
开始安装oracle
(一)开始安装:
1.以oracle用户登录系统,进行Oracle的安装:
如果su oracle则执行".bash_profile"文件:
. ~/.bash_profile
export TEMP=/tmp
export TMPDIR=/tmp
unset ORACLE_HOME
unset TNS_ADMIN
cd /tmp/database (或者你解压缩安装程序包的目录)
LANG=AMERICAN_AMERICA.zhs16gbk ./runInstaller
过一会儿就会出现Oracle的安装界面
注意:
1、选择advance install
2、数据库home设置为/opt/oracle/product/10.2.0
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 关闭数据库
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, 数据库创建完成后,修改vi /etc/oratab,把boss那一行最后的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就可以了。
为了方便管理,可以写一个启动脚本ora10g:
以root身份进入,编写以下脚本:
#!/bin/bash
#
# chkconfig: 2345 89 20
# 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"
5. 在备份数据库机上配置异机数据库逻辑备份任务,具体见backupDb.sh
6, 关于数据库删除重新安装的问题:
把ORACLE安装目录删除及/etc/ora*.*删除就行了
#rm –f /etc/ora*.*
7.数据库参数要求
每个连接的游标数:
alter system set open_cursors = 500 scope=spfile;
总连接数:
show parameter processes
show parameter sessions
alter system set processes=1000 scope=spfile;
alter system set sessions=1000 scope=spfile;
解决enterprise manager 乱码
su - oracle
rm -f $ORACLE_HOME/oc4j/j2ee/oc4j_applications/applications/em/em/cabo/images/cache/zhs/*
cd /opt/oracle/product/10g/jdk/jre/lib
mv font.properties font.propertiesbk
cp font.properties.zh_CN.Redhat font.properties
emctl stop dbconsole
emctl start dbconsole
解决监听hang的bug
vi network/admin/listener.ora
增加:
SUBSCRIBE_FOR_NODE_DOWN_EVENT_LISTENER=OFF
本文来源:https://www.2haoxitong.net/k/doc/1f2bde29915f804d2b16c1ee.html