一、准备工作
由于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
$ 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以上的版本要不然会有很多问题的,
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/oracledba(oracle10g用户主目录)
<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)
图如下:把诸如图中/home/oracledba/oraInventory 修改成 /u01/app/oracle/oraInventory(可点击Browse选择)
在图中 Specify Operating System groupname:下
选择dba
然后点击next
4.1.2 这个是到SpecifyHome Details这步
图如下:
把上图Path: 路径/home/oracledba…… 修改成 /u01/app/oracle/product/10.2.0/db_1
让product 和orainventory在同一个oracle文件夹下。
总共以上两处改动安装路径,其他不需要改了。
4.2编码的选择:
图如下:
到这步时,注意图中Select Database Character set :这项的选择,选择GBK
4.3 有一个比较特殊的地方,就是到最后有一步,会有提示让执行两个脚本,先执行,然后再点OK。
图如下:
另起一个终端,用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