ubuntu8.04安装oracle11g
来源:互联网 发布:js给变量赋值 编辑:程序博客网 时间:2024/05/16 10:40
原文(E):http://www.pythian.com/blogs/968/installing-oracle-11g-on-ubuntu-804-lts-hardy-heron
共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 -> LoginWindow(系统->管理->登录窗口),选择“Security(安全)”选项卡,取消“Deny TCP connectionsto 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
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:~# su - oracle
Your account has expired; please contact your system administrator
su: User account has expired
(Ignored)
oracle@hardy:~$ export DISPLAY=192.168.w.z: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 database
oracle@hardy:~$ cd database
oracle@hardy:~/database$ 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:~/database$ ./runInstaller -ignoreSysPrereqs
输入完上面命令后,就进入了Oracle 的同一安装程序了(OUI),不要急,继续按照本文一步一步的通过安装:注意:OUI安装完后,并不是真正完全安装完成,还需要就行最后的收尾工作(在最后有),
的而且这是必须做的工作!点(Next)下一步。
到了这一步不要急着点“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 byDatabase Configuration Assistant when a database is createdFinished 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安装完成了:)但是还是不要急,记住咱们还有收尾工作需要做。
在/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/oracleexport ORACLE_HOME=/u01/app/oracle/product/11.1.0/db_1export 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 1esacexit 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 2008Copyright (c) 1982, 2007, Oracle. All rights reserved.Connected to:Oracle Database 11g Enterprise Edition Release 11.1.0.6.0 - ProductionWith the Partitioning, OLAP, Data Mining and Real Application Testing optionsSQL>
如果你看到了上面的结果,证明你的oracle安装成功了。现在就是真正安装完了:)
(................)
However, we’re not completely done yet: a few actions need to beperformed to make your life easier. First, we add these lines to /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
Also, a startup script might be useful, right? Create a file called /etc/init.d/oracledb
and put this into it:
#!/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
After saving this file, make it executable:
root@hardy:~# chmod a+x /etc/init.d/oracledb
If you want this script to be run at every boot, execute this:
root@hardy:~# update-rc.d oracledb defaults 99
Adding system startup for /etc/init.d/oracledb ...
/etc/rc0.d/K99oracledb -> ../init.d/oracledb
/etc/rc1.d/K99oracledb -> ../init.d/oracledb
/etc/rc6.d/K99oracledb -> ../init.d/oracledb
/etc/rc2.d/S99oracledb -> ../init.d/oracledb
/etc/rc3.d/S99oracledb -> ../init.d/oracledb
/etc/rc4.d/S99oracledb -> ../init.d/oracledb
/etc/rc5.d/S99oracledb -> ../init.d/oracledb
Just remember: this script depends on the existence of a database on the machine, so don’t forget to run dbca
as the oracle
user, and configure it to start at boot time (edit /etc/oratab
after creating the database, and set the last column to Y
).
To make things easier, make your user part of the dba
group. This way your user will be able to interact with the database server with the dba
role. In the example below, user
is the username:
root@hardy:~# usermod -G dba -a user
When creating a database with dbca
, don’t forget to do so as the oracle
user (and to export the DISPLAY
environment variable). After creation, you should test if you can connect to it:
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 options
SQL>
After you get this output, we can finally say: it’s complete! Ofcourse, I invite you to share your thoughts and your experiences withthis HOWTO.
- ubuntu8.04安装oracle11g
- ubuntu8.04安装oracle11g(精简版)
- Ubuntu8.04安装Realplayer11
- ubuntu8.04安装心得
- Ubuntu8.04 安装checkgmail
- 安装ubuntu8.04。。。。
- Ubuntu8.04简易安装
- Ubuntu8.04安装snmp
- Ubuntu8.04 oracle10g安装
- ubuntu8.1 oracle11g
- ubuntu8.04硬盘安装 转
- Ubuntu8.04硬盘安装指南
- Ubuntu8.04安装使用感受
- ubuntu8.04 安装fcitx输入法
- Ubuntu8.04硬盘安装指南
- Ubuntu8.04下安装Eclipse
- ubuntu8.04安装svn服务
- 在 Ubuntu8.04 安装 Django
- 加密算法
- DataList控件里添加复选框实现全选
- [转]IT项目开发的75条管理守则
- 眼见为实 编译器的优化
- InnoDB 介绍
- ubuntu8.04安装oracle11g
- 帮您把隐藏文件彻底的揪出来
- 《深度探索c++对象模型》 学习笔记 - 4 Function语义学
- 。net 的八嘎
- 远程连接Linux下MySQL失败问题
- 发布 MyEclipse 7.0 GA / 6.6 GA / 6.5 GA / 6.0 GA / 5.5 GA / 5.1 GA 等全系列注册码及官方下载地址
- InnoDB 介绍(二)
- 关于动态改变控件大小的一点不同的看法(转)
- 学生的福音:做错之题管理