所需软件和工具 1. RHEL5 2. 10201_database_linux32.zip 3. SecureCRT 以root登录 修改开机等待时间 vi /ect/grub.conf timeout=5改为timeout=0 修改服务器默认进入界面:文本界面 vi /etc/inittab 将 id:5:initdefault 中的5改为3 检测rpm包存在与否 rpm -q binutils compat-db compat-libstdc++ control-center gcc gcc-c++ glibc glibc-common libstdc++ libstdc++ make pdksh sysstat setarch libXp libXp-devel
注:安装rhel5时,最好将development和base和system中的包都装上。即使上述检测语句报告libstdc++和pdksh未安装也不必在意。
分区情况:
Filesystem Size Used Avail Use% Mounted on /dev/sda2 7.4G 4.2G 2.9G 60% / /dev/sdd1 7.8G 1.5G 5.9G 20% /u01 /dev/sdc2 3.7G 72M 3.5G 3% /home /dev/sdc1 3.9G 223M 3.5G 6% /tmp /dev/sda1 388M 16M 352M 5% /boot
将RHEL5安装盘插入,挂载到/media/cdrom下 mkdir -p /media/cdrom mount /dev/hda /media/cdrom cd /media/cdrom/Server 不存在的包使用以下指令安装 rpm -ivh <package_name>* 创建oracle组和用户账户(root) /usr/sbin/groupadd oinstall /usr/sbin/groupadd dba /usr/sbin/useradd -g oinstall -G dba oracle passwd oracle 创建安装目录(root) mkdir -p /u01/app/oracle/product/10.2.0/db_1 mkdir -p /u01/app/oracle/product/10.2.0/oradata mkdir -p /u01/app/oracle/install chown -R oracle:oinstall /u01/app/oracle chmod -R 775 /u01/app/oracle 创建/u01/app/oracle/install目录是用作安装Oracle的位置,将10201_database_linux32.zip解压到这里 unzip /root/Desktop/10201_database_linux32.zip -d /u01/app/oracle/install 修改内核参数 增加/修改下面的内容到文件 /etc/sysctl.conf 中(如果原值比以下的大,就不必修改) kernel.shmall = 2097152 kernel.shmmax = 2147483648 kernel.shmmni = 4096 # semaphores: semmsl, semmns, 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 增加下面的内容到文件 /etc/security/limits.conf 文件中: * soft nproc 2047 * hard nproc 16384 * soft nofile 1024 * hard nofile 65536 增加下面的内容到文件 /etc/pam.d/login 中: session required /lib/security/pam_limits.so 把secure linux设成无效,/etc/selinux/config : SELINUX=disabled 因为oracle 的官方只支持到RHEL4为止,所以要修改版本说明, 编辑文件 /etc/redhat-release 把Red Hat Enterprise Linux Server release 5 (Tikanga) 改成版本4。 安装完成后,修改回来 在/etc/profile中增加如下配置(root): # For Oracle Install if [ /$USER = "oracle" ]; then if [ /$SHELL = "/bin/ksh" ]; then ulimit -p 16384 ulimit -n 65536 else ulimit -u 16384 -n 65536 fi umask 022 fi 配置oracle用户下环境变量(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 PATH=$PATH:$HOME/bin export PATH # For Oracle Install TMP=/tmp; export TMP TMPDIR=$TMP; export TMPDIR ORACLE_BASE=/u01/app/oracle; export ORACLE_BASE ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1; export ORACLE_HOME ORACLE_SID=orcl; export ORACLE_SID ORACLE_TERM=xterm; export ORACLE_TERM PATH=$PATH:$ORACLE_HOME/bin; export PATH LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ORACLE_HOME/lib; export LD_LIBRARY_PATH CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib; export CLASSPATH if [ $USER = "oracle" ]; then if [ $SHELL = "/bin/ksh" ]; then ulimit -p 16384 ulimit -n 65536 else ulimit -u 16384 -n 65536 fi fi 重启机器 su - root reboot 进入图形界面 root账号下,图形界面中(不能是文本界面),执行 xhost local:root 切换为oracle su - oracle cd /u01/app/oracle/install/database ./runInstaller 弹出oracle安装窗口! 输入sys等用户的密码,一路next,直到要求执行两个脚本为止。另开terminal执行完这2个脚本后再next。
安装好后,使用oracle用户登录
sqlplus / as sysdba
出现SQL>符号说明启动成功。
常见问题: (1) Exception in thread "main" java.lang.UnsatisfiedLinkError: /tmp/OraInstall2007-12-03_09-02-02AM/jre/1.4.2/lib/i386/libawt.so: libXp.so.6: cannot open shared object file: libXp相关包未安装,可在安装盘的Server目录中找到 rpm -q libXp (2) Can't connect to X11 window server using ':0.0' as the value of DISPLAY variable root账号下,图形界面中(不能是文本界面),执行 xhost local:root (3) 进入oracle安装图形界面后点下一步,提示:OUI-10035: you do not have permission to write to the inventory location 相关目录没有写权限 在./runInstaller这步之前,用root执行 chmod -R g+w /usr/app/oracle (4) 在进入图形界面后,在Product-Specific Prerequisite Checks面板中,有两项warning (1) Checking physical memory requirements expected:922MB Actual Result: 756MB (2) Checking network configuration requirements failed 手动user verify
(5) 安装结束前的错误警告,有关register inventory?
在报错步骤前一步须执行提示的两个脚本。
(6) 进入sqlplus后,ed命令没有文本编辑器
shell下,export EDITOR=vi
(7) Fedora发行版安装时报错:/lib/ld-linux.so.2找不到
解决方法:yum provides /lib/ld-linux.so.2,找到所需的包名,然后执行 yum install glibc
(8) Error in invoking target 'all_no_orcl ihsodbc' of makefile....
原因:缺少compat-libstdc包。可在安装盘中找到并安装之。
*配置SecureCRT 文件→连接→新建会话 向导中选SSH2协议→主机名即ip,开启会话 设置登录shell的用户名密码。 选项→会话选项→外观→当前颜色方案(Traditional),字体(新宋体),字符编码UTF-8 终端→仿真→映射键→勾选"Backspace发送delete(B)",该设置可避免在sqlplus中退格键无效问题 终端→仿真→Emacs→使用Alt作为元键,为元键发送escape,该设置可避免在shell中alt关联快捷键无效问题 Linux命令行下输入 echo $LANG 如果不是en_US.utf-8,则改成这个。否则会有中文乱码。 *两台linux主机之间使用nfs共享文件 以root 身份登陆,修改/etc/exports指定要共享的文件和访问权限等 vi /etc/exports 添加内容看起来如下: /home/oracle 192.168.61.*(rw,sync,no_root_squash) 启动服务 service portmap start service nfs start 首先在主机(192.168.61.25)上测试 mount -t nfs 192.168.61.25:/home/oracle /mnt 发现permission denied,究其原因见: 去掉/etc/hosts里添加的192.168.12.25/主机名的映射,因为增加了IP/主机名对后,NFS会先把IP地址转成对应的主机名,然后用这个主机名去匹配/etc/exports文件,而你的文件是这样设置的:192.168.12.25(rw,sync),当然就没有权限mount。 在客户端输入所需要的共享文件。 mount -t nfs 192.168.111.1:/mnt/inst /mnt 注意:一旦客户端共享完了文件,一定要记得umount掉。否则服务器down掉的话,相关资源访问不到,就有可能产生挂住的情况(相关可能引发的操作有df,umount) 如果umount之前服务器资源就访问不到了,就重启客户机
