不说废话了,直接说,希望让我这样的没怎么接触过Oracle的小伙伴迅速配置成功。
Oracle数据库官方下载
如上图,选择Linux x86_64
对应的File 1和File 2文件下载。(可能需要登录,需要注册下oracle账户)
下载完成后,先在~
目录下创建一个database文件夹:sudo mkdir /home/database
。再切换到下载的oracle文件处。执行解压操作:
sudo zip linux.x64_11gR2_database_1of2.zip -d /home/database
sudo zip linux.x64_11gR2_database_2of2.zip -d /home/database
sudo apt-get install automake
sudo apt-get install autotools-dev
sudo apt-get install binutils
sudo apt-get install bzip2
sudo apt-get install elfutils
sudo apt-get install expat
sudo apt-get install gawk
sudo apt-get install gcc
sudo apt-get install gcc-multilib
sudo apt-get install g++-multilib
sudo apt-get install ia32-libs
sudo apt-get install ksh
sudo apt-get install less
sudo apt-get install lesstif2
sudo apt-get install lesstif2-dev
sudo apt-get install lib32z1
sudo apt-get install libaio1
sudo apt-get install libaio-dev
sudo apt-get install libc6-dev
sudo apt-get install libc6-dev-i386
sudo apt-get install libc6-i386
sudo apt-get install libelf-dev
sudo apt-get install libltdl-dev
sudo apt-get install libmotif4
sudo apt-get install libodbcinstq4-1 libodbcinstq4-1:i386
sudo apt-get install libpth-dev
sudo apt-get install libpthread-stubs0
sudo apt-get install libpthread-stubs0-dev
sudo apt-get install libstdc++5
sudo apt-get install lsb-cxx
sudo apt-get install make
sudo apt-get install openssh-server
sudo apt-get install pdksh
sudo apt-get install rlwrap
sudo apt-get install rpm
sudo apt-get install sysstat
sudo apt-get install unixodbc
sudo apt-get install unixodbc-dev
sudo apt-get install unzip
sudo apt-get install x11-utils
sudo apt-get install zlibc
ps:谨慎起见,最好都执行一遍。
一个一个执行太慢了,我把这些命令放到一个shell文件里,用bash执行。
这里需要注意的是有些同学用的国内的源,可能不太行。这里推荐还是换回官方的比较稳妥。
/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中增加对应数据,比如执行/sbin/sysctl -a | grep sem
:
那么就在/etc/sysctl.conf里,设置:kernel.sem = 32000 1024000000 500 32000
所以,在/etc/sysctl.conf中追加的文件内容为:
搞定后,运行代码(目的:更新内核参数):
sysctl –p
添加对samuel用户的内核限制在 /etc/security/limits.conf 文件中增加以下数据,注:其中samuel是我的ubuntu系统的普通用户。
samuel soft nproc 2047
samuel hard nproc 16384
samuel soft nofile 1024
samuel hard nofile 65536
samuel soft stack 10240
首先检查/etc/pam.d/login
增加一行(有了就不用增加了):
session required pam_limits.so
同样检查/etc/pam.d/su,没有这行就自己加上:
session required pam_limits.so
我创建的目录为
sudo mkdir -p /home/samuel/tools/oracle11g
接着,为Oracle配置环境变量:
sudo gedit ~/.profile
#oracle安装目录,本步创建的文件夹
export ORACLE_BASE=/home/dong/tools/oracle11g
#网上说可以随便写
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1
#数据库的sid
export ORACLE_SID=orcl
export ORACLE_UNQNAME=orcl
#默认字符集
export NLS_LANG=.AL32UTF8
#环境变量
export PATH=${PATH}:${ORACLE_HOME}/bin/:$ORACLE_HOME/lib64;
Oracle本身并不支持ubuntu来安装,所以要进行欺骗oracle的安装程序(sudo执行):
mkdir /usr/lib64
# ln -s 创建软链接
ln -s /etc /etc/rc.d
ln -s /lib/x86_64-linux-gnu/libgcc_s.so.1 /lib64/
ln -s /usr/bin/awk /bin/awk
ln -s /usr/bin/basename /bin/basename
ln -s /usr/bin/rpm /bin/rpm
ln -s /usr/lib/x86_64-linux-gnu/libc_nonshared.a /usr/lib64/
ln -s /usr/lib/x86_64-linux-gnu/libpthread_nonshared.a /usr/lib64/
ln -s /usr/lib/x86_64-linux-gnu/libstdc++.so.6 /lib64/
ln -s /usr/lib/x86_64-linux-gnu/libstdc++.so.6 /usr/lib64/
# 这个感觉填什么都行.... red hat也是可以的
echo 'Ubuntu Linux release 16.04' > /etc/ubuntu-release
进入/home/database文件夹,为runInstaller文件赋予可执行权限
chmod 777 runInstaller
此外,因为我没有特意创建一个oracle用户,所以还是以samuel这个用户来执行oracle。
sudo chown -R samuel:root /home/samuel/tools/oracle11g
# 官方文档是755
sudo chmod 777 -R /home/samuel/tools/oracle11g
然后就可以开始执行安装了!
bash /home/database/runInstaller
Linux下安装Oracle11g,安装界面乱码问题解决方法:
解决安装时显示的是”囗囗囗囗囗囗囗囗”
解决方法:
设置 export LANG=en-US
一、
“Error in invoking target ‘install’ of makefile ‘/home/samuel/tools/oracle11g/product/11.2.0/dbhome_1/ctx/lib/ins_ctx.mk’. “
直接contiue跳过去
二、
“make file ‘/……emagent.mk’”
解决方法:
另开一个终端,键入命令行:
sed -i 's/^\(\s*\$(MK_EMAGENT_NMECTL)\)\s*$/\1 -lnnz11/g' $ORACLE_HOME/sysman/lib/ins_emagent.mk
点击安装界面的retry,就可以继续了
三、
“Error in invoking target ‘agent nmhs’ of makefile ‘/home/dong/tools/oracle11g/product/11.2.0/dbhome_1/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’就能继续安装了。
最后应该就顺利完成了,按照安装程序提示最后执行两个脚本:
一、~/tools/oralnventory/orainstRoot.sh
二、~/oracle11g/product/11.2.0/dbhome_1/root.sh
至此安装成功。
sqlplus / as sysdba
如果显示sqlplus不存在,则重启一下,就行了。
Shadow0418:ubuntu16.04安装oracle11g