Redhat Linux 47下Oracle 10g安装配置手册Word格式.docx
《Redhat Linux 47下Oracle 10g安装配置手册Word格式.docx》由会员分享,可在线阅读,更多相关《Redhat Linux 47下Oracle 10g安装配置手册Word格式.docx(14页珍藏版)》请在冰豆网上搜索。
compat-gcc-32-c++-3.2.3-47.3
rpm-qa|greplibXp
libXpm-3.5.5-3
libXpm-devel-3.5.5-3
libXp-1.0.0-8.1.el5
rpm-qa|grepopenmotif
openmotif-2.2.3-10.2.el4
openmotif-devel-2.2.3-10.2.el4
openmotif21-2.1.30-11.RHEL4.6
rpm-qa|grepcompat-db
compat-db-4.1.25-9
2.硬件要求
1.1物理内存至少2G
查看命令:
grepMemTotal/proc/meminfo
1.2交换分区:
至少1G,最好是物理内存的2倍
grepSwapTotal/proc/meminfo
1.3硬盘空闲区至少4G
df–h
3.创建安装oracle所需的组和用户
以下操作需要使用root账户创建。
3.1创建oinstall用户组
groupadd–g701oinstall
3.2创建dba用户组
groupadd–g702dba
3.3创建oracle用户
useradd–goinstall–Gdbaoracle
3.4初始化oracle用户密码
passwdoracle
4.创建Oracle安装目录
本示例中,Oracle安装路径为:
/oracle/product/10.2/db_1
4.1创建oracle安装目录
mkdir–p/oracle/product/10.2/db_1
4.2修改目录所属用户为oracle用户
chown–Roracle:
oinstall/oracle
4.3修改目录权限
chmod–R755/oracle或者
chmod-Rug=rwx,o=rx/oracle
5.配置内核参数
5.1编辑/etc/sysctl.conf文件,添加或修改如下的行:
本人实际配置环境中,红色部分是需要修改行,蓝色部分为添加行。
kernel.shmall=2097152
kernel.shmmax=2147483648
1374389535.72
kernel.shmmni=4096
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.wmem_max=262144
5.2查看当前内核参数的值
/sbin/sysctl–p
注:
(一般为内存的0.7倍)OLTP系统SGA+PGA<
(TotalMemory)*0.8
SAG<
(TotalMemory)*0.8*0.8
6.修改/etc/hosts
增加下面内容,如果没有oracle的监听器无法启动
127.0.0.1localhost
10.130.166.202henry
7.为了提高在linux系统上运行软件的性能,必须对oracle用户设置下列shell限定。
7.1打开文件数和进程数的限制
加入下面的行到文件/etc/security/limits.conf
oraclesoftnproc2047
oraclehardnproc16384
oraclesoftnofile1024
oraclehardnofile65536
7.2加入下面的行到文件/etc/pam.d/login
sessionrequired/lib/security/pam_limits.so
sessionrequiredpam_limits.so
8.设置oracle用户环境变量
注意以下命令为,必需以oracle用户身分登录:
su–oracle
8.1修改/home/oracle/.bash_profile文件,添加以下行
exportORACLE_BASE=/oracle
exportORACLE_HOME=$ORACLE_BASE/product/10.2/db_1
exportORACLE_SID=event
exportPATH=$ORACLE_HOME/bin:
$PATH
exportLD_LIBRARY_PATH=$ORACLE_HOME/lib:
$LD_LIBRARY_PATH
umask022
unsetUSERNAME
#aliassqlplus='
rlwrapsqlplus'
#aliasrman='
rlwraprman'
#aliasggsci='
rlwrapggsci'
注:
在exportPATH=$ORACLE_HOME/bin:
$PATH中,由于分隔时使用了‘;
’而不是‘:
’,引起了‘-bash:
vim:
commandnotfound’,错误,所有的命令都无法使用,经过重启服务器,root账号可以使用这些命令了,但是Oralce用户仍无法使用,经查是由于‘;
’引起的
8.2检查设置的环境变量
echo$ORACLE_HOME
echo$ORACLE_BASE
echo$ORACLE_SID
8.3使环境变量生效
[oracle@~]$..bash_profile
9.修改Linux的发行标记
1)、如在redhat5上安装oracle,需要将文件'
/etc/redhat-release'
的内容由:
RedHatEnterpriseLinuxServerrelease5(Tikanga)
修改为:
RedHatEnterpriseLinuxServerrelease4(Tikanga)
2)、修改增强的Linux安全设置:
vi/etc/selinux/config
SELINUX=disabled
10.oracle中文乱码的解决root用户下修改:
vietc/sysconfig/i18n
LANG=”en_US.UTF-8”
11.配置VNC
[root@henry~]#vncserver--VNC开启命令
Youwillrequireapasswordtoaccessyourdesktops.
Password:
--输入密码
Verify:
--确认密码
--编辑xstartup文件,修改执行标准图形
[root@henry~]#vi/root/.vnc/xstartup
#!
/bin/sh
#Uncommentthefollowingtwolinesfornormaldesktop:
unsetSESSION_MANAGER
exec/etc/X11/xinit/xinitrc
[-x/etc/vnc/xstartup]&
&
exec/etc/vnc/xstartup
[-r$HOME/.Xresources]&
xrdb$HOME/.Xresources
xsetroot-solidgrey
vncconfig-iconic&
xterm-geometry80x24+10+10-ls-title"
$VNCDESKTOPDesktop"
&
#twm&
gnome&
只需要修改红色部分即可
--杀掉vnc进程
vncserver--kill:
1
12.使用root用户登陆图形界面,执行以下命令:
xhost+
13.使用oracle用户登陆VNC,安装oracle
./runInstaller
安装时,最好选择高级安装模式“AdvancedInstallation”,这样可以设置数据库字符集。
14.配置oracle为自启动服务
以下操作使用root用户,
14.1vi/etc/rc.d/init.d/oracle,复制以下内容:
/bin/bash
#chkconfig:
23456636
#/etc/rc.d/init.d/oracle
#description:
startstheoracledatabase
#
ORA_HOME=/oracle/product/10.2/db_1
ORA_OWNER=oracle
case"
$1"
in
start)
echo-n"
StartingOracleDatabases:
"
echo"
---------------------------------------------------------------------------------"
>
>
/var/log/oracle
date+"
!
%T%a%D:
StartingOracleDatabasesaspartofsystemup."
su-$ORA_OWNER-c"
$ORA_HOME/bin/dbstart"
Done."
StartingOracleListeners:
$ORA_HOME/bin/lsnrctlstart"
"
Finished."
touch/var/lock/subsys/oracle
;
;
stop)
ShuttingDownOracleListeners:
ShuttingDownOracleDatabasesaspartofsystemdown."
$ORA_HOME/bin/lsnrctlstop"
rm-f/var/lock/subsys/oracle
ShuttingDownOracleDatabases:
$ORA_HOME/bin/dbshut"
restart)
RestartingOracleDatabases:
RestartingOracleDatabasesaspartofsystemup."
RestartingOracleListeners:
*)
Usage:
oracle{start|stop|restart}"
exit1
esac
exit0
14.2修改/etc/rc.d/init.d/oracle执行权限
chmod755/etc/rc.d/init.d/oracle
14.3添加oracle服务
chkconig--addoracle
14.4设置oracle服务自启动
chkconfigoracleon
14.5启动、关闭、重启oracle命令
启动oracle数据库:
serviceoraclestart
关闭oracle数据库:
serviceoraclestop
重启oracle数据库
serviceoraclerestart
附录1:
安装过程中遇到的问题及解决方法
1.xhost:
unabletoopendisplay
解决方法:
1)查看/etc/inittab文件里,把init3或者其他值改成init5
2)rebootsystem,用root用户通过图形界面进入系统,在终端里执行xhost+,(一般在这里都xhost会执行成功,如果无法执行成功,那你图形肯定有问题!
)
2.执行runInstaller时报错:
Exceptioninthread"
main"
java.lang.UnsatisfiedLinkError:
/tmp/OraInstall2007-12-21_10-40-21PM/jre/lib/i386/libawt.so:
libXp.so.6:
cannotopensharedobjectfile:
Nosuchfileordirectory
安装libXp.rpm。
这个文件可以在linux安装文件中找到。
如果是使用iso文件安装的,可以先挂载光驱:
mount/dev/cdrom/mnt
3.使用oracle用户,使用dbstart无法启动数据库的问题
1)检查dbstart文件
vi$ORACLE_HOME/bin/dbstart
检查ORACLE_HOME_LISTNER项的路径,将其改为$ORACLE_HOME,如下:
2)进行完上述操作后,重新执行dbstart时,数据库仍不能启动。
此时,登陆sqlplus,使用命令startupmount;
可以登陆。
同时伴有,数据库起来后,重启机器后,执行dbstart又不能启动数据库的情况。
检查/etc/oratab文件,按下面方法操作。
此处还有一种修改方法:
#注释掉上面的行,增加下面行
$ORACLE_SID:
$ORACLE_HOME:
Y
3)如果执行dbstart仍不能启动,检查dbstart文件中的oratab项配置是否和下图中的一致,如果不一致修改。
4.ORA-01031:
insufficientprivileges问题
先照着问题3的方法检查一遍。
5.在linux下挂载iso的方法
mount–olooplinux.iso/mnt/cd1
6.跟踪命令的执行过程
strace-vps-ef2>
ps.txt写入ps.txt文件
7、Host.conf文件配置错误
错误代码如下:
/etc/host.conf:
line3:
badcommand'
127.0.0.1localhost'
原因是:
/etc/host.conf中多出来一行内容引起的:
127.0.0.1localhost
8、startup开启出错
9、执行IMPDP时,停止不动,关闭之后重新启Impdpjob时,出现下面的错误
[oraevent@henry~]$impdpeventATTACH=event.SYS_IMPORT_SCHEMA_01
Import:
Release10.2.0.4.0-64bitProductiononSunday,25September,201110:
07:
05
Copyright(c)2003,2007,Oracle.Allrightsreserved.
Password:
UDI-00008:
operationgeneratedORACLEerror257
ORA-00257:
archivererror.Connectinternalonly,untilfreed.
1)查看Archivelog所在位置
SQL>
Showparameterlog_archeive_dest
2)一般VALUE为空时,可以用archiveloglist;
检查一下归档目录和logsequence
archiveloglist;
3)检查flashrecoveryarea的使用情况,可以看见archivelog已经很大了,
select*fromv$flash_recovery_area_usage;
4)计算flashrecoveryarea已经占用的空间
Selectsum(percent_space_used)*3/100fromv$flash_recovery_area_usage;
5)找到Recovery目录,showparameterrecover
showparameterrecover;
6)上述结果告诉我们,归档位置默认是在flash_recovery_area下
转移或清除对应的归档日志(注意:
再删除归档日之后,必须用RMAN维护控制文件,否则空间显示仍然不释放)
7)检查一些无用的archivelog
RMAN>
crosscheckarchivelogall;
8)删除过期的归档
deleteexpiredarchivelogall;
Deletearchiveloguntil