ubuntu16.04部署oracle11.2.0.4

Ubuntu安装oracle数据库

 

 

1.基础环境

1.liunx内核信息

 

2.oracle版本 :11.2.0.4

 

3.jdk 版本:

注:jdk版本无限制

4. 查询系统的参数

/sbin/sysctl -a | grep sem

/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

/sbin/sysctl -a | grep shmall

/sbin/sysctl -a | grep shmmax

/sbin/sysctl -a | grep shmmni

vi /etc/sysctl.conf  #更改参数

加入:

fs.aio-max-nr = 65536

fs.file-max = 1637370

kernel.shmall = 1844674407369277439

kernel.shmmax = 18446744073692774399

kernel.shmmni = 4096

kernel.sem = 32000 1024000000 500 32000

net.ipv4.ip_local_port_range = 32768 60999

net.core.rmem_default = 212992

net.core.rmem_max = 212992

net.core.wmem_default = 212992

net.core.wmem_max = 212992

注:数值为查询到的系统参数

5. vnc工具

 

 

2.部署前准备

1.建立oracle用户:

#创建oracle用户组和用户

groupadd dba

useradd -g dba -m oracle

# 为该用户指定命令解释程序(通常为/bin/bash)

usermod -s /bin/bash oracle

#为该用户指定用户主目录

usermod -d /home/oracle oracle

#为oracle用户设置密码

passwd  oracle  

 

 

# 配置oracle用户sudo的权限

chmod +w  /etc/sudoers

vi /etc/sudoers 

加入 :oracle  ALL=(ALL:ALL) ALL  

保存

撤销/etc/sudoers写的权限

chmod -w  /etc/sudoers

修改前:

 

修改后:

 

 

 

2.配置jdk

#查看是否有jdk的环境

java -version

 

 

#安装jdk

sudo mkdir /opt/jdk #创建jdk文件夹

#文件权限设置

sudo chmod 755 /

sudo chmod 755 /opt

sudo chmod 755/opt/jdk

#解压jdk到/opt/jdk目录下(文件已提前上传)

sudo chmod 755 jdk-8u171-linux-x64.tar.gz

tar -zxvf jdk-8u171-linux-x64.tar.gz -C /opt/jdk/

#配置jdk环境变量

vim /etc/profile  # 加入

export JAVA_HOME=/opt/jdk/jdk1.8.0_171

export PATH=$JAVA_HOME/bin:$PATH

export CLASSPATH=$JAVA_HOME/jre/lib/ext:$JAVA_HOME/lib/tools.jar

source /etc/profile #使环境变量生效

java -version

 

 

 

3.安装软件包

binutils libcap-dev libstdc++5 gcc g++ libc6 libc6-dev ksh libaio1 libaio-dev lib32gcc1 libgcc1 libstdc++6 libstdc++6-4.7-dev libxi6 libxtst6 make sysstat unzip apt-file

注:测试机器中外网是通的,在正式环境下需要提前下号包

  1. 切换apt-get的源的网易源

sudo cp /etc/apt/sources.list  /etc/apt/sources.list_bak  #备份source.list

 vi /etc/apt/sources.list #改为下面的源

deb http://mirrors.163.com/ubuntu/ xenial main restricted universe multiverse

deb http://mirrors.163.com/ubuntu/ xenial-security main restricted universe multiverse

deb http://mirrors.163.com/ubuntu/ xenial-updates main restricted universe multiverse

deb http://mirrors.163.com/ubuntu/ xenial-proposed main restricted universe multiverse

deb http://mirrors.163.com/ubuntu/ xenial-backports main restricted universe multiverse

deb-src http://mirrors.163.com/ubuntu/ xenial main restricted universe multiverse

deb-src http://mirrors.163.com/ubuntu/ xenial-security main restricted universe multiverse

deb-src http://mirrors.163.com/ubuntu/ xenial-updates main restricted universe multiverse

deb-src http://mirrors.163.com/ubuntu/ xenial-proposed main restricted universe multiverse

deb-src http://mirrors.163.com/ubuntu/ xenial-backports main restricted universe multiverse

#更新apt

apt-get update

#安装软件

 sudo apt-get install binutils libcap-dev libstdc++5 gcc g++ libc6 libc6-dev ksh libaio1 libaio-dev lib32gcc1 libgcc1 libstdc++6 libstdc++6-4.7-dev libxi6 libxtst6 make sysstat unzip apt-file

 

 

 

 

 

 

 

4.安装前配置

#用户内核限制  

vi /etc/security/limits.conf

oracle soft nproc 2047

oracle hard nproc 16384

oracle soft nofile 1024

oracle hard nofile 65536

oracle soft stack 10240

注:我的用户未oracle

 

#oracle不支持ubuntu 所以要做欺骗oracle的操作

sudo mkdir /usr/lib64

 

sudo ln -s /etc /etc/rc.d

 

sudo ln -s /lib/x86_64-linux-gnu/libgcc_s.so.1 /lib64/

 

sudo ln -s /usr/bin/awk /bin/awk

 

sudo ln -s /usr/bin/basename /bin/basename

 

sudo ln -s /usr/bin/rpm /bin/rpm

 

sudo ln -s /usr/lib/x86_64-linux-gnu/libc_nonshared.a /usr/lib64/

 

sudo ln -s /usr/lib/x86_64-linux-gnu/libpthread_nonshared.a /usr/lib64/

 

sudo ln -s /usr/lib/x86_64-linux-gnu/libstdc++.so.6 /lib64/

 

sudo ln -s /usr/lib/x86_64-linux-gnu/libstdc++.so.6 /usr/lib64/

注:用之前先检查包是否安装 find /usr -name libstdc++.so.6

 

5.安装vnc

su oracle

#安装Xfce

sudo apt-get install xfce4

#安装VNCServer

sudo apt-get install vnc4server

vncserver #启动vncserver 设置密码

 

 

#配置xstartup文件

 

修改xstartup文件内容,针对Xfce4桌面环境

 

修改~/.vnc/xstartup中的内容为

 

vi  .vnc/xstartup

 

#!/bin/sh 

unset SESSION_MANAGER 

unset DBUS_SESSION_BUS_ADDRESS 

startxfce4 &

 

[ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup 

[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources 

xsetroot -solid grey

 

 

重启vnc

修改配置文件后,运行如下命令结束掉之前产生的窗口:1

vncserver -kill :1

重新启动

vncserver

 

 

 

3.oracle数据库安装

1.解压oracle安装软件

chmod  755 p13390677_112040_Linux-x86-64_1of7.zip

chmod  755 p13390677_112040_Linux-x86-64_2of7.zip

unzip p13390677_112040_Linux-x86-64_1of7.zip  -d /u01/ #解压

unzip p13390677_112040_Linux-x86-64_2of7.zip  -d /u01/

  1. oracle安装过程

#vncServer连接

 

 

 

cd /u01/database

 

执行 ./runInstaller

解决前2个问题后进入安装界面

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

等待出现错误处理

70%左右会出现错误,错误处理完成后:

 

 

 

 

 

 

 

切换到root执行root.sh

sudo su root

/u01/app/oracle/product/11.2.0/dbhome_1./root.sh

/u01/app/oraInventory./orainstRoot.sh

 

设置OS变量

su oracle

vi .profile

加入:

ORACLE_BASE=/u01/app/oracle

ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1

ORACLE_SID=orcl

PATH=$PATH:$ORACLE_HOME/bin

export ORACLE_BASE ORACLE_HOME ORACLE_SID PATH

 

到此数据库已经按照完成

 

监听暂时不配置(需要是再配置)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

4.问题与处理

1.交换空间不足

Checking swap space: 0 MB available, 150 MB required.    Failed

 

swapon -s 查看交换空间

#增加交换空间

dd if=/dev/zero of=/home/swapfile bs=1M count=512

mkswap /home/swapfile

swapon /home/swapfile

然后修改 vi  /etc/fstab,加上:

/home/swapfile swap swap defaults 0 0

 

 

2,.网络问题

 

 

另开窗口 su root

vi ./etc/hosts

加入

172.16.128.59 oracle-for-test-2  #ip和主机名

 

 

3. /u01/app/oracle/product/11.2.0/dbhome_1/sysman/lib/ins_emagent.mk

 

日志:

Exception String: Error in invoking target 'agent nmhs' of makefile '/u01/app/oracle/product/11.2.0/dbhome_1/sysman/lib/ins_emagent.mk'. See '/u01/app/oraInventory/logs/installActions2019-04-13_07-04-30AM.log' for details

 

 

INFO: make[1]: *** [/u01/app/oracle/product/11.2.0/dbhome_1/sysman/lib/emdctl] Error 1

INFO: /u01/app/oracle/product/11.2.0/dbhome_1/sysman/lib/ins_emagent.mk:176: recipe for target '/u01/app/oracle/product/11.2.0/dbhome_1/sysman/lib/emdctl' failed

 

解决办法:vi /u01/app/oracle/product/11.2.0/dbhome_1/sysman/lib/ins_emagent.mk

#===========================

#  emdctl

#===========================

 

$(SYSMANBIN)emdctl:

        $(MK_EMAGENT_NMECTL)

 

 

修改为:

#===========================

# emdctl

#===========================

 

$(SYSMANBIN)emdctl:

$(MK_EMAGENT_NMECTL) -lnnz11

Retry

 

 

 

 

 

 

 

 

4. /u01/app/oracle/product/11.2.0/dbhome_1/rdbms/lib/ins_rdbms.mk:1096: recipe for target '/u01/app/oracle/product/11.2.0/dbhome_1/rdbms/lib/kfod' failed

 

 

日志:

Exception String: Error in invoking target 'all_no_orcl' of makefile '/u01/app/oracle/product/11.2.0/dbhome_1/rdbms/lib/ins_rdbms.mk'. See '/u01/app/oraInventory/logs/installActions2019-04-13_07-04-30AM.log' for details.

 

INFO: make: *** [/u01/app/oracle/product/11.2.0/dbhome_1/rdbms/lib/kfod] Error 1

 

INFO: /u01/app/oracle/product/11.2.0/dbhome_1/rdbms/lib/ins_rdbms.mk:1096: recipe for target '/u01/app/oracle/product/11.2.0/dbhome_1/rdbms/lib/kfod' failed

查看 ins_rdbms.mk文件

 

“KFOD_LINKLINE”变量是在“env_rdbms.mk”文件中定义的,修改“/u01/app/oracle/product/11.2.0/dbhome_1/rdbms/lib/env_rdbms.mk”文件

修改 KFOD_LINKLINE 的变量定义

 

 

 

 

KFOD_LINKLINE=$(LINK) $(S0MAIN) $(SSKFODED) $(SKFODPT) $(KFODOBJ) \

        $(LIBGENERIC) $(LLIBDBTOOLS) \

        $(LIBGENERIC) $(LLIBCOMMON) $(LLIBSAGE) $(LLIBSKGXP) $(LIBCORE) \

        $(CSSCLNTLIBS_SERVER) $(LLIBASMCLNT) $(LINKTTLIBS)

改为

KFOD_LINKLINE=$(LINK) $(S0MAIN) -Wl,--no-as-needed $(SSKFODED) $(SKFODPT) $(KFODOBJ) \

       $(LIBGENERIC) $(LLIBDBTOOLS) \

       $(LIBGENERIC) $(LLIBCOMMON) $(LLIBSAGE) $(LLIBSKGXP) $(LIBCORE) \

        $(CSSCLNTLIBS_SERVER) $(LLIBASMCLNT) $(LINKTTLIBS)

 

Retry

 

 

5.

错误日志:

INFO: make: *** [/u01/app/oracle/product/11.2.0/dbhome_1/rdbms/lib/amdu] Error 1

 

INFO: /u01/app/oracle/product/11.2.0/dbhome_1/rdbms/lib/ins_rdbms.mk:1102: recipe for target '/u01/app/oracle/product/11.2.0/dbhome_1/rdbms/lib/amdu' failed

 

INFO: End output from spawned process.

INFO: ----------------------------------

INFO: Exception thrown from action: make

Exception Name: MakefileException

Exception String: Error in invoking target 'all_no_orcl' of makefile '/u01/app/oracle/product/11.2.0/dbhome_1/rdbms/lib/ins_rdbms.mk '. See '/u01/app/oraInventory/logs/installActions2019-04-13_07-04-30AM.log' for details.

Exception Severity: 1

同问题4:

 

AMDU_LINKLINE

的问题修改 /u01/app/oracle/product/11.2.0/dbhome_1/rdbms/lib/env_rdbms.mk”文件中 修改 AMDU_LINKLINE 的变量定义

 

AMDU_LINKLINE=$(LINK) $(S0MAIN) $(SSKFMUED) $(SKFMUPT) \

       $(LLIBDBTOOLS) $(LLIBCORE) $(LLIBGENERIC) \

       $(LLIBCOMMON) $(LLIBGENERIC) $(LLIBCOMMON) $(LLIBUNLSRTL) \

        $(LLIBNLSRTL) $(LLIBCORE) $(LLIBSAGE) $(LLIBSKGXP) \

        $(LLIBNLSRTL) $(CSSCLNTLIBS_SERVER) $(LLIBASMCLNT) $(LINKTTLIBS)

改为

AMDU_LINKLINE=$(LINK) $(S0MAIN) -Wl,--no-as-needed $(SSKFMUED) $(SKFMUPT) \

       $(LLIBDBTOOLS) $(LLIBCORE) $(LLIBGENERIC) \

       $(LLIBCOMMON) $(LLIBGENERIC) $(LLIBCOMMON) $(LLIBUNLSRTL) \

        $(LLIBNLSRTL) $(LLIBCORE) $(LLIBSAGE) $(LLIBSKGXP) \

        $(LLIBNLSRTL) $(CSSCLNTLIBS_SERVER) $(LLIBASMCLNT) $(LINKTTLIBS)

 

 

 

 

 

 

 

 

6.

 

详细日志:

INFO: /u01/app/oracle/product/11.2.0/dbhome_1/bin/genorasdksh: Failed to link liborasdk.so.11.1

INFO: make: *** [liborasdksh] Error 1

INFO: /u01/app/oracle/product/11.2.0/dbhome_1/rdbms/lib/ins_rdbms.mk:1314: recipe for target 'liborasdksh' failed

INFO: End output from spawned process.

INFO: ----------------------------------

INFO: Exception thrown from action: make

Exception Name: MakefileException

Exception String: Error in invoking target 'all_no_orcl' of makefile '/u01/app/oracle/product/11.2.0/dbhome_1/rdbms/lib/ins_rdbms.mk'. See '/u01/app/oraInventory/logs/installActions2019-04-13_07-04-30AM.log' for details.

Exception Severity: 1

 

修改/u01/app/oracle/product/11.2.0/dbhome_1/bin/genorasdksh

 

echo "Creating $LD_DEST"

Remove_File $LIB_DIR/$OSDK_LIB

$LD $LD_RUNTIME $LD_OPT $LD_OUT $LD_SELF_CONTAINED $BASE_LIB \

       $LD_OBJS $LD_SYMS $OLIBS $SYSLIBS $USRLIBS

Check_Status $? "Failed to link $OSDK_LIB"

(cd $LIB_DIR; ls -l $OSDK_LIB)

改为

echo "Creating $LD_DEST"

Remove_File $LIB_DIR/$OSDK_LIB

$LD $LD_RUNTIME $LD_OPT -Wl,--no-as-needed $LD_OUT $LD_SELF_CONTAINED $BASE_LIB \

       $LD_OBJS $LD_SYMS $OLIBS $SYSLIBS $USRLIBS

Check_Status $? "Failed to link $OSDK_LIB"

(cd $LIB_DIR; ls -l $OSDK_LIB)

 

 

 

7.

 

错误信息:

 

INFO: /u01/app/oracle/product/11.2.0/dbhome_1/rdbms/lib/ins_rdbms.mk:1114: recipe for target '/u01/app/oracle/product/11.2.0/dbhome_1/rdbms/lib/renamedg' failed

 

INFO: make: *** [/u01/app/oracle/product/11.2.0/dbhome_1/rdbms/lib/renamedg] Error 1

 

INFO: End output from spawned process.

INFO: ----------------------------------

INFO: Exception thrown from action: make

Exception Name: MakefileException

Exception String: Error in invoking target 'all_no_orcl' of makefile '/u01/app/oracle/product/11.2.0/dbhome_1/rdbms/lib/ins_rdbms.mk'. See '/u01/app/oraInventory/logs/installActions2019-04-13_07-04-30AM.log' for details.

Exception Severity: 1

 

 

修改“/u01/app/oracle/product/11.2.0/dbhome_1/rdbms/lib/env_rdbms.mk”文件,将

KFNDG_LINKLINE=$(LINK) $(S0MAIN) $(SSKFNDGED) $(SKFNDGPT) $(KFNDGOBJ) \

        $(LIBGENERIC) $(DEF_OPT) $(LLIBDBTOOLS) $(LIBGENERIC) \

        $(LIBCORE) $(CSSCLNTLIBS_SERVER) $(ASMCLNT_LIBS) $(LINKTTLIBS)

改为

KFNDG_LINKLINE=$(LINK) $(S0MAIN)  -Wl,--no-as-needed $(SSKFNDGED) $(SKFNDGPT) $(KFNDGOBJ) \

        $(LIBGENERIC) $(DEF_OPT) $(LLIBDBTOOLS) $(LIBGENERIC) \

        $(LIBCORE) $(CSSCLNTLIBS_SERVER) $(ASMCLNT_LIBS) $(LINKTTLIBS)

Retry

 

8.

 

详细信息:

 

INFO: collect2: error: ld returned 1 exit status

 

INFO: /u01/app/oracle/product/11.2.0/dbhome_1/srvm/lib/ins_srvm.mk:52: recipe for target 'getcrshome' failed

 

INFO: make: *** [getcrshome] Error 1

 

INFO: End output from spawned process.

INFO: ----------------------------------

INFO: Exception thrown from action: make

Exception Name: MakefileException

Exception String: Error in invoking target 'install' of makefile '/u01/app/oracle/product/11.2.0/dbhome_1/srvm/lib/ins_srvm.mk'. See '/u01/app/oraInventory/logs/installActions2019-04-13_07-04-30AM.log' for details.

Exception Severity: 1

 

 

 

 

 

修改  /u01/app/oracle/product/11.2.0/dbhome_1/srvm/lib/env_srvm.mk

GETCRSHOME_LINKLINE=$(LINK) $(LDPATHFLAG)$(RDBMSLIB) $(CDEBUG) $(OPT) \

                $(GETCRSHOME_OBJ1) $(OCRLIBS_DEFAULT) $(LLIBCLNTSH) \

                $(LINKLDLIBS)

改为

GETCRSHOME_LINKLINE=$(LINK) -Wl,--no-as-needed  $(LDPATHFLAG)$(RDBMSLIB) $(CDEBUG) $(OPT) \

                $(GETCRSHOME_OBJ1) $(OCRLIBS_DEFAULT) $(LLIBCLNTSH) \

                $(LINKLDLIBS)

Retry

 

9.

 

INFO: make: *** [tnslsnr] Error 1

 

INFO: /u01/app/oracle/product/11.2.0/dbhome_1/network/lib/ins_net_server.mk:27: recipe for target 'tnslsnr' failed

 

INFO: End output from spawned process.

INFO: ----------------------------------

INFO: Exception thrown from action: make

Exception Name: MakefileException

Exception String: Error in invoking target 'install' of makefile '/u01/app/oracle/product/11.2.0/dbhome_1/network/lib/ins_net_server.mk'. See '/u01/app/oraInventory/logs/installActions2019-04-13_07-04-30AM.log' for details.

Exception Severity: 1

 

修改“/u01/app/oracle/product/11.2.0/dbhome_1/network/lib/env_network.mk”文件

TNSLSNR_LINKLINE=$(LINK) $(TNSLSNR_OFILES) $(LINKTTLIBS) $(LLIBONS) \

                 $(LOCALNETLIBS) $(MATHLIB) $(TNSLSNR_THREADLIB)

改为

TNSLSNR_LINKLINE=$(LINK) -Wl,--no-as-needed $(TNSLSNR_OFILES) $(LINKTTLIBS) $(LLIBONS) \

                 $(LOCALNETLIBS) $(MATHLIB) $(TNSLSNR_THREADLIB)

Retry

 

 

 

 

10

 

INFO: make: *** [/u01/app/oracle/product/11.2.0/dbhome_1/rdbms/lib/oracle] Error 1

 

INFO: /u01/app/oracle/product/11.2.0/dbhome_1/rdbms/lib/ins_rdbms.mk:732: recipe for target '/u01/app/oracle/product/11.2.0/dbhome_1/rdbms/lib/oracle' failed

 

INFO: End output from spawned process.

INFO: ----------------------------------

INFO: Exception thrown from action: make

Exception Name: MakefileException

Exception String: Error in invoking target 'irman ioracle' of makefile '/u01/app/oracle/product/11.2.0/dbhome_1/rdbms/lib/ins_rdbms.mk'. See '/u01/app/oraInventory/logs/installActions2019-04-13_07-04-30AM.log' for details.

Exception Severity: 1

 

修改:/u01/app/oracle/product/11.2.0/dbhome_1/rdbms/lib/env_rdbms.mk

ORACLE_LINKLINE=$(ORACLE_LINKER) $(PL_FLAGS) $(ORAMAI) $(SSORED) $(TTCSOI) \

        $(ORACLE_KERNEL_LIBS) $(LINKLDLIBS)

改为

ORACLE_LINKLINE=$(ORACLE_LINKER) $(PL_FLAGS)  -Wl,--no-as-needed $(ORAMAI) $(SSORED) $(TTCSOI) \

        $(ORACLE_KERNEL_LIBS) $(LINKLDLIBS)

Retry

 

转载于:https://www.cnblogs.com/pxg950110/p/793909492_2.html

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值