ubantu 上oracle安装,Ubuntu 上安装 oracle

oracle 11g 数据库虽然提供了linux x86的版本,但是支持的linux版本只有Red Hat,Novell

and Solaris 这几个,debian 和 ubuntu

不在支持之列,所以在ubuntu下安装就相对麻烦一些,请照着下文的方法一步一步的安装,不要急躁,每一步都要认真作(我开始装的时候就是有点急,用自

己的方法简化了其中几步,结果。。。。安装失败-_-b )。

我的系统:ubuntu 8.04 desktop (32位) 内存:896M (本来是1G, 分了128M给显卡)

本文是"Installing Oracle 11g on Ubuntu 8.04 LTS (Hardy Heron)"文章翻译和注解,是一个外国牛人写的,原文:

http://www.pythian.com/blogs/968/installing-oracle-11g-on-ubuntu-804-lts-hardy-heron

如果不愿意看E文的可以看我下面的翻译:黑字是原文翻译,

红字是我的注解

蓝色为终端输入输出

(转载注明出处: )

共9步:

Step 1

下载和安装 Ubuntu 8.04 Hardy Heron (x86-32位) 版。略。

Step 2

下载Oracle 11g: Download Oracle 11g for Linux (x86, 32-bit)

.

现不要急着解压,一会我会告诉你解压在哪的。

Step 3

修改X server 的默认设置,点菜单的System -> Administration -> Login Window

(系统->管理->登录窗口),选择“Security(安全)”选项卡,取消“Deny TCP connections to the Xserver(拒绝TCP连接到X服务器)”的勾,重启Xserver(或者重启系统)。然后在终端输入:

user@hardy:~$ xhost +127.0.0.1

127.0.0.1 being added to access control list

Step 4

打开终端,转换为超级用户:(注意,这里用sudo su -而不是sudo -s是有原因的:sudo su -

将用户转换为超级用户,并新起一个会话(空的会话),而不是像sudo -s

那样将当前会话传递个新的超级用户,减少环境变量可能造成的影响和危害。

user@hardy:~$ sudo su -

[sudo] password for user:

root@hardy:~# apt-get update

...

root@hardy:~# apt-get dist-upgrade

...

root@hardy:~# reboot

注: 如果用新用户 oracle 登录的话, 这里可能会出现不能使用 sudo 命令的时候,用下面几步实现:

1>、进入超级用户模式。也就是输入"su -",系统会让你输入超级用户密码,输入密码后就进入了超级用户模式。(当然,你也可以直接用root用户登录)

2>、添加文件的写权限。也就是输入命令"chmod u+w /etc/sudoers"。

3>、编辑/etc/sudoers文件。也就是输入命令"vim /etc/sudoers",输入"i"进入编辑模式,找到这一

行:"root ALL=(ALL) ALL"在起下面添加"xxx ALL=(ALL) ALL"(这里的xxx是你的用户名),然后保存(就是先摁

一 下Esc键,然后输入":wq")退出。

4>、最后去掉文件的写权限。也就是输入命令"chmod u-w /etc/sudoers"。

Step 5

用apt安装一些必要的工具:

user@hardy:~$ sudo su -

[sudo] password for user:

root@hardy:~# apt-get install build-essential libaio1 gawk ksh libmotif3 alien libtool lsb-rpm

...

root@hardy:~#

Step 6

在装完那些工具以后,我们需要做的就是修改一些Ubuntu的/bin/sh的默认连接,千万不要略过这一步,否则安装的时候会出现很多错误。

root@hardy:~# cd /bin

root@hardy:/bin# ls -l /bin/sh

lrwxrwxrwx 1 root root 4 2008-04-28 19:59 /bin/sh -> dash

root@hardy:/bin# ln -sf bash /bin/sh

root@hardy:/bin# ls -l /bin/sh

lrwxrwxrwx 1 root root 4 2008-05-01 22:51 /bin/sh -> bash

如果你想知道为什么Ubuntu用dash作为默认的shell,看这个:a detailed explanation of why dash is the default system shell

Step 7

增加用户和组,并修改一些配置。

这一步很重要!如果不是很有把握,不要随便改。

(为了便于解释,增加了行号):

01 root@hardy:/bin# cd

02 root@hardy:~# pwd

/root

04 root@hardy:~# addgroup oinstall

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

Done.

07 root@hardy:~# addgroup dba

Adding group `dba' (GID 1002) ...

Done.

10 root@hardy:~# addgroup nobody

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

Done.

13 root@hardy:~# usermod -g nobody nobody

14 root@hardy:~# useradd -g oinstall -G dba -p password -d /home/oracle -s /bin/bash oracle

15 root@hardy:~# passwd -l oracle

Password changed.

17 root@hardy:~# mkdir /home/oracle

18 root@hardy:~# chown -R oracle:dba /home/oracle

19 root@hardy:~# ln -s /usr/bin/awk /bin/awk

20 root@hardy:~# ln -s /usr/bin/rpm /bin/rpm

21 root@hardy:~# ln -s /usr/bin/basename /bin/basename

22 root@hardy:~# mkdir /etc/rc.d

23 root@hardy:~# 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

24 root@hardy:~# mkdir -p /u01/app/oracle

25 root@hardy:~# chown -R oracle:dba /u01

26 root@hardy:~#

Lines 04-12: 增加我们需要的用户和组

Line 13: 让nobody用户的组变为nobody,这样Oracle的安装程序不会出问题。

Ubuntu默认nobody的组是nogroup。

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

Lines 19-23: 创建一些Oracle安装程序需要的工具的连接。

因为Oracle安装程序是为Red Hat准备的,所以有些工具的位置和Ubuntu不一样。

Finally, on lines 24-25 创建ORACLE_BASE目录。

Step 8

修改一些系统默认值。这些修改将会增加系统文件描述符的数量、增加共享内存大小和修改一些网络子系统参数。这些修改是否会对你的系统带来影响我就不得而知了。将下面这些增加到/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文件末尾:

oracle soft nproc 2047

oracle hard nproc 16383

oracle soft nofile 1023

oracle hard nofile 65535

为了强制使用刚才我们增加的东西,我们再增加下面这些到/etc/pam.d/login

文件末尾:

session required /lib/security/pam_limits.so

session required pam_limits.so

然后通过命令:sysctl -p 让刚才

增加的东西生效:

root@hardy:~# sysctl -p

kernel.printk = 4 4 1 7

kernel.maps_protect = 1

fs.inotify.max_user_watches = 524288

vm.mmap_min_addr = 65536

net.ipv4.conf.default.rp_filter = 1

net.ipv4.conf.all.rp_filter = 1

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

root@hardy:~#

Step 9

现在我们将刚才下载的oracle11g的安装包解压到/home/oracle/install/目录下。然后进入目录,设置DISPLAY参数,开始安装:

root@hardy:~# cd /home/oracle

root@hardy:/home/oracle# chown -R oracle:dba install

root@hardy:/home/oracle# su - oracle

Your account has expired; please contact your system administrator

su: User account has expired

(Ignored)

oracle@hardy:~$ export DISPLAY=127.0.0.1:0.0

oracle@hardy:~$ pwd

/home/oracle

oracle@hardy:~$ ls -l

total 4

drwxr-xr-x 6 oracle dba 4096 2007-09-18 18:50 install

oracle@hardy:~$ cd install

oracle@hardy:~/install$ ls -l

total 28

drwxr-xr-x 11 oracle dba 4096 2007-08-06 16:02 doc

drwxr-xr-x 5 oracle dba 4096 2007-08-03 13:28 install

drwxr-xr-x 2 oracle dba 4096 2007-09-18 18:52 response

-rwxr-xr-x 1 oracle dba 2911 2007-08-03 13:28 runInstaller

drwxr-xr-x 14 oracle dba 4096 2007-08-03 13:27 stage

-rw-r--r-- 1 oracle dba 4835 2007-08-06 18:19 welcome.html

oracle@hardy:~/install$ ./runInstaller -ignoreSysPrereqs

输入完上面命令后,就进入了Oracle 的同一安装程序了(OUI),不要急,继续按照本文一步一步的通过安装:

注意:OUI安装完后,并不是真正完全安装完成,还需要就行最后的收尾工作(在最后有),而且这是必须做的工作!

06083417211.jpg

点(Next)下一步。

06083417212.jpg

修改“Specify Operating System group name:”为:"dba",然后点"Next".

06083417213.jpg

按照上图设置,点下一步。

06083417214.jpg

选择"Enterprise Edition",然后下一步。

06083417215.jpg

安图设置,下一步。

06083417216.jpg

继续下一步。

06083417217.jpg

等待系统检查,不要担心有错误和警告。

06083417218.jpg

将检查到的所有非“Succeeded”的都打上勾,下一步。

06083417219.jpg

选择“Install Software Only”,等装完以后再通过dbca装数据库,下一步。

你也可以在这一步选"Create a Database"来安装数据库。

06083417220.jpg

将所有组都设为:dba,下一步。

06083417221.jpg

现在可以点“Install”了:)这个过程会等很久,而且其中系统会变慢,所以你最好拿本书在旁边,喝杯咖啡。

有时候系统会变得很慢,像是要死机了,这个不要管,等他慢慢装。

06083417222.jpg

到了这一步不要记着点“OK”,需要做下面操作:(另起一个终端,用sudo su - 转为超级用户)

root@hardy:~# /u01/app/oraInventory/orainstRoot.sh

Changing permissions of /u01/app/oraInventory to 770.

Changing groupname of /u01/app/oraInventory to dba.

The execution of the script is complete

root@hardy:~# /u01/app/oracle/product/11.1.0/db_1/root.sh

Running Oracle 11g root.sh script...

The following environment variables are set as:

ORACLE_OWNER= oracle

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

Enter the full pathname of the local bin directory: [/usr/local/bin]:

Copying dbhome to /usr/local/bin ...

Copying oraenv to /usr/local/bin ...

Copying coraenv to /usr/local/bin ...

Creating /etc/oratab file...

Entries will be added to the /etc/oratab file as needed by

Database Configuration Assistant when a database is created

Finished running generic part of root.sh script.

Now product-specific root actions will be performed.

Finished product-specific root actions.

root@hardy:~#

好了,这个完成后可以点“OK”了。

安后点“Exit”退出OUI,现在可以祝贺你,OUI安装完成了:)

但是还是不要急,记住咱们还有收尾工作需要做。

设置数据库文件夹和oratab文件的访问权限:(一定要加上这个,不然在使用中会有一些小问题)

$ sudo chown -R oracle:dba /u01/app/oracle/*

$ sudo chmod -R g+w /u01/app/oracle/*

$ sudo chown oracle:dba /etc/oratab

$ sudo chmod g+w /etc/oratab

然后,在/etc/profile文件中加入下面几句:

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

export PATH=$PATH:/u01/app/oracle/product/11.1.0/db_1/bin

创建一个Oracle 11g数据库的启动脚本,名字可以叫做:oracledb,在/u01/app/oracle/product/11.1.0/db_1/bin下建立文件:oracledb,内容:

#!/bin/bash

#

# /etc/init.d/oracledb

#

# Run-level Startup script for the Oracle Listener and Instances

# It relies on the information on /etc/oratab

export ORACLE_BASE=/u01/app/oracle

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

export ORACLE_OWNR=oracle

export PATH=$PATH:$ORACLE_HOME/bin

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

then

echo "Oracle startup: cannot start"

exit 1

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 $ORACLE_HOME"

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 $ORACLE_HOME"

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

修改脚本为可执行的:

root@hardy:~# chmod a+x /u01/app/oracle/product/11.1.0/db_1/bin/oracledb

如果你希望开机自动启动Oracle 11g数据库,那么就作下面的工作:

root@hardy:~# ln -s /u01/app/oracle/product/11.1.0/db_1/bin/oracledb /etc/init.d/oracledb

root@hardy:~# sudo sysv-rc-conf --level 2345 oracledb on

如果没有sysv-rc-conf命令,就apt-get一个。

最后,增加你自己的用户名到dba组:

root@hardy:~# usermod -G dba -a user

好了,至此,Oracle 11g就安装完了。重新登录后,你就可以使用oracle的命令了。

你可以通过netca增加LISTENER,通过dbca增加数据库。测试一下是否安装成功:

(ORACLE_SID=heron 是你安装时候设置的值)

oracle@hardy:~$ export ORACLE_SID=heron

oracle@hardy:~$ sqlplus '/as sysdba'

SQL*Plus: Release 11.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 11g Enterprise Edition Release 11.1.0.6.0 - Production

With the Partitioning, OLAP, Data Mining and Real Application Testing optionsSQL>

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

现在就是真正安装完了:)

原文:http://hi.baidu.com/wuxicn/blog/item/0cfdc24ac5ae372609f7ef94.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值