ubuntu14.04安装Oracle_linux_x64_11gR2
2016-03-21 15:06
411 查看
ubuntu14.04安装Oracle_linux_x64_11gR2
首先,真的装的快崩溃了,各种问题各种错误,各种头疼。现在就记录下来一是分享,二是自己参考,其中有很大一部分是看了网上别人的安装教程,可是版本问题,比较久远的解决办法就失效了,导致我又要重新查找。下面看下操作步骤:如果你还没有安装ubuntu系统或是感觉自己的ubuntu系统版本低,想换的话,请在分区时,把交换分区(swap)设定得大一些(最少**4.5**G)。
ubuntu linux默认有自己的OpenJdk,交给超级牛力去做就行,终端键入:
$sudo apt-get install openjdk-7-jre $sudo apt-get install openjdk-7-jdk
jdk安完以后可以去终端看一下版本信息:
java -version
下面开始进入正题,安装oracle:
1.更新系统:(这步我没做,14.04是ubuntu最新一版系统,系统服务差不多都是比较新的版本,外加自己手工安过一堆deb包)
sudo apt-get update sudo apt-get dist-upgrade
下面就可以利用超级牛力执行依赖包的安装,下面的全部要装上,否则后头图形界面安装途中会报错,仔细一个一个查一遍,终端键入(这里就是有几个错误信息,之前网上一些并不是全部都能解决):
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 echo deb http://old-releases.ubuntu.com/ubuntu raring main restricted universe multiverse >/etc/apt/sources.list.d/ia32-libs-raring.list
)–>
上面这个如果解决不了就再来一个
{
sudo -i cd /etc/apt/sources.list.d echo "deb http://old-releases.ubuntu.com/ubuntu/ raring main restricted universe multiverse" >ia32-libs-raring.list apt-get update apt-get install ia32-libs rm ia32-libs-raring.list}
sudo apt-get install ksh sudo apt-get install less sudo apt-get install lesstif2 sudo apt-get install lesstif2-dev
(第二个问题出在这里:这里的lesstif2和lesstif2-dev都已经不能用了,解决办法是拿另一个替代:sudo apt-get install libmotif-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
至此,安装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
然后根据上面命令中得到的参数值在sudo /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
运行一下命令更新内核参数:
sudo /sbin/sysctl -p(这个地方有可能你也会报错,原因是因为你当前的用户不对,换个窗口就可以。)
添加对oracle用户的内核限制在 /etc/security/limits.conf 文件中增加以下数据
xxx soft nproc 2047 xxx hard nproc 16384 xxx soft nofile 1024 xxx hard nofile 65536 xxx soft stack 10240
这里的xxx是你装oracle的用户的名字。
查看/etc/pam.d/login,增加以下行(有了就不用增加了):
session required pam_limits.so
同样检查/etc/pam.d/su,没有以下行就自己加上:
session required pam_limits.so
创建需要的文件夹(用于安装oracle)并设置其所有权:
mkdir -p /opt/oracle mkdir -p /opt/oraInventory chown -R oracle:oinstall /opt/oracle chown -R oracle:oinstall /opt/oraInventory
将所有权设置命令中的用户oracle和组oinstall改为自己当前用户和组(通常二者是一样的),当然这时也可以不执行这两个chown命令,本来目录创建者就是所有者了。另外,需要root权限执行这些命令(sudo,下同)
为Oracle配置环境变量。这里我为了保险起见,将root下与我安装oracle的用户下的.profile都设置了这些环境变量。
#Oracle #这个写刚刚创建的文件夹 export ORACLE_BASE=/opt/oracle #这个后面可以随便填写 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/;
变量设置完成后,别忘记source .profile让变量生效,最好的办法就是再确定一遍:echo $ORACLE_HOME
oracle默认不支持ubuntu需要欺骗一下oracle安装程序(这里是要用sudo 去执行的,或者你已经在root用户下了):
mkdir /usr/lib64 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/ echo ‘Red Hat Linux release 5′ > /etc/redhat-release
以上是针对64位系统的,32位就是要将上面的x86_64-linux-gnu就都要改成i386-linux-gnu。
下载Oracle安装程序:这个就不用多说了,下载下来后随便放到一个文件夹下,然后进行解压,这里装过oracle的应该都熟悉,1of2和2of2解压出来都放到database文件夹中。
正式安装Oracle,为database文件夹下的runInstaller文件赋予可执行权限:
chmod 777 runInstaller
跳转到database目录,为了避免后面安装界面出现乱码,需要在这里输入:
export LANG=US
然后执行安装程序
./runInstaller
接下来就一步一步的执行操作:
email的那个勾去掉,不要发送。
然后一步一步走下去,当你到需要输入密码的那个界面输入123456,123456,可能会违反oracle的加密规范,不用管,继续下去。
还有一个报错是关于swap文件的,这说明你之前给oracle的安装空间太小了。
关于这个的解决办法是:
可以另开一个终端用下面的命令临时提升交换空间,再去recheck一下,就行了:
free -m mkdir /swapfile cd /swapfile sudo dd if=/dev/zero of=swap bs=1024 count=4320000(这里要根据你安装oracle所需要的多大就是多大,我这个例子是4320M,依次参考) sudo mkswap -f swap sudo swapon swap
安装到68%时的错
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 '/u01/app/oracle/product/11.2.0/db_1/sysman/lib/ins_emagent.mk'需要注意,就手动解决吧:
另外开启一个终端窗口,将ins_emagent.mk文件中的
$(MK_EMAGENT_NMECTL)更改为
$(MK_EMAGENT_NMECTL) -lnnz11,然后在安装过程中点击Retry即可
类似的后面还会提示四次,以下面的命令行如法炮制
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 -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
下面的安装过程就没有什么问题了。
最后应该就顺利完成了,按照安装程序提示最后执行两个脚本:
sudo /opt/oracle/oraInventory/orainstRoot.sh sudo /opt/oracle/Oracle11gee/product/11.2.0/dbhome_1/root.sh
当然走到这里你已经安装成功,你现在可以试着在你的终端上输入
su – oracle
接着输入:
$ sqlplus "/as sysdba"
原本的画面会变为
SQL>
接着请输入
SQL> startup
就可以正常的启动数据库了。
先更新到这里,后面我还会来来回回再装几遍,然后把遇到的问题记录在此。
相关文章推荐
- oracle 表空间的处理
- Oracle 11g的 7个服务 说明
- oracle死锁处理
- oracle 查看表被哪个使用(oracle 查看表被锁)百度
- oracle 倒库后insert id冲突的问题
- Oracle查询多个字段行转列处理实践案例
- oracle Plsql 执行update或者delete时卡死问题解决办法
- oracle client ORA-12541: TNS: 无监听程序
- 安装oracle遇到的bug及解决方法
- Oracle定时执行存储过程
- oracle分页查询sql
- oracle恢复删除的数据
- oracle 表死锁
- ORACLE 创建与使用视图
- MySQL分页SQL和ORACLE分页SQL
- DBA scripts
- Oracle自增ID实现
- oracle 12c的plsql64位系统安装
- 关于oracle block corruption (mos (文档 ID 840978.1))
- oracle 都是parallel惹的祸【1-2分钟出结果变1-2秒】