您的位置:首页 > 数据库 > Oracle

ubuntu 8.10 安装Oracle 10G 企业版综合指南

2009-09-17 10:03 489 查看
首先把系统更新到最新(可能有一个包libaio1需要手工安装)

1. 增加swap分区(根据需要确定是否要增加)

安装需要1G的swap分区,如果不够的话

$dd if=/dev/zero of=/tmp/tmp.swap bs=1M count=100

$chmod 600 /tmp/tmp.swap

$mkswap /tmp/tmp.swap

$sudo swapon /tmp/tmp.swap

查看 swap分区: swapon -s

安装完毕,恢复swap

$swapoff /tmp/tmp.swap

$rm /tmp/tmp.swap

2. 创建用户

要用oracle用户安装,安装好后,同样用oracle用户启动。

$addgroup oinstall

$addgroup dba

$addgroup nobody

$useradd -g oinstall -G dba -d /home/oracle -m -s /bin/bashoracle

$usermod -g nobody nobody

$sudo passwd oracle

给oracle用户分配权限:



3. 创建目录

oracle安装在此。

$mkdir -p /opt/ora10

$chown -R oracle:oinstall /opt/ora10

$chmod -R 775 /opt/ora10

4. 修改内核参数

$sudo vim /etc/sysctl.conf

添加:

kernel.shmmax = 3147483648

kernel.shmmni = 4096

kernel.shmall = 2097152

kernel.sem = 250 32000 100 128

fs.file-max = 65536

net.ipv4.ip_local_port_range = 1024 65000

$sudo vim /etc/security/limits.conf

添加:

oracle soft nofile 65536

oracle hard nofile 65536

oracle soft nproc 16384

oracle hard nproc 16384

让修改生效:

$sudo sysctl -p

创建链接:

$ln -s /usr/bin/awk /bin/awk

$ln -s /usr/bin/rpm /bin/rpm

$ln -s /usr/bin/basename /bin/basename

5. 设置用户环境(默认情况下系统已经设置好了,ubuntu8.10的profile文件名是~/.profile)

$su - oracle

$vim ~/.bash_profile

增加:

if [ -f ~/.bashrc ]; then

. ~/.bashrc

fi

$vim ~/.bashrc

增加:

export ORACLE_BASE=/opt/ora10

export ORACLE_HOME=/opt/ora10

exportPATH=$ORACLE_HOME/bin:$ORACLE_HOME/Apache/Apache/bin:$PATH

export ORACLE_OWNER=oracle

export ORACLE_SID=orcl

export ORACLE_TERM=xterm

设置数据库的sid为orcl

6. 安装准备

$sudo vim /etc/redhat-release

添加:

Red Hat Linux release 3.1 (drupal)

确定java环境可以显示中文,如果不行:

方法很简单,就是在java安装目录下放进去一个中文字体即可。

cd $JAVA_HOME/jre/lib/fonts

  sudo mkdir fallback

  cd fallback

  sudo ln -s/usr/share/fonts/truetype/wqy/wqy-zenhei.ttf(把某个中文字体链接进 fallback目录,我选了最新的文泉驿夸父字体)

  sudo mkfontdir

  sudo mkfontscale

把$JAVA_HOME/替换成实际的路径

7. 安装

用oracle用户登录X

进入安装文件目录,

./runInstaller -jreLoc $JAVA_HOME/jre/

把$JAVA_HOME/替换成实际的路径

在 安装过程中,请使用 Advanced Installation,然后一路按默认的设置进行往下设置,在安装的后期,系统提示需要用root用户去运行两个脚本文件orainstRoot.sh和root.sh,不要点击ok按钮,这个时候再打开一个终端,用root用户登录,按提示执行那两个脚本,执行完后再点击ok按钮。

最后可以安装成功。

8. 手工启动:

设置oracle10g环境变量:

export ORACLE_HOME=/opt/ora10

exportPATH=$ORACLE_HOME/bin:$ORACLE_HOME/Apache/Apache/bin:$PATH

报错:ORA-12162: TNS:net service name is incorrectly specified

解决办法:设置SID:export ORACLE_SID=orcl

1)启动监听器:

:~$ lsnrctl

LSNRCTL> start

停止监听器:

LSNRCTL> stop

2)sqlplus登录oracle10:

:~$ sqlplus /nolog

SQL> conn /as sysdba

3)启动数据库:

SQL> startup

停止数据库

SQL> shutdown

4)启动控制台:

:~$ emctl start dbconsole

可以使用web访问:

http://localhost:1158/em/

停止控制台:

:~$ emctl stop dbconsole

5)启动isqlplus:

先切换到oracle用户,再执行下面的语句:

$ isqlplusctl start

http://localhost:5560/isqlplus/

需要在http://localhost:1158/em/中先创建一个非dba用户,才可以登录http://localhost:5560/isqlplus/

停止isqlplus:

$ isqlplusctl stop

9. 在/home/oracle中建启动脚本:

1)用oracle用户新建文件:vi runoracle.sh

文件内容如下:

#!/bin/bash

#name: runoracle.sh

export ORACLE_HOME=/opt/ora10

export PATH=$ORACLE_HOME/bin:$PATH

if [ $UID != 1001 ]

then

echo "should run by user 'oracle'"

exit 1

elif [ $# != 1 ]

then

echo "Usage: `basename $0` start|stop|restart"

exit 2

fi

case "$1" in

start)

echo -n "Starting Oracle:"

lsnrctl start

dbstart

touch /var/lock/oracle

emctl start dbconsole

isqlplusctl start

echo

echo "OK!"

;;

stop)

echo -n "Shutdown Oracle:"

lsnrctl stop

dbshut

rm -f /var/lock/oracle

emctl stop dbconsole

isqlplusctl stop

echo

echo "OK!"

;;

restart)

$0 stop

$0 start

;;

*)

echo "Usage: `basename $0` start|stop|restart"

exit 2

esac

exit 0

保存文件

说明:1001是oracle用户的UID

2)修改权限:chmod 755 runoracle.sh

3)要启动的时候先切换到oracle用户:

su - oracle

再输入:

./runoracle.sh start

如果启动oracle10g报错:

Failed to auto-start Oracle Net Listene using/ade/vikrkuma_new/oracle/bin/tnslsnr

解决办法:

用oracle用户编辑dbstart文件

vi /opt/ora10/bin/dbstart

将ORACLE_HOME_LISTNER=/ade/vikrkuma_new/oracle改为:

export ORACLE_HOME_LISTNER=$ORACLE_HOME

保存退出,ok

如果要通过web方式使用sqlplus,

需要在http://localhost:1158/em/ 中先创建一个非dba用户,

再使用新增加的用户登录http://localhost:5560/isqlplus/

10. oracle 10g字符集查看:

$ sqlplus /nolog

SQL> conn /as sysdba

SQL> col value$ format a40

SQL> select name,value$ from props$;

11. 如果使用sqlplus查询表的中文是乱码,可以按照以下办法解决:

1)先查看数据库的字符集:

select name,value$ from props$ where name like 'NLS_CHAR%';

显示如下:

NAME VALUE$

----------------------------------------------------------------------

NLS_CHARACTERSET AL32UTF8

2)在终端中设置NLS_LANG的值和数据库一致:

export NLS_LANG=american_america.AL32UTF8

再登录sqlplus就不会有乱码了。

其原理是保持客户端和服务器端字符集一致。

3)可以编辑 bash_profile 文件进行永久设置

vi .bash_profile

加入以下语句:

export NLS_LANG=american_america.AL32UTF8

字符集的设置要注意,如果设置错了是登录不了sqlplus的。

通常不建议永久设置。另外,使用web方式是不错的选择。

再重新登录sqlplus:

sqlplus /nolog

conn /as sysdba ---以管理员身份登录

conn user/password@sid ---以其他用户登录

(登录不要使用 sqlplus "user/passwordas sysdba",这样会报错,按照我上面的)

安装过程参考了

http://www.linuxidc.com/Linux/2008-05/12707.htm

http://wiki.ubuntu.org.cn/index.php?tit ... iant=zh-cn
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: