ubuntu12.04安装Oracle11g,64位系统

在Ubuntu 上安装Oracle 11g数据库

Oracle 是一个面向Internet计算环境的数据库。它是在数据库领域一直处于领先地位的Oracle(即甲骨文公司)的产品。可以说Oracle关系数据库系 统是目前世界上流行的关系数据库管理系统,系统可移植性好、使用方便、功能强,适用于各类大、中、小、微机环境。它是一种高效率、可靠性好的适应高吞吐量 的数据库解决方案。

现在Oracle 11g免费提供用户使用,你可以去oracle.com上注册一个帐号,即可下载完整版的Oracle 11g。当然前提是你不能用于商业用途。

在网上找了各种资料,博客,百度...总算装好了。

一,下载oracle安装包

  百度oracle官网,免费注册帐号,下载oracle安装包,(两个文件都要)

二,打开终端,转换为超级用户:(注意,这里用sudo su -而不是sudo -s是有原因的:sudo su - 将用户转换为超级用户,并新起一个会话(空的会话),而不是像sudo -s那样将当前会话传递个新的超级用户,减少环境变量可能造成的影响和危害。

一步一步执行, 将系统更新到最新:

# sudo su -

# apt-get update

# apt-get dist-upgrade

# reboot

三,安装Oracle所需的依赖包:

# sudo su -

# apt-get  install alien binutils build-essential cpp-4.4 debhelper g++-4.4 gawk gcc-4.4 gcc-4.4-base gettext html2text ia32-libs intltool-debian ksh lesstif2 lib32bz2-dev lib32z1-dev libaio-dev libaio1 libbeecrypt7 libc6 libc6-dev libc6-dev-i386 libdb4.8 libelf-dev libelf1 libltdl-dev libltdl7 libmotif4 libodbcinstq4-1 libodbcinstq4-1:i386 libqt4-core libqt4-gui libsqlite3-0 libstdc++5 libstdc++6 libstdc++6-4.4-dev lsb lsb-core lsb-cxx lsb-desktop lsb-graphics lsb-qt4 make odbcinst pax po-debconf rpm rpm-common sysstat unixodbc unixodbc-dev unzip

四,修改一些Ubuntu的/bin/sh的默认连接

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

# cd /bin
# ls -l /bin/sh
.................................................   /bin/sh -> dash
# ln -sf bash /bin/sh
# ls -l /bin/sh
...................................................  /bin/sh -> bash

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

# addgroup oinstall

# addgroup dba

# addgroup nobody

# usermod -g nobody nobody

# useradd -g oinstall -G dba -p password -d /home/oracle -s /bin/bash oracle

# passwd -l oracle

# mkdir /home/oracle

# chown -R oracle:dba /home/oracle

 

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

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

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

# mkdir /etc/rc.d

# 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

# echo ‘Red Hat Linux release 5’ > /etc/redhat-release

# mkdir -p /u01/app/oracle

# chown -R oracle:dba /u01

解释:增加我们需要的用户和组
让nobody用户的组变为nobody,这样Oracle的安装程序不会出问题。Ubuntu默认nobody的组是nogroup。
创建一个oracle用户,并锁定用户,以阻止别人通过oracle用户登录系统。注意,oracle用户的HOME目录不要与ORACLE_HOME相同。
创建一些Oracle安装程序需要的工具的连接。因为Oracle安装程序是为Red Hat准备的,所以有些工具的位置和Ubuntu不一样。
创建ORACLE安装目录

 六,检查系统变量

# /sbin/sysctl -a | grep sem

# /sbin/sysctl -a | grep shm

# /sbin/sysctl -a | grep file-max

# /sbin/sysctl -a | grep aio-max

# /sbin/sysctl -a | grep ip_local_port_range

# /sbin/sysctl -a | grep rmem_default

# /sbin/sysctl -a | grep rmem_max

# /sbin/sysctl -a | grep wmem_default

# /sbin/sysctl -a | grep wmem_max

 然后根据上面命令中得到的参数值在/etc/sysctl.conf中增加对应数据,比如:

#  vim /etc/sysctl.conf


fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 2097152kernel.shmmax = 536870912
kernel.shmmni = 4096kernel.sem = 250 32000 100 128

net.ipv4.ip_local_port_range = 9000 65500

net.core.rmem_default = 262144

net.core.rmem_max = 4194304

net.core.wmem_default = 262144
net.core.wmem_max = 1048586

 添加对oracle用户的内核限制在 /etc/security/limits.conf 文件中增加以下数据:

# vim /etc/security/limits.conf
oracle              soft    nproc   2047

oracle              hard    nproc   16384

oracle              soft    nofile  1024

oracle              hard    nofile  65536

oracle              soft    stack   10240

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

session required /lib/security/pam_limits.so
session required pam_limits.so

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

# 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

七,.为Oracle配置环境变量

# vim /home/oracle/.bashrc

添加:

export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1
export ORACLE_SID=oracle

export ORACLE_UNQNAME=oracle
export PATH=${PATH}:${ORACLE_HOME}/bin/

保存退出,执行:

# source /home/oracle/.bashrc

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

# cd /home/oracle

# chown -R oracle:dba install

 # su - oracle

# export DISPLAY=127.0.0.1:0.0

# cd install

# unzip 安装包  (两个)

# ./runInstaller -ignoreSysPrereqs

若打不开安装界面,则执行命令:

# xhost +

然后继续安装:

# ./runInstaller -ignoreSysPrereqs

启动安装图形界面后,可能会发现文字乱码,全是口口口:

这时可以关闭该界面,先在终端输入:

# export LANG=en_US 或者 # export LANG=zh_CN.gbk

然后再执行:

# ./runInstaller -ignoreSysPrereqs

就可以在全英文界面下进行安装了。

图形安装界面的第一步是填写电子邮件,简单的解决办法是不填写邮件地址,不勾选下面的复选框,直接下一步,弹出提示后点‘Yes’就能直接进入下一步了。

按照图示选择:

 

next之后,选desktop class后下一步,

 

然后一直next,只需要设置一下密码就行了。

如果出现:

则看下面的内容。

九,排错

如果没有严格按照前面的要求做,安装过程中可能弹出错误,此时不要关闭界面,根据给出的日志位置,在日志中查看错误出现的原因,此时打开一个新的终端窗口。

# sudo su -

# sed -i 's/^\(\s*\$(MK_EMAGENT_NMECTL)\)\s*$/\1 -lnnz11/g' $ORACLE_HOME/sysman/lib/ins_emagent.mk

# sed -i 's/^\(TNSLSNR_LINKLINE.*\$(TNSLSNR_OFILES)\) \(\$(LINKTTLIBS)\)/\1 -Wl,--no-as-needed \2/g' $ORACLE_HOME/network/lib/env_network.mk

# sed -i 's/^\(ORACLE_LINKLINE.*\$(ORACLE_LINKER)\) \(\$(PL_FLAGS)\)/\1 -Wl,--no-as-needed \2/g' $ORACLE_HOME/rdbms/lib/env_rdbms.mk

# sed -i 's/^\(\$LD \$LD_RUNTIME\) \(\$LD_OPT\)/\1 -Wl,--no-as-needed \2/g' $ORACLE_HOME/bin/genorasdksh

# sed -i 's/^\(\s*\)\(\$(OCRLIBS_DEFAULT)\)/\1 -Wl,--no-as-needed \2/g' $ORACLE_HOME/srvm/lib/ins_srvm.mk

然后在图形界面点击‘Retry’就能继续安装了。

如果不行,则进入 # cd /u01/app/oraInventory/logs/

vim 查看错误文件

# vim installActions2015-06-17_10-32-34AM.log
根据文件尾的错误信息排除错误。

# cd  /lib64 根据上面文件尾的错误信息,查看链接是否正确

# ls -l  ...

然后修改。

在图形界面点击‘Retry’就能继续安装了。

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

# /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


# /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.

然后就可以点OK了,关闭窗口。

十,设置数据库文件夹和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.2.0/dbhome_1
export PATH=$PATH:/u01/app/oracle/product/11.2.0/dbhome_1/bin

创建一个Oracle 11g数据库的启动脚本,名字可以叫做:oracledb,在/u01/app/oracle/product/11.2.0/dbhome_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.2.0/dbhome_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

修改脚本为可执行的:

# chmod a+x /u01/app/oracle/product/11.2.0/dbhome_1/bin/oracledb

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

# ln -s /u01/app/oracle/product/11.2.0/dbhome_1/bin/oracledb  /etc/init.d/oracledb
# sudo sysv-rc-conf --level 2345 oracledb on

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

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

# usermod -G dba -a oracle

十一,最后登录

切换到oracle用户

# su oracle

# 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>

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

也可以:

# sqlplus

输入自带的用户:

然后用户名:scott

密码:tiger

里面有oracle自带的练习用表.

 

当电脑重启之后,用scott/tiger连接不上时,按以下步骤:

# sqlolus /nolog

SQL> conn /as sysdba

SQL> startup

SQL> conn scott/tiger

就可以了。

 

转载于:https://www.cnblogs.com/gj690261824/p/4583723.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值