1. 资源需要:
至少1024 MB物理内存
1024-2048 需1.5倍的交互空间
2048-8192 需1倍的交互空间
8192-更大 需0.75倍的交互空间
至少400 MB临时目录空间
oracle软件需要1.5 GB 到 3.5 GB 磁盘空间
默认数据库需要1.2 GB
2. 安装前的检查和准备工作
2.1 CentOS5默认是不支持oracle10g,需要将/etc/redhat-release的CentOS 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_HOME、ORACLE_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.conf成smb.conf.bz2
#bunzip2 /etc/smb.conf.bz2
这将在当前目录下还原smb.conf.bz2为smb.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命令压缩(注:gzip比compress压缩更加有效),产生一个以.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.
用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.6中Oracle安装自检时,列出了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 /usr/app/oracle/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. |