作者:empty 出版社:empty |
Redhat linux5.5下Oracle 10g
安装配置手册
——shawnley@hotmail.com
1.安装准备
1.1RedHat Linux Server 5.5安装文件
1.2Oracle 10g Linux安装文件
2.硬件要求
1.1物理内存至少2G
查看命令:grep MemTotal /proc/meminfo
1.2交换分区:至少1G,最好是物理内存的2倍
查看命令:grep SwapTotal /proc/meminfo
1.3硬盘空闲区至少4G
查看命令:df -k
3.创建安装oracle 所需的组和用户
以下操作需要使用root账户创建。
3.1创建oinstall用户组
groupadd ointall
3.2创建dba用户组
groupadd dba
3.3创建oracle用户
useradd –g oinstall –G dba oracle
3.4初始化oracle用户密码
passwd oracle
4.创建Oracle安装目录
本示例中,Oracle安装路径为:/oracle/product/10.2/db_1
4.1创建oracle安装目录
mkdir –p /oracle/product/10.2/db_1
4.2修改目录所属用户为oracle用户
chown –R oracle:oinstall /oracle
4.3修改目录权限
chmod –R 755 /oracle
5.配置内核参数
5.1编辑/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
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
6.修改/etc/host.conf
增加下面内容,如果没有oracle 的监听器无法启动
127.0.0.1 localhost
7.为了提高在linux系统上运行软件的性能,必须对oracle用户设置下列shell 限定。
7.1打开文件数和进程数的限制
加入下面的行到文件/etc/security/limits.conf
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
7.2加入下面的行到文件/etc/pam.d/login
session required /lib/security/pam_limits.so
8.设置oracle用户环境变量
注意以下命令为,必需以oracle用户身分登录:
su – oracle
8.1修改/home/oracle/.bash_profile文件,添加以下行
export ORACLE_BASE=/oracle
export ORACLE_HOME=$ORACLE_BASE/product/10.2/db_1
export ORACLE_SID=bjapp(实际数据库实例名)
export PATH=$ORACLE_HOME/bin:$PATH
8.2检查设置的环境变量
echo $ORACLE_HOME
echo $ORACLE_BASE
echo $ORACLE_SID
9.修改Linux的发行标记
如在redhat5上安装oracle,需要将文件 '/etc/redhat-release'的内容由:
Red Hat Enterprise Linux Server release 5 (Tikanga)
修改为:
Red Hat Enterprise Linux Server release 4 (Tikanga)
10.使用root用户登陆图形界面,执行以下命令:
xhost +
11.切换到oracle用户(仍是图形页面登陆),安装oracle
./runInstaller
安装时,最好选择高级安装模式“Advanced Installation”,这样可以设置数据库字符集。
12.oracle 中文乱码的解决 root用户下修改 vi etc/sysconfig/i18n
LANG=”en_US.UTF-8”
13.配置oracle为自启动服务
以下操作使用root用户,
13.1vi /etc/rc.d/init.d/oracle,复制以下内容:
(错误)#!/bin/bash
# chkconfig: 2345 66 36
#!/bin/sh # chkconfig: 345 99 10 # description: Oracle auto start-stop script.
# /etc/rc.d/init.d/oracle
# description: starts the oracle database
#
ORA_HOME=/oracle/product/10.2/db_1
ORA_OWNER=oracle
case $1 in
start)
echo -n Starting Oracle Databases:
echo --------------------------------------------------------------------------------- >> /var/log/oracle
date + ! %T %a %D : Starting Oracle Databases as part of system up. >> /var/log/oracle
echo --------------------------------------------------------------------------------- >> /var/log/oracle
su - $ORA_OWNER -c $ORA_HOME/bin/dbstart >> /var/log/oracle
echo Done.
echo -n Starting Oracle Listeners:
su - $ORA_OWNER -c $ORA_HOME/bin/lsnrctl start >> /var/log/oracle
echo Done.
echo
echo --------------------------------------------------------------------------------- >> /var/log/oracle
date + ! %T %a %D : Finished. >> /var/log/oracle
echo --------------------------------------------------------------------------------- >> /var/log/oracle
touch /var/lock/subsys/oracle
;;
stop)
echo -n Shutting Down Oracle Listeners:
echo --------------------------------------------------------------------------------- >> /var/log/oracle
date + ! %T %a %D : Shutting Down Oracle Databases as part of system down. >> /var/log/oracle
echo --------------------------------------------------------------------------------- >> /var/log/oracle
su - $ORA_OWNER -c $ORA_HOME/bin/lsnrctl stop >> /var/log/oracle
echo Done.
rm -f /var/lock/subsys/oracle
echo -n Shutting Down Oracle Databases:
su - $ORA_OWNER -c $ORA_HOME/bin/dbshut >> /var/log/oracle
echo Done.
echo
echo --------------------------------------------------------------------------------- >> /var/log/oracle
date + ! %T %a %D : Finished. >> /var/log/oracle
echo --------------------------------------------------------------------------------- >> /var/log/oracle
;;
restart)
echo -n Restarting Oracle Databases:
echo --------------------------------------------------------------------------------- >> /var/log/oracle
date + ! %T %a %D : Restarting Oracle Databases as part of system up. >> /var/log/oracle
echo --------------------------------------------------------------------------------- >> /var/log/oracle
su - $ORA_OWNER -c $ORA_HOME/bin/dbshut >> /var/log/oracle
su - $ORA_OWNER -c $ORA_HOME/bin/dbstart >> /var/log/oracle
echo Done.
echo -n Restarting Oracle Listeners:
su - $ORA_OWNER -c $ORA_HOME/bin/lsnrctl stop >> /var/log/oracle
su - $ORA_OWNER -c $ORA_HOME/bin/lsnrctl start >> /var/log/oracle
echo Done.
echo
echo --------------------------------------------------------------------------------- >> /var/log/oracle
date + ! %T %a %D : Finished. >> /var/log/oracle
echo --------------------------------------------------------------------------------- >> /var/log/oracle
touch /var/lock/subsys/oracle
;;
*)
echo Usage: oracle { start | stop | restart }
exit 1
esac
exit 0
13.2修改/etc/rc.d/init.d/oracle执行权限
chmod 755 /etc/rc.d/init.d/oracle
13.3添加oracle服务
chkconig --add oracle
13.4设置oracle服务自启动
chkconfig oracle on
13.5启动、关闭、重启oracle命令
启动oracle数据库:
service oracle start
关闭oracle数据库:
service oracle stop
重启oracle数据库
service oracle restart
附录1:安装过程中遇到的问题及解决方法
1.xhost:unable to open display
解决方法:
1)查看/etc/inittab文件里,把init3或者其他值改成init5
2)reboot system,用root用户通过图形界面进入系统,在终端里执行xhost +,(一般在这里都xhost会执行成功,如果无法执行成功,那你图形肯定有问题!)
2.执行runInstaller时报错:Exception in thread main java.lang.UnsatisfiedLinkError:/tmp/OraInstall2007-12-21_10-40-21PM/jre/lib/i386/libawt.so:libXp.so.6: cannot open shared object file: No such file or directory
解决方法:安装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,使用命令startup mount;可以登陆。同时伴有,数据库起来后,重启机器后,执行dbstart又不能启动数据库的情况。
解决方法:检查 /etc/oratab文件,按下面方法操作。
此处还有一种修改方法:
#注释掉上面的行,增加下面行
$ORACLE_SID:$ORACLE_HOME:Y
3)如果执行dbstart仍不能启动,检查dbstart文件中的oratab项配置是否和下图中的一致,如果不一致修改。
4.ORA-01031: insufficient privileges问题
先照着问题3的方法检查一遍。
5.在linux下挂载iso的方法
mount –o loop linux.iso /mnt/cd1
6.跟踪命令的执行过程
strace -v ps -ef 2> ps.txt 写入ps.txt文件
7. 解决xhost 报错问题
Xhost local:oracle non-network local connections being added to access control list
8. 解决./runinstall.sh报错问题1
Rpm -i libXp-1.0.0-8.i386.rpm
9. 解决./runinstall.sh报错问题2
按次序安装
安装格式:Rpm –ivh xxxxx
Gzc-c++-3.4.6-9 rpm
Kernel-headers
Glibc-headers
Glibc-devel
Cpp-
Libstd/(有两个)
Libgomp-4.4cc++
Gcc-5.1.2
Gcc-c++
10. 其他
a. 监听启动
lsnrctl start
b. :1152/em启动
emctl start dbconsole
c. oracle启动
sqlplus “/as sysdba”
startup
10. 安装到最后报错问题:
删除/etc/oraInst.loc
并执行两个脚本
a. /oracle/oraInventory/orainstRoot.sh
b. /db_1/root.sh
命令:1. Vi 打开一个文档
a.进入后的命令 (有的需要按a才能编辑)
R替换 i插入 x删除 yy复制一行 p粘贴 o另起一行输入
Dd 删除一行
b.编辑完成之后按esc(esc打断编辑状态)
:wq! 保存退出
:q! 不保存强制退出
2. more查看文件
3. echo $xxxxx 输出环境变量 (echo表示输出)
4. chmod 赋权限
-R 表示赋给整个目录下所有文件
755/777 表示权重(rwx的权重)
7表示4 2 1 即全部权限
5 表示4 1 表示除了 x 其他都有权限
5. ps –ef | grep aa (aa%类型所有的进程)
例如 ps –ef | grep ja ja开头的所有进程
Oracle进程只能 ps –ef | grep ora_
6. mount命令
添加驱动/挂载硬盘 Mount 设备名 挂载点
例如 mount /dev/sda1 /mnt/
umount 表示卸载
umount 设备名
例如 umount /dev/sda1
如果设备正在忙比如 xxx is busy.
可以强制卸载
fuser –ku /mnt
7 . ls 命令 查看
-l 列出所有属性
-lrt 按时间顺序排列
8. pwd 当前目录
9. man 命令
例如 man ls 可以列出该命令的用法
10. setup 命令
显示配置信息
11. df 查看所有挂载的存储设备
df –k 以k为 大小查看
Df –h 以g为大小查看
12. du –sk 文件名 显示文件的大小
Du –sk *
14.date –s 时间 修改系统时间
例如: date –s 2011/09/01 09:01:01
du –sk | sort –rn 以大到小的顺序排列当前目录下得所有文件
15. find . 查找的文件名
例如 find . *a* 的模糊查询
16. fdisk –i 查找机器上所有加电的所有的设备
17.groupadd 增加组
useradd 增加用户
例如 useradd –g oinstall –G dba oracle -g表示分配用户到用户组
18.password oracle 表示给oracle设置密码
19.mkdir 创建文件夹
mkdir –p /xxx/xxx 一般加-p 表示全部创建
chown –R oracle:oinstall /oracle
20. chown 修改属组
比如chown –R oracle:oinstall /oracle
表示把 /oracle这个目录下得所有文件的所属组赋给 oinstall组中的oracle用户
21.top 查看机器当前使用情况 相当于windows的资源管理器
22.su 表示切换用户
su – 表示切换到默认的root用户
23.cp 表示拷贝
cp –R 被拷贝目录 拷贝目录
24.rm 删除
rm –r 删除目录
rm –rf 强制删除目录
25.mv移动
mv –r 被剪切目录 剪切目录
mv 可以用来重新命名文件