最近在ubuntu上安装oracle,google了不少资料,安装的方法很多,但适合自己的很少,所以在这分享一下自己的安装经验,以后方便自己参考。
大体安装思路:先安装oralce的依赖包----->创建oracle的用户组(以后使用起来会很方便)------>配置系统变量(配置多个地方)------->安装oracle软件包
http://blog.csdn.net/idber/article/details/9039857
$ sudo addgroup nobody
$ sudo useradd -g oinstall -G dba -p password -d /home/oracle -s /bin/bash oracle
$ sudo passwd oracle
$ sudo usermod -g nobody nobody
$ sudo chown -R oracle:oinstall /opt/oracle (注:为创建oracle用户可跳过此句)
$ sudo chmod -R 775 /opt/oracle
在该文件最后添加以下内容:
kernel.shmall = 2097152
kernel.shmmax = 2147483648
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
fs.file-max = 65536
net.ipv4.ip_local_port_range = 1024 65000
在该文件最后添加以下内容:
oracle soft nproc 2047
oracle hard nproc 16383
oracle soft nofile 1023
oracle hard nofile 65535
在该文件最后添加以下内容:
session required /lib/security/pam_limits.so
session required pam_limits.so
在该文件最后添加以下内容:
Red Hat Linux release 4.1
$ sudo ln -s /usr/bin/basename /bin/basename
$ sudo mkdir /etc/rc.d
$ sudo ln -s /etc/rc0.d /etc/rc.d/rc0.d
$ sudo ln -s /etc/rc2.d /etc/rc.d/rc2.d
$ sudo ln -s /etc/rc3.d /etc/rc.d/rc3.d
$ sudo ln -s /etc/rc4.d /etc/rc.d/rc4.d
$ sudo ln -s /etc/rc5.d /etc/rc.d/rc5.d
$ sudo ln -s /etc/rc6.d /etc/rc.d/rc6.d
$ sudo ln -s /etc/init.d /etc/rc.d/init.d
7) 为oracle配置环境变量(vim .bashrc)
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1
export ORACLE_SID=orcl
export ORACLE_UNQNAME=orcl
export LD_LIBRARY_PATH=$ORACLE_HOME/lib
export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK #unicode编码 无论配置成什么编码,格式一定要写对(language_territory.charset 语言_地域和字符集),否则会安装失败,或者不做配置(没试过)
export PATH=${PATH}:${ORACLE_HOME}/bin/;
5> 开始安装
下载安装包
先到oracle的官方网站http://www.oracle.com/technology/software/products/database/index.html下载oracle安装文件,
这里我下载的是Oracle Database 11g Release 2 (11.2.0.1.0) for Linux x86,一共有2个压缩包共计2G
用unzip命令解压两个压缩包
打开terminal
执行下面一句确保安装界面不会显示乱码
或者
export LANG=zh_CN.gbk
乱码如下图:进入解压后的database目录中,然后再执行:
./runInstaller
图形安装界面的第一步是填写电子邮件,但是填完可能会出错:Unexpected error occurred while validating inputs at state 'getOCMDetails'。这是由于缺少pdksh依赖包,简单的解决办法是不填写邮件地址,不勾选下面的复选框,直接下一步,弹出提示后点‘Yes’就能直接进入下一步了.
此处的密码为oracle推荐密码,必须有大小写字母和数据,并且不少与8位
打开一个terminal,运行一个命令就ok了
sed -i 's/^\(\s*\$(MK_EMAGENT_NMECTL)\)\s*$/\1 -lnnz11/g' $ORACLE_HOME/sysman/lib/ins_emagent.mk
然后在图形界面点击‘Retry’就能继续安装了。
打开一个新的终端,输入如下四个命令:
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
成功安装后就能通过sqlplus来访问oracle了.
$ su oracle # 切换到oracle用户
$ sqlplus /nolog
如果报没有sqlplus命令 就将sqlplus文件拷贝到/bin中
sudo cp app/oracle/product/11.2.0/dbhome_1/bin/sqlplus /bin/
然后再次执行 $ sqlplus /nolog
就能成功进入
SQL>.................