ubuntu10.04安装oracle10g

参考文档:http://wiki.ubuntu.org.cn/Ubuntu%E4%B8%8AOracle10g%E5%AE%89%E8%A3%85%E6%8C%87%E5%8D%97 

         需求:本人希望在自己当前用户下就可以开启数据库,并且使用MyEclipse可以直接连接安装的数据库,所有本人没有创建新的组和用户,而是在当前用户下安装oracle。如果您不是这个需求,建议您参照上面的参考文档。

1.         配置源(可略)

Oracle Ubuntu 用户设立了专门的 apt 源服务器,只需要在 /etc/apt/source.list 中添加下面这行既可。

deb http://oss.oracle.com/debian unstable main non-free

将该源服务器的公钥添加在本地 apt 系统的密钥库中。首先下载公钥,在终端输入:

wget http://oss.oracle.com/el4/RPM-GPG-KEY-oracle

下载完成之后添加该公钥到密钥库中,在终端输入

sudo apt-key add RPM-GPG-KEY-oracle

执行

sudo apt-get update

同步软件包索引文件。

2.         安装需要的包

sudo apt-get install gcc make binutils lesstif2 libc6 libc6-dev rpm libmotif3 libaio1 libstdc++6 alien

3.         oracle 安装到一个独立的分区上面,如:/opt上。本人的安装目录为/opt/ora10

    //创建ora10目录。

$ sudo mkdir -p /opt/ora10

         //修改目录的拥有者和组,其中UX为用户名,GX为该用户所在的组。本人要在本人当前用户下安装,所以本人的UX就是本人当前用户的用户名,组就是这个用户名所在的组。

$ sudo chown -R UX:GX  /opt/ora*

         //修改目录的权限

$ chmod -R 775 /opt/ora*

4.         修改sysctl.conf设置

$ sudo gedit /etc/sysctl.conf

添加如下的行到/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

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

注:shmmax(最大共享内存)是一个很重要参数,根据您的机器的内存来设定。如果您设置不合适的话,在创建数据库到约 86%的时候就会挂掉。但是具体该怎么去计算,本人也不太清楚,所有只好将参考文档上的搬来使用了,希望高人能够予以指教。

5.         修改 limits.conf设置

$ sudo gedit /etc/security/limits.conf

添加下面的行到/etc/security/limits.conf 以修改您的资源限制。

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

* soft nproc 2407

* hard nproc 16384

* soft nofile 1024

* hard nofile 65536

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

 

6.         让修改生效

修改了以上文件后,必须让其生效,重启系统或切换到 root 用户下用以下的方式改变内核运行参数:

# sysctl –p

7.         修改SWAP

安装 Oracle 10g推荐至少 512M 内存和至少400M 交换空间。

重设交换分区可以使用如下操作:

$ sudo dd if=/dev/zero of=tmp_swap bs=1k count=900000

// count 值是根据您需要调整的交换分区大小而定。

$ sudo chmod 600 tmp_swap

$ sudo mkswap tmp_swap

$ sudo swapon tmp_swap

查看当前的交换空间大小 命令是:swapon -s

注意:当重新启动后,手动设置的交换空间会失效,需要重新设置。

完成安装以後,可以释放这个空间:

$ sudo swapoff tmp_swap

$ sudo rm tmp_swap

8.         创建程序链接

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

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

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

9.         设置环境变量。

编辑 /home/oracle/.bashrc

$ gedit  ~/.bashrc

添加如下内容:(其中UX是您的用户名,SIDName 为您的实例名,您可以设置成自己想要的记住自己设置的当然,如果您忘记了,这里也是查询的一个地方)。

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

export ORACLE_BASE=/opt/ora10

export ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1

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

export ORACLE_OWNER=UX

export ORACLE_SID=SIDName

export ORACLE_TERM=xterm

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

修改并保存后。关闭gedit,然后使用命令让配置生效。

$ source ~/.bashrc

10.     设置语言(可略)

在安装之前设置LANGen_US,因为oracle安装界面对中文支持并不算很友好。原因是这样的:本人在安装时,并没有设置为英文,刚开始安装的时候中文显示的很正常,但是到了修改用户密码的界面时,就出现了方块,好在对以前安装有印象,所以没有出什么问题。因为界面的英文也是很简单的,所以建议安装的时候将语言设置为英文。根据自己的情况而定吧。

$ export LANG=en_US.UTF-8

11.     开始正式安装

注意事项:

         11.1 确定修改了数据库的操作权限。可以在database目录下使用:

           $ chmod 755 *

11.2     此处的安装不可以使用超级用户来安装,因为本人使用的过程中报错了,提示就是不能是root用户。建议新开一个终端来安装。

11.3     个可选的操作是:

创建RedHat的版本声明文件。在/etc/redhat-release中添加以下语句,以便安装程序认为正在一个RedHat的系统上安装。

Red Hat Linux release 3.1 (drupal)

但是,如果您不想这样来设置,可以在后面安装过程中指定参数(-ignoreSysPrereqs)忽略这些非必要的话也可以安装成功。

        11.4 最好不要将这个database目录放在有中文名字的目录下。

            

安装的命令。到database目录下,执行

                             $ ./runInstaller -ignoreSysPrereqs  -jreLoc /usr/java/jdk1.6.0_18

                   说明:-ignoreSysPrereqs是为了欺骗安装程序,如果按照上面11.3处设置           了,就不需要这个参数的了。-jreLoc,指定一下您的java的安装路径,可选。

 

         在安装过程中,请使用 Advanced Installation,然后一路按默认的设置进行往下设置,注意设置您自己的数据库默认的字符集及数据库的密码。在安装的后期,系统提示需要用 root 用户去运行两个脚本文件orainstRoot.shroot.sh,按照提示去执行就行。安装的最后,会出现一个提示框,您可以使用下面的提示url来连接一下您的数据库。

 

12.  本人遇到的问题和解决办法

         12.1 在运行root.sh时,出现下面的信息:

                   Finished running generic part of root.sh script.

                   Now product-specific root actions will be performed.

                   /bin/chgrp: 无效的组:"nobody"

                   解决的办法是:在新开的终端中创建这个组,然后重新执行root.sh

12.2 本人选择的默认字符集是 AMERICAN_AMERICA.AL32UTF8,所以后来在使用过程中,中文出现了乱码。

     解决办法是:在.bashrc中添加客户端的字符集:

                            export  NLS_LANG="AMERICAN_AMERICA.AL32UTF8"

12.3 调用makefile '/opt/oracle/product/10.2/network/lib/ins_net_client.mk' 的目标 'client_sharedlib' 时出错。请参阅'/XXX/logs/installActionsXXXPM.log' 以了解详细信息。

    本人经过查看这个安装日志,发现是不存在/usr/lib/libstdc++.so.5,因为在上面安装的是 libstdc++6。解决办法是,创建一个软连接,如下:

         $ sudo ln -s /usr/lib/libstdc++.so.6.0.13  /usr/lib/libstdc++.so.5

         本人觉得在这个安装过程中可能出现的问题挺多的,遇到问题后应该去提示的日志文件中查看到底是什么问题,然后再根据具体原因来解决。之所以是这么说,是因为本人在安装过程中,遇到弹出的错误提示时,并不知道先去查看日志,而是去网上搜索这个提示错误的解决办法,搜到的结果倒是挺多的,但是都不是我想要的,最后才意识到去看日志,自己就将这个问题给解决了。

         这是本人结合参考文档和自己的实际操作而写的,因为本人也是个初学者,好多东西也不明白,所以某些安装做法会贻笑大方,希望能够予以指教。如果这篇文章能够帮助您,那我也感觉很荣幸,希望我们共同进步。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值