ubuntu 11.10 server 安装 oracle10.2.0.1 步骤及问题解决方法

一、准备工作

由于Oracle的安装程序是基于GUI的交互界面开发的,而UbuntuServer默认没有安装桌面,故无法在服务器上直接运行;因此需要安装的x-window,

apt-get install make x-window-system-core

x-window-system-core只是x-server的核心部分,服务器仅安装这个就足够,再利用任何一个装有Ubuntu Desktop的机器(或者装个桌面版的虚拟机)通过远程连接到UbuntuServer来安装Oracle,再或者是装有装Xmanager的windows

a、登录到UbuntuDesktop的桌面,打开终端,然后在终端输入如下命令通过x-server连接到UbuntuServer:
$ ssh -X oracle@[ubuntuServer的IP地址]
注:-X参数是必须的,必须直接使用oracle帐号而不能使用其他帐号登录后再切换到oracle帐号。
        登录连接到UbuntuServer成功后,在终端运行“$ xclock”命令测试一下,如果出来个类似如下图的时钟窗口界面,证明一切顺利
ubuntu 11.10 server 安装 oracle10.2.0.1 步骤及问题解决方法_第1张图片
b、windows下安装Xmanager,安装过程(略)

      $ export DISPLAY=192.168.1.100:0.0  (192.168.1.100是运行Xmanage的计算机IP地址)
      $ export LANG=C 

      运行XmanageBroadcast(安装Xmanager,生成的图标),会在弹出一个屏幕,屏幕上暂时没有任何东西出现。

       再运行 $xclock ,如果界面上出现一个时钟,和上图类似,则表示成功

二、准备工作二

sudo apt-get install gcc make x-window-system-core lesstif2 libc6 libc6-dev ksh rpm alien binutils libaio1 libstdc++5 libstdc++6 gawk unzip

a、gcc版本问题

不要使用4.0以上的版本要不然会有很多问题的,

Ubuntu 安装低版本 GCC   

所需的deb下载地址:http://www.kuaipan.cn/file/id_5758473107148851.html

b、libmotif3

11.10的源里是libmotif4,

下载地址:http://www.kuaipan.cn/file/id_5758473107148837.html

c、libstdc++5

libstdc++5在Ubuntu9.10以后已经被libstdc++6所替代,需要建立连接

    进入lib目录                     cd /usr/lib  

    查看 libstdc开始的所有文件 ls libstdc*

    链接文件 ln -s libstdc++.so.6 libstdc++.so.5

如果不存在则从这里下载,复制到/usr/lib目录即可  http://www.kuaipan.cn/file/id_5758473107148858.html


解决错误的参考的网页http://forum.ubuntu.org.cn/viewtopic.php?f=44&t=361746&p=2673708


三、安装JDK

参考:http://blog.csdn.net/lmyclever/article/details/6877425

四、Linux 参数设置

注意:最好按说明一步步执行,路径也最好一样。

创建用户并设置权限,安装Oracle需要新建一个系统用户和三个组,增加用户和组,并修改一些配置。这一步很重要!如果不是很有把握,不要随便改。

Root权限下执行

   <1> # cd   退到根目录

   <2> # pwd 

       /root  --控制台输出信息

   <3> # addgroup oinstall

       Adding group `oinstall'(GID 1001) ...

       Done. --控制台输出信息

   <4> # addgroup dba

       Adding group `dba' (GID1002) ...

       Done. --控制台输出信息

   <5> # addgroup nobody

       Adding group `nobody'(GID 1003) ...

       Done. –控制台输出信息

   <6> # usermod -g nobody nobody

   <7> # useradd -g oinstall -G dba -p password -d/home/oracledba -s /bin/bash oracledba

   <8> # passwd -l oracledba

         Password changed. –输出

   <9> # mkdir /home/oracledba

   <10> # chown -R oracledba:dba /home/oracledbaoracle10g用户主目录)

   <11> # ln -s /usr/bin/awk /bin/awk

   <12> # ln -s /usr/bin/rpm /bin/rpm

   <13> # ln -s /usr/bin/basename /bin/basename

   <14> # mkdir /etc/rc.d

   <15> # for i in 0 1 2 3 4 5 6 S ; do  ln -s /etc/rc$i.d /etc/rc.d/rc$i.d ; done

   <16> # ln -s /etc/init.d /etc/rc.d/init.d

   <17> # mkdir -p /u01/app/oracle/oraInventory

   <18> # chown -R oracledba:dba /u01  (oracle10g安装路径、可按实际情况自行修改)

   

*  Lines 1-5: 增加我们需要的用户和组

*  Line 6: 让nobody用户的组变为nobody,这样Oracle的安装程序不会出问题。Ubuntu默认nobody的组是nogroup。

*  Lines 7-10: 创建一个oracledba用户,并锁定用户,以阻止别人通过oracledba用户登录系统。注意,oracledba用户的HOME目录不要与ORACLE_HOME相同。

*  Lines 11-16: 创建一些Oracle安装程序需要的工具的连接。因为Oracle安装程序是为Red Hat准备的,所以有些工具的位置和Ubuntu不一样。

*  Lines 17-18 创建ORACLE_BASE目录。

 

1、 在/etc/redhat-release中添加以下语句,以使安装程序认为我们正在一个RedHat的系统上安装:

# vi /etc/redhat-release 

Red Hat Linux release 4.1

 

3、修改一些系统默认值。这些修改将会增加系统文件描述符的数量、增加共享内存大小和修改一些网络子系统参数。

     将下面这些增加到/etc/sysctl.conf 文件的末尾: 

fs.file-max = 65535

kernel.shmall = 2097152

kernel.shmmax = 2147483648

kernel.shmmni = 4096

kernel.sem = 250 32000 100 128

net.ipv4.ip_local_port_range = 1024 65535

net.core.rmem_default = 1048576

net.core.rmem_max = 1048576

net.core.wmem_default = 262144

net.core.wmem_max = 262144

  在/etc/security/limits.conf中添加下面几行:

*    soft   nproc    2407

*    hard    nproc   16384

*    soft    nofile  1024

*    hard    nofile  65536

 

     为了强制使用刚才增加的东西,再增加下面这些到/etc/pam.d/login文件末尾:

session required /lib/security/pam_limits.so

session required pam_limits.so


最好重启下再执行下一部~~~

然后通过命令:# sysctl -p 让刚才增加的东西生效


四、安装oracle10g

 

上传安装包zip文件到/home/oracledba目录下(自己定义目录也可),执行 unzip 10201_database_linux32.zip,如果报告没有权限,再执行一次chmod –R oracledba/home/oracledba

命令行是这样:(root用户权限)

# unzip10201_database_linux32.zip

# chmod –R 755/home/database(为其他普通用户能执行此目录下的文件赋予权限)

 

1、运行XmanageBroadcast(安装Xmanager3,生成的图标),会在弹出一个屏幕,屏幕上暂时没有任何东西出现。

 

2、在linux server上,以oracledba用户运行以下命令:

 

$ export DISPLAY=192.168.0.104:0.0  (192.168.0.104是运行Xmanage的计算机IP地址)

$ export LANG=C

$ 进入oracle10g安装包,找到runInstaller

$ ./runInstaller -ignoreSysPrereqs

 

3、linux server 运行runInstaller过程中,回到192.168.1.104计算机上,观察刚才弹出的屏幕上,是否有oracle10g安装图形界面出现,如果以述所有配置都正确的话,都会出现oracle10g安装图形界面。

 

4、接下来就可以按oracle10g安装图形界面提示安装数据库。

安装中注意的几点:

     4.1注意安装路径的选择,在上边我们已经创建oracle的安装路径/u01/app/oracle

     4.2注意编码的选择

   4.3就是下面提到的执行两个脚本.

  

     除了以上几点以外其他的基本都是点下一步就可以。

     根据oracle安装提示 ,结合修改。

     4.1.1这个是在第二步(Specify Inventory directory and credentials)

   图如下:

ubuntu 11.10 server 安装 oracle10.2.0.1 步骤及问题解决方法_第2张图片

     把诸如图中/home/oracledba/oraInventory  修改成 /u01/app/oracle/oraInventory(可点击Browse选择)

   在图中 Specify Operating System groupname:下

     选择dba

   然后点击next

 

   4.1.2 这个是到SpecifyHome Details这步

     图如下:

   ubuntu 11.10 server 安装 oracle10.2.0.1 步骤及问题解决方法_第3张图片

   把上图Path: 路径/home/oracledba…… 修改成 /u01/app/oracle/product/10.2.0/db_1 

 

     product orainventory在同一个oracle文件夹下。

 

   总共以上两处改动安装路径,其他不需要改了。

 

 

   4.2编码的选择:

     图如下:

     ubuntu 11.10 server 安装 oracle10.2.0.1 步骤及问题解决方法_第4张图片

     到这步时,注意图中Select Database Character set :这项的选择,选择GBK

 

 

 

   4.3 有一个比较特殊的地方,就是到最后有一步,会有提示让执行两个脚本,先执行,然后再点OK。

     图如下:

     ubuntu 11.10 server 安装 oracle10.2.0.1 步骤及问题解决方法_第5张图片

   另起一个终端,用sudo su - 转为超级用户

     执行以下两步:

    # /u01/app/oracle/oraInventory/orainstRoot.sh

    # /u01/app/oracle/product/10.2.0/db_1/root.sh

 

   然后回到图形屏幕点"OK"


如果都是按以上步骤执行下来,路径没变,哪么下面配置文件,都可直接复制。

5、在/etc/profile文件中加入下面几句:(根据自己安装的位置,来配置oralce的ORACLE_HOME 和 PATH 环境变量)

    ORACLE_HOME=/u01/app/oracle/product/10.2.0/db_1

       exportORACLE_HOME

    PATH=/u01/app/oracle/product/10.2.0/db_1/bin:$PATH

      export PATH

   

如果不起作用,那可以编辑/etc/environment 这个文件

# vi /etc/environment

在PATH后面加上/u01/app/oracle/product/10.2.0/db_1/bin

ORACLE_HOME="/u01/app/oracle/product/10.2.0/db_1"

 

6、回到linux server 执行以下操作,检查安装是否成功   

 

    $ export ORACLE_SID=orcl(orcl 是你安装数据库所输入的)

    $ sqlplus '/as sysdba'

 

    SQL*Plus: Release11.1.0.6.0 - Production on Mon May 5 02:39:27 2008

 

    Copyright (c) 1982, 2007,Oracle.  All rights reserved.

 

    Connected to:

    Oracle Database 11gEnterprise Edition Release 11.1.0.6.0 - Production

    With the Partitioning,OLAP, Data Mining and Real Application Testing options

 

    SQL>

       可在这里启动数据库

       SQL>startup

    如果你看到了上面的结果,证明你的oracle安装成功了。

 

 

五、自启动配置

1. 使用root用户修改/etc/oratab文件:

# vi /etc/oratab

orcl:/u01/app/oracle/product/10.2.0/db_1:N

改为:

orcl:/u01/app/oracle/product/10.2.0/db_1:Y

也就是将最后的N改为Y

2. 使用Oracle用户修改$ORACLE_HOME/bin/dbstart文件:

# su - oracledba

$ cd $ORACLE_HOME/bin

$ vi dbstart

找到这行:

# Set this to bring up Oracle NetListener

ORACLE_HOME_LISTNER=/ade/vikrkuma_new/oracle

修改为:

# Set this to bring up Oracle NetListener

ORACLE_HOME_LISTNER=$ORACLE_HOME

 

3. 创建自启动脚本

 

    创建 oracledb 脚本到/etc/init.d/oracledb,内容如下红色字体:

 

#!/bin/bash

#

# /etc/init.d/oracledb

#

# Run-level Startup script for the OracleListener and Instances

# It relies on the information on/etc/oratab

 

export ORACLE_HOME=/u01/app/oracle/product/10.2.0/db_1

export ORACLE_OWNR=oracledba

export PATH=$PATH:$ORACLE_HOME/bin

export ORACLE_SID=orcl

 

if [ ! -f $ORACLE_HOME/bin/dbstart -o ! -d$ORACLE_HOME ]

then

    echo"Oracle startup: cannot start"

    exit1

fi

 

case "$1" in

    start)

        # Oracle listener and instance startup

       echo -n "Starting Oracle: "

       su $ORACLE_OWNR -c "$ORACLE_HOME/bin/lsnrctl start"

       su $ORACLE_OWNR -c "$ORACLE_HOME/bin/dbstart"

       touch /var/lock/oracle

       echo "OK"

       ;;

    stop)

       # Oracle listener and instance shutdown

       echo -n "Shutdown Oracle: "

       su $ORACLE_OWNR -c "$ORACLE_HOME/bin/lsnrctl stop"

       su $ORACLE_OWNR -c $ORACLE_HOME/bin/dbshut

       rm -f /var/lock/oracle

       echo "OK"

        ;;

    reload|restart)

       $0 stop

       $0 start

       ;;

    *)

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

       exit 1

esac

 

exit 0

      

4. 添加执行权限,并在各个运行级里创建链接。

       非root用户,如下命令:

# sudo chmod 755/etc/init.d/oracledb

# sudo update-rc.doracledb defaults 99

 

root用户,如下命令:

# chmod 755/etc/init.d/oracledb

# update-rc.doracledb defaults 99

 

       5. 测试一下,重启系统

             

              #reboot

 

六、手动启动及关闭Oracle 服务及listener服务

        (用oracledba用户)

#su - oracledba

$cd $ORACLE_HOME/bin

$./dbstart  --启动

$ ./dbshut  --关闭

 

 

备用:

       如果出现监听服务无法启动,报ora-12514错误时。

解决办法一:

       把$ORACLE_HOME/network/admin/下面的listener.ora和tnsnames.ora文件中的HOST = localhost(或本机器的IP或其他地址)改成自己的机器名,比如:HOST= poscard

     

解决办法二:

      把$ORACLE_HOME/network/admin/下面的listener.ora文件中的内容改成如下内容:

 

      其实就是加上了蓝色的内容

 

SID_LIST_LISTENER=

  (SID_LIST =

    (SID_DESC =

      (SID_NAME = PLSExtProc)

      (ORACLE_HOME =/u01/app/oracle/product/10.2.0/db_1)

      (PROGRAM = extproc)

    )

    (SID_DESC =

      (SID_NAME = orcl)

      (ORACLE_HOME =/u01/app/oracle/product/10.2.0/db_1)

      (GLOBAL_DBNAME = orcl)

    )

  )

 

LISTENER=

  (DESCRIPTION_LIST =

    (DESCRIPTION =

      (ADDRESS = (PROTOCOL = IPC)(KEY =EXTPROC1))

      (ADDRESS = (PROTOCOL = TCP)(HOST =192.168.0.223)(PORT = 1521))

    )

  )


其它参考网页:

修改其中的错误:http://forum.ubuntu.org.cn/viewtopic.php?f=44&t=361746&p=2673708

http://hi.baidu.com/sei_zhouyu/blog/item/922750b7e977b0c536d3caa3.html

http://www.cnblogs.com/luochengor/archive/2011/08/20/2147041.html

http://blog.csdn.net/altand/article/details/7049032

http://www.linuxidc.com/Linux/2011-12/48931.htm



你可能感兴趣的:(oracle,server,ubuntu,database,Path,oracle10g)