当前位置导航:炫浪网>>网络学院>>编程开发>>Oracle教程

FreeBSD 5.0RC1下Oracle 9i安装日记


  1. Linux兼容
  
  其实在FreeBSD下安装Oracle9i,实质上是在Linux下安装。不过是由FreeBSD提供一个兼容环境而已。
  
  应该说FreeBSD提供的Linux环境已经足够好了,但是我们还是需要做点工作:
  
  建立/compat/linux/etc/mtab
  
  #cat /etc/fstab | grep -v '^#' | grep -v cd9660 | grep -v proc | grep -v swap | grep -v devfs > /compat/linux/etc/mtab
  
  他生成的内容是:
  
  /dev/ad0s2a / ufs rw 1 1
  
  /dev/ad1s1 /u01 ufs rw 1 1
  
  我生成的内容是:
  
  /dev/ad0s1a / ufs rw 1 1
  
  /dev/ad0s1e /tmp ufs rw 2 2
  
  /dev/ad0s1f /usr ufs rw 2 2
  
  /dev/ad0s1d /var ufs rw 2 2
  
  创建链接
  
  #ln -s /usr/bin/awk /compat/linux/bin/awk
  
  #ln -s /usr/bin/sed /compat/linux/bin/sed
  
  #ln -s /usr/bin/chown /compat/linux/bin/chown
  
  创建/compat/linux/bin/arch
  
  #cat > /compat/linux/bin/arch
  
  #!/compat/linux/bin/bash
  
  echo i686
  
  ^D
  
  然后给它执行权
  
  #chmod +x /compat/linux/bin/arch
  
  如果你愿意,给它也来个链接也是不错的
  
  #ln -s /compat/linux/bin/arch /bin/arch
  
  2. 修改KERNEL
  
  #cd /usr/src/sys/i386/conf
  
  #cp GENERIC ORACLE
  
  #cat >> ORACLE
  
  options SEMMAP=128
  
  options SEMMNI=128
  
  options SEMMNS=32000
  
  options SEMOPM=250
  
  options SEMMSL=250
  
  options SHMMAXPGS=65536
  
  options SHMMAX=1073741824
  
  options SHMMNI=4096
  
  options SHMSEG=4096
  
  options MAXDSIZ=”(1024*1024*1024)”
  
  options MAXSSIZ=”(1024*1024*1024)”
  
  options DFLDSIZ=”(1024*1024*1024)”
  
  ^D
  
  *注,好象高手们都比较喜欢纯命令行,连个VI也不舍得用。
  
  #config ORACLE
  
  #cd ../compile/ORACLE
  
  #make depend install
  
  #reboot
  
  如果你象我一样还没编译过内核,可能会出现如下提示:
  
  You must build a kernel first
  
  这时,只需要执行:
  
  就是这句:#make depend install改成:
  
  #make depend
  
  #make
  
  #make install就OK了。
  
  3. 设置Oracle的用户环境变量
  
  昨天安装时只是创建了oracle用户,对组并没有细分。现在也补上吧。应该是个好习惯。
  
  #cat >> /etc/group
  
  oraoper:*:97:oracle
  
  oradb:*:98:oracle
  
  oracle:*:99: #这句因为加oracle用户时自动加了,所以我并没有写。
  
  ^D
  
  #adduser就略过了
  
  #mkdir -p /home/oracle同上
  
  #chown -R oracle:oracle /home/oracle这句好象我当时没有执行,加上
  
  接下来是关键了
  
  #cat > /home/oracle/.profile
  
  ORACLE_HOME=/usr/opt/ora9i/product/9.2.0.1.0
  
  ORACLE_SID=ORACLE
  
  PATH=$ORACLE_HOME/bin:$PATH
  
  PS1='oracle-freebsd> '
  
  export ORACLE_HOME ORACLE_SID PATH PS1
  
  ^D
  
  如果你没有DNS,需用要在hosts文件里加上
  
  #echo “<your IP address> <hostname>” >> /etc/hosts
  
  准备好了,现在可以进行安装了。
  
  cd /usr/local/ora9i/Disk1「我把安装包解到这里了」
  
  #xhost +local:oracle #给oracle用户本地访问X的权利
  
  #su – oracle
  
  #export DISPLAY=:0
  
  #cd /usr/local/ora9i/Disk1
  
  #./runInstaller
  
  我在运行runInstaller时出现了一个错误:
  
  ELF binary type=”0” not known.
  
  ./runInstaller:1:Syntax error:”(“unexpected.
  
  经过google+测试,可以运行#kldload linux来解决『这个应该在内核编译时指定选项来搞定吧,有时间试一下。』
  
  果然可以安装了,选择Custom方式,只安装Oracle 9i Database,安装过程出现15处错误,全部ignore了。网上有很多人说他们在Linux上安装时也出现这样的错误,诸如:
  
  Error in invoking target ctx_on of make file:
  
  /usr/opt/ora9i/product/9.2.0.1.0/rdbms/lib/ins_rdbms.mk
  
  不过还好,全部安装完毕。
  
  结尾的时候运行Net Assistant出错,Agent时出错,创建数据库时出错。(是我echo i586的错误)
  
  运行sqlplus时,提示:libclntsh.so找不到
  
  果然在lib里没有它,
  
  按Brian C. Ledbetter所说需要:
  
  #LD_LIBRARY_PATH=$ORACLE_HOME/lib; export LD_LIBRARY_PATH
  
  我一开始采用的是在安装文件里「安装文件在/usr/local/ora9i」执行
  
  find . -name 'libclnt*' -print
  
  结果发现在
  
  ./Components/oracle.swd.oui/2.2.0.12.0/DataFiles/Expanded/bin/linux/libclntsh.so[.9.0]
  
  sqlplus终于可以运行了,不过还是有错误:
  
  oracle-freebsd> sqlplus /nolog
  
  ....
  
  SQL> connect / as sysdba
相关内容
赞助商链接