RedHat 5下Oracle10g的安装.docx
《RedHat 5下Oracle10g的安装.docx》由会员分享,可在线阅读,更多相关《RedHat 5下Oracle10g的安装.docx(21页珍藏版)》请在冰豆网上搜索。
RedHat5下Oracle10g的安装
RedHat5下Oracle10g的安装
一、摘要
随着互联网的普及,人们的工作、学习和生活与网络联系越来越紧密,为此计算机阶的许多网络爱好者搭建了许多不同的网络,如企业网、校园网和城区网等等。
然而这些大型网络却缺乏不了后台数据库的存储和组织的功能。
数据库服务器对系统各个方面要求都很高,要处理大量的随机I/O请求和数据传送,对内存、磁盘以及CPU的运算能力均有一定的要求。
内存方面,数据库服务器需要高容随着互联网的普及,人们的工作、学习和生活与网络联系越来越紧密,搭高速的内存来节省处理器访问硬盘的时间,提高服务器的响应速度。
同时,一些数据库产品如Oracle对于硬件的要求比较高,比如安装Windows版本的Oracle10G要求至少需要1GB物理内存。
在磁盘方面,高速的磁盘子系统也可以提高数据库服务器查询应答的速度,这就要求磁盘具有高速的接口和转速,目前主流应用的存储介质有万转或者15000转的SAS硬盘或SCSI硬盘等。
数据库服务器对于处理器性能要求也很高。
数据库服务器需要根据需求进行查询,然后将结果反馈给用户。
如果查询请求非常多,比如大量用户同时查询的时候,如果服务器的处理能力不够强,无法处理大量的查询请求并作出应答,那么服务器可能会出现应答缓慢甚至死机的情况。
关键字:
网络;oracle;
二、Oracle和Linux发展简介
2.1、简介
OracleLinux,其全称为OracleEnterpriseLinux,是Oracle公司在2006年初发布第一个版本,是Linux发行版本之一,以对Oracle软件和硬件支持较好见长。
OEL,一般人通常叫法为Oracle企业版Linux,由于Oracle提供的企业级支持计划UBL(UnbreakableLinux),所以很多人都称OEL为坚不可摧Linux。
2010年9月,OracleEnterpriseLinux发布新版内核——UnbreakableEnterpriseKernel,专门针对Oracle软件与硬件进行优化,最重要的是Oracle数据库跑在OEL上性能可以提升超过75%。
2.2、Oracle和Linux的完美结合
OracleEnterpriseLinux基于RedHatEnterpriseLinux并与之完全兼容(源代码和二进制文件)。
它与同一版本的RedHatEnterpriseLinux具有完全相同的程序包,并与RedHat发行版拥有完全相同的源代码。
发行版中大约有1000个程序包。
即使逐字节比较两者的源代码,也无任何区别,唯一的变化是去掉了商标和版权信息。
Oracle定期与RedHatEnterpriseLinux同步错误修复程序,以保持完全兼容性。
当RedHat发布某个程序包新版本(修复程序)(不只是作为更新版本的一部分)时,相应的OracleEnterpriseLinux程序包也将在数小时内迅速发布。
如果程序包没有商标和专门针对Oracle的补丁,则只需对它进行重新编译并在测试后作为OracleEnterpriseLinux程序包重新发布。
如果程序包有商标或专门针对OracleEnterpriseLinux的更改,Oracle将检查源代码并将其与已作为OracleEnterpriseLinux的一部分发布的已应用的错误修复程序进行对比。
如果Oracle补丁仍然紧密相关,则重新应用这些补丁,但如果问题已在RedHat版本中得到了修复(无论以相同方式还是不同方式),则删除专门针对Oracle的补丁并重新编译程序包(商标和版权问题),并将其作为OracleEnterpriseLinux的一部分通过UnbreakableLinuxNetwork(ULN)发布。
对于现有主要版本的官方更新,例如RedHatEnterpriseLinux5Update5,Oracle在更新中重新打包RedHat补丁并几乎立即作为OracleEnterpriseLinux5Update5(包括ISO)重新发布。
新的RHEL版本发布后,Oracle在将其作为正式OracleEnterpriseLinux版本发布之前,通常需要进行额外测试。
例如,RedHatEnterpriseLinux5发布之后,Oracle在发布自己的Linux版本之前,会确保相应的OracleEnterpriseLinux产品已经过严格测试,因为在过去,一个新的主要版本需要数月时间才能稳定下来。
2.3、OracleEnterpriseLinux发布历史
§OracleEnterpriseLinux4
§Update1,
§Update2,
§Update3,
§Update4,
§Update5,2007-07-10
§Update6,2008-04-18
§Update7,2008-07-30
§Update8,2009-05-28
§OracleEnterpriseLinux5
§Update1,2008-04-18
§Update2,2008-06-02
§Update3,2009-01-24
§Update4,2009-09-02
§Update5,2010-04-07
2.4、OracleEnterpriseLinux产品与服务
三、安装oracle时候的基本要求
3.1、操作系统的选择
3.2、硬件要求
OracleDatabase官方指定内存最少为512M,若没有达到在安装的时候会出现各种警告,建议为1024M,硬盘大小为40G
3.2、操作系统磁盘空间要求
/boot分区:
为150M
/home分区:
10G
Swap交换分区:
2.5G(建议为内存的1.5倍或者为2G也可,看具体情况而定)
/根分区:
20G
/tmp临时分区:
400M左右
Oracle软件需要1.5G
Database需要1.5G
四、Oracle数据库的安装
4.1、关闭防火墙和Selinux
图形界面下:
在linux终端下运行system-config-securitylevel查看防火墙和Selinux是否关闭或者在终端下运行setup同样可以关闭防火墙和Selinux,注意关闭之后记得重新启动。
也可以通过修改配置文件来关闭SElinux,方法如下:
在终端下运行vim/etc/selinux/selinux命令,将SELINUX设置成disabled即可
4.2、设置hosts文件及/etc/sysconfig/network
在终端下运行vim/etc/hosts,输入以下内容:
192.168.0.3instructor
保存并退出。
在终端下运行vim/etc/sysconfig/network命令并修改以下内容:
将HOSTNAME修改成HOSTNAME=保存并退出。
重启后在终端下用hostname检查。
4.3、检查必要的软件包是否安装
检查是否安装下列软件包:
make-3.79.1
gcc-3.2.3-34
glibc-2.3.2-95.20
compat-db-4.0.14-5
compat-gcc-7.3-2.96.128
compat-gcc-c++-7.3-2.96.128
compat-libstdc++-7.3-2.96.128
compat-libstdc++-devel-7.3-2.96.128
libXp
openmotif21-2.1.30-8
setarch-1.3-1
如果没有就yum安装或者是手动安装,总之缺什么补什么。
检查方法:
在终端下输入下面命令:
rpm-qgccmakebinutilsopenmotifsetarchcompat-dbcompat-gcccompat-gcc-c++compat-libstdc++compat-libstdc++-devellibXp,安装之后再用此命令检查。
注:
此时检测仍然会报此两个文件没有安装,如下图所示,不需过问,进行下一步
4.4、配置文件的修改
编辑/etc/sysctl.conf
编辑/etc/sysctl.conf文件并添加以下几行:
#kernel.shmall=2097152
#kernel.shmmax=2147483648
kernel.shmmni=4096
#semaphores:
semmsl,semmns,semopm,semmni
kernel.sem=25032000100128
#fs.file-max=65536
net.ipv4.ip_local_port_range=102465000
net.core.rmem_default=262144
net.core.rmem_max=262144
net.core.wmem_default=262144
net.core.wmen_max=262144
编辑/etc/sysctl.conf文件完成后,用下面的命令进行检查并保存退出:
/sbin/sysctl–p
编辑/etc/security/limits.conf文件
编辑/etc/security/limits.conf文件并同时添加以下几行:
*softnproc2047
*hardnproc16384
*softnofile1024
*hardnofile65536
编辑/etc/security/limits.conf文件完成后,保存并退出。
编辑/etc/pam.d/login文件
编辑/etc/pam.d/login文件并同时添加以下几行:
sessionrequired/lib/security/pam_limits.so
编辑/etc/pam.d/login文件完成后,保存并退出。
4.5、拷贝Oracle安装文件并解压到指定文件下
至于怎么把Oracle安装文件拷贝到系统中,方法很多,可以用ftp服务器,samba服务器等,这里用最原始的方法,通过U盘或者是移动硬盘拷贝,下面是具体方法:
进入Linux系统,在home下建立data文件夹用于存放Oracle安装文件
#cd/home/
#mkdirdata
#mount/dev/sdb7/mnt
#cp/mnt/10201_database_linux32.zip/home/data
#cd/home/data
#unzip/mnt/10201_database_linux32.zip
解压之后会出现一个database的文件夹,里面就是Oracle的安装文件,如下图所示:
4.6、修改版本信息
方法一、因为RedhatEnterprinselinux5.1默认不支持Oracle10g,因此需要修改一些版本信息。
编辑/etc/redhat-release文件,做如下修改:
RedHatEnterpriseLinuxServerrelease5.1(Tikanga)修改成RedHatEnterpriseLinuxServerrelease4(Tikanga)
方法二、编辑#viinstall/oraparam.ini
在其中的CertifiedVersions段落增加redhat-5
#[CertifiedVersions]
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
这两种方法,个人觉得方法一最方便,最实用,至少省去了修改环境变量的麻烦。
注意:
安装好oracle后要记得把版本修改回去。
4.7、创建安装Oracle的用户、组以及配置和安装目录
创建用户和相应的组并同时设置密码:
#groupaddoinstall
#groupadddba
#groupaddoper
#useradd–goinstall–Gdbaoracle
#passwdoracle
创建Oracle安装目录
#mkdir–p/u01/app/oracle/product/10.2.0/db_1
#chown–Roracle:
oinstall/u01/
#chmod–R775/u01/app/oracle
4.8、设置Oracle用户的.bash_profile文件
此处由于开始创建了安装目录在安装oracle的进程中需要更改安装目录,因此导致ORACLE_HOME的文件不存在了,因此,此处要设置oracle的sid和home,base文件。
编辑vim.bash_profile文件,添加以下内容:
#OracleSettings
TMP=/tmp;exportTMP
TMPDIR=$TMP;exportTMPDIR
ORACLE_BASE=/u01/app/oracle;exportORACLE_BASE
ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1;exportORACLE_HOME
ORACLE_SID=TSH1;exportORACLE_SID
ORACLE_TERM=xterm;exportORACLE_TERM
PATH=/usr/sbin:
$PATH;exportPATH
PATH=$ORACLE_HOME/bin:
$PATH;exportPATH
LD_LIBRARY_PATH=$ORACLE_HOME/lib:
/lib:
/usr/lib;exportLD_LIBRARY_PATH
CLASSPATH=$ORACLE_HOME/JRE:
$ORACLE_HOME/jlib:
$ORACLE_HOME/rdbms/jlib;exportCLASSPATH
if[$USER="oracle"];then
if[$SHELL="/bin/ksh"];then
ulimit-p16384
ulimit-n65536
else
ulimit-u16384-n65536
fi
fi
在编辑完成.bash_profile文件之后,保存并退出。
检查命令如下:
#source.bash_profile
4.9、Oracle的安装
用oracle用户运行runInstaller文件,应该使用oracle用户登录到linux5的界面,否则此处安装会看不到安装界面不能用root用户安装Oracle数据库,在root用户下,新建一个终端,然后切换到oracle用户来安装也不行!
这样则会出现下图的错误信息:
所以需要注销,然后用oracle用户登录,或者是重起机器用oracle用户登陆。
以Oracle用户登录并切换到数据库目录下:
切换到运行文件的目录:
[oracle@instructor~]$cd/home/data/database
[oracle@instructor~]$exportDISPLAY=:
0.0
[oracle@instructor~]$exportLC_CTYPE=C.iso88591(设置字符码,如果字符不一样,则会出现乱码或无法正常显示)
[oracle@instructor~]$./runInstanller
运行上述命令后进入如下界面:
这里选择Advancedinstallation也就是高级安装:
输入正确的安装路径:
选择企业版本安装:
同样修改成正确的安装路径:
选择创建一个数据库:
输入正确的数据库用户名和SID:
显示Oracle数据库正在安装:
注意:
如下图所出现的两条命令,此时一定要在root用户下输入这两条命令,之后再点击ok按钮。
否则会出现错误的。
下图显示数据库安装结束,点击exit退出数据库的安装:
五、测试Oracle数据库是否安装成功
5.1、测试并启动数据库
用Oracle用户登录,并在终端下输入:
sqlplus“/assysdba”和startup开启数据库,如下图所示:
上述startup是开启数据库的命令,当然也有关闭的
Showdown:
关闭,等待每个用户退出系统或被取消后退出关闭数据库
Shutdowntransactional:
事务性关闭,等待每个用户提交或回退当前的是我,然后oracle取消对话,再所有用户退出系统时候执行关闭。
Shutdownimmediate:
直接关闭,取消所有用户对话(促使退回),执行正常的关闭程序。
Shutdownabort:
终止关闭,关闭数据库时候没有自动检查点或日志开关。
5.2、数据库的远程管理
启动oracle的em远程登录emctlstartdbconsole和关闭命令是emctlstopdbconsole
以及查看dbconsole状态命令emctlstatusdbconsole
[oracle@dodata~]$emctlstartdbconsole
[oracle@dodata~]$emctlstopdbconsole
[oracle@dodata~]$emctlstatusdbconsole
[oracle@dodata~]$emctlstartdbconsole
TZsettoPRC
OracleEnterpriseManager10gDatabaseControlRelease10.2.0.1.0
Copyright(c)1996,2005OracleCorporation.Allrightsreserved.
:
1158/em/console/aboutApplication
StartingOracleEnterpriseManager10gDatabaseControl.....................
注意了,这个过程挺长的
然后运行lsnrctlstart命令开启oracle监听程序
到此数据库的安装基本上成功了……………………
六、常见错误分析
6.1、问题一
hosts文件错误导致网络检查不通过?
解决方法:
编辑/etc/hosts文件输入以下内容
Instrator192.168.0.3
或者修改127.0.0.1那行,但要修改和上面一样的格式。
6.2、问题二
版本错误导致安装不上?
解决方法:
由于orcale10不支持RHEL5所以需要修改/etc/redhat_realease:
将RedHatEnterpriseLinuxServerrelease5(Tikanga)改为RedHatEnterpriseLinuxServerrelease4(Tikanga)
注意:
在安装好oracle之后记得把版本修改回去
6.3、问题三
安装过程中可能会出现中文乱码?
解决方法:
安装oracle数据可最好用英文安装,再安装oracle数据库前最好办系统设置成英文的,可以安装中文包。
在安装完成后点击“系统---管理---语言”,选择“简体中文”,转换语言环境,重启系统即可。
6.4、问题四
在安装oracle数据库的时候会出现各种因为内存或者是交换分区打下不够的问题?
解决方法:
Oracle在linux下安装有最低的物理内存和交换分区的要求的,个人推荐
Swap2048M
内存1024(这只是在虚拟机中安装的要求,你要在设置大也没什么关系的,总之根据自己电脑的情况吧)
6.5、问题五
安装好oracle之后,在oracle用户下无法运行sqlplus“/assysdba”命令。
解决方法:
重启用oracle用户登录,会发现之前编辑的.bash_prefile文件并没有被修改。
在oracle用户下重新修改:
#OracleSettings
TMP=/tmp;exportTMP
TMPDIR=$TMP;exportTMPDIR
ORACLE_BASE=/u01/app/oracle;exportORACLE_BASE
ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1;exportORACLE_HOME
ORACLE_SID=TSH1;exportORACLE_SID
ORACLE_TERM=xterm;exportORACLE_TERM
PATH=/usr/sbin:
$PATH;exportPATH
PATH=$ORACLE_HOME/bin:
$PATH;exportPATH
LD_LIBRARY_PATH=$ORACLE_HOME/lib:
/lib:
/usr/lib;exportLD_LIBRARY_PATH
CLASSPATH=$ORACLE_HOME/JRE:
$ORACLE_HOME/jlib:
$ORACLE_HOME/rdbms/jlib;exportCLASSPATH
if[$USER="oracle"];then
if[$SHELL="/bin/ksh"];then
ulimit-p16384
ulimit-n65536
else
ulimit-u16384-n65536
fi
fi