ubuntu安装oracle过程&问题: Ins_ctx.mk Ins_rdbms.mk ORA-12505 ORA-01034和ORA-27101

 

 

0.下载oracle11     

在官网下载oracle11,下载地址如下:
oracle11:http://www.oracle.com/technetwork/database/enterprise-edition/downloads/index.html

 

 

1, 安装jdk

# mkdir /usr/lib/jvm

# tar zxvf jdk-8u5-linux-i586.gz  -C /usr/lib/jvm/

配置jdk使其生效

# nano /etc/profile

在文件最末尾添加如下所示内容,ctrl+x,y退出即可完成保存,用其他编辑器类似。

export JAVA_HOME=/usr/lib/jvm/jdk1.8.0_211

export JRE_HOME=${JAVA_HOME}/jre

export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib

export PATH={JAVA_HOME}/bin:$PATH

3

更新默认jdk

# update-alternatives --install /usr/bin/java java /usr/lib/jvm/jdk1.8.0_211/bin/java 300

# update-alternatives --install /usr/bin/javac javac /usr/lib/jvm/jdk1.8.0_211/bin/javac 300

# update-alternatives --config java

系统会列出系统中所有的jdk版本,选择最新安装的那个版本输入2即可

 

 

 

2, 配置软件源(清华源)     软件源选错  大概率白忙一场

注意ubuntu版本对应的软件源     nano /etc/apt/source.list


# 默认注释了源码镜像以提高 apt update 速度,如有需要可自行取消注释
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-updates main restricted universe multiver$
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-updates main restricted universe mu$
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-backports main restricted universe multiv$
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-backports main restricted universe $
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-security main restricted universe multive$
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-security main restricted universe m$

 

 

3, 配置swap (物理内存相同即可)

# dd if=/dev/zero of=/swapfile bs=1G count=8

# chown root:root /swapfile
# chmod 0600 /swapfile
# ls -lh /swapfile

# mkswap /swapfile

# swapon /swapfile

Update /etc/fstab file

You need to make sure the swap file enabled when server comes on line after the reboot. Edit /etc/fstab file, enter:
# vi /etc/fstab
Append the following line:

/swapfile none            swap    sw              0       0

Save and close the file.

 

4,更新内核参数

nano /etc/sysctl.conf

#### Oracle 11g Kernel Parameters ####
fs.suid_dumpable = 1
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 818227
kernel.shmmax = 4189323264
kernel.shmmni = 4096
kernel.panic_on_oops = 1
# semaphores: semmsl, semmns, semopm, semmni
kernel.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=1048576



nano /etc/security/limits.conf

#### oracle User Settings 4 Oracle 11g ####
oracle       soft  nproc  2047
oracle       hard  nproc  16384
oracle       soft  nofile 1024
oracle       hard  nofile 65536
oracle       soft  stack  10240


/sbin/sysctl -p

 

echo 'deb http://cz.archive.ubuntu.com/ubuntu trusty main universe' 
> /etc/apt/sources.list.d/extra-trusty.list

apt update
sudo apt install lsb-cxx pdksh 

wget http://launchpadlibrarian.net/207968936/libmotif4_2.3.4-8ubuntu1_amd64.deb
 dpkg -i libmotif4_2.3.4-8ubuntu1_amd64.deb
 apt-get -f install


sudo rm /etc/apt/sources.list.d/extra-trusty.list
apt update


apt-get install alien autoconf automake autotools-dev binutils doxygen 
elfutils expat gawk gcc gcc-multilib g++-multilib libstdc++6:i386 ksh less libtiff5 
libtiff5-dev lib32z1 libaio1 libaio-dev libc6-dev libc6-dev-i386 libc6-i386 
libelf-dev libltdl-dev libodbcinstq4-1 libodbcinstq4-1:i386 libstdc++5 make 
openssh-server rlwrap rpm sysstat unixodbc unixodbc-dev x11-utils libpth-dev 
zlibc libglapi-mesa:i386 libglu1-mesa:i386 libqt4-opengl:i386 
libpthread-workqueue0 libpthread-workqueue-dev libzthread-2.3-2 libzthread-dev




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

ln -s /usr/bin/rpm /bin/rpm
ln -s /usr/bin/basename /bin/basename
ln -s /usr/lib/x86_64-linux-gnu /usr/lib64
cd /lib64
ln -s /lib/x86_64-linux-gnu/libgcc_s.so.1 .

5, 配置vncserver

sudo apt-get install xorg lxde-core tightvncserver

 

 

6 Creating users and groups

groupadd -g 502 oinstall
groupadd -g 503 dba
groupadd -g 504 oper
groupadd -g 505 asmadmin
useradd -u 502 -g oinstall -G dba,asmadmin,oper -s /bin/bash -m oracle
passwd oracle

 

 

 

7, 创建oracle以及相关文件夹

mkdir -p /u01/app/oracle/product/11.2.0/
chown -R oracle:oinstall /u01
chmod -R 775 /u01
cd /home/[myUser]/Downloads
unzip linux_11gR2_database_1of2.zip
unzip linux_11gR2_database_2of2.zip
chown -R oracle:oinstall database
mv database /tmp

 


su oracle

nano ~/.bashrc

Insert:

# Oracle Settings
TMP=/tmp; export TMP
TMPDIR=$TMP; export TMPDIR
ORACLE_HOSTNAME=[HOSTNAME]; export ORACLE_HOSTNAME
ORACLE_UNQNAME=DB11G; export ORACLE_UNQNAME
ORACLE_BASE=/u01/app/oracle; export ORACLE_BASE
ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1; export ORACLE_HOME
ORACLE_SID=[DBSID]; export ORACLE_SID
PATH=/usr/sbin:$PATH; export PATH
PATH=$ORACLE_HOME/bin:$PATH; export PATH
LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib:/usr/lib64; export LD_LIBRARY_PATH
CLASSPATH=$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib; export CLASSPATH


In this Example Respectively:

HOSTNAME = 127.0.0.1

DBSID = SID

Load New .bashrc Settings:


bash  或  source ~/.bashrc

 

8 Install oracle

cd /tmp/database
chmod -R +x /tmp/database
./runInstaller
    • Ins_ctx.mk  错误解决方法:

    nano fix2.sh
    
    # Fix ctx/lib/ins_ctx.mk
    ORACLE_HOME=/u01/app/oracle/product/11.2.0/dbhome_1
    cat << __EOF__ > /tmp/memcpy_wrap.c
    #include <stddef.h>
    #include <string.h>
    
    asm (".symver wrap_memcpy, memcpy@GLIBC_2.14");
    void *wrap_memcpy(void *dest, const void *src, size_t n) {
    return memcpy(dest, src, n);
    }
    __EOF__
    
    if [ -e "${ORACLE_HOME}/ctx/lib/ins_ctx.mk" ]; then
    sed -i -e 's/\$(INSO_LINK)/\$(INSO_LINK) -Wl,--wrap=memcpy_wrap \$(ORACLE_HOME)\/ctx\/lib\/memcpy_wrap.o/g' ${ORACLE_HOME}/ctx/lib/ins_ctx.mk
    gcc -c /tmp/memcpy_wrap.c -o ${ORACLE_HOME}/ctx/lib/memcpy_wrap.o && rm /tmp/memcpy_wrap.c
    fi
    
    
    
    chmod +x fix2.sh
    sh fix2.sh
    
    点击 retry

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

     

 

9 oracle  ORA-12505    修改nano listener.ora


#/u01/app/oracle/product/11.2.0/dbhome_1
SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (SID_NAME = CLRExtProc)
      (ORACLE_HOME = /u01/app/oracle/product/11.2.0/dbhome_1)
      (PROGRAM = extproc)
    )


    (SID_DESC =
      (GLOBAL_DBNAME = orcl)
      (ORACLE_HOME =  /u01/app/oracle/product/11.2.0/dbhome_1)
      (SID_NAME = orcl)
    )
  )

LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
      (ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521))
    )
  )

ADR_BASE_LISTENER = /u01/app/oracle

 

 

10 ORA-01034和ORA-27101解决方法

sqlplus  /nolog

conn / as sysdba

startup,回车.这步是启动oracle服务。如果startup启动被告知已经启动了,可以先输入shutdown immediate;等shutdown结束之后,再输入startup。

过几秒钟等命令运行完成,就能连接了。这个时候,可以输入"select * fromuser_tables;"测试一下,看是否有查询结果

 

11  外网连不上oracle的问题

 

listener.ora   tnsnames.ora

里面的监听地址(127.0.0.1)改成 0.0.0.0

lsnrctl stop

lsnrctl start

 


 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值