Ubuntu20.04安装Oracle11g(FS)(亲测有效)

Ubuntu20.04安装Oracle11g(FS)(亲测有效)

#!/bin/bash

# OS: ubuntu 20.04.4

# 内存:8G

# 业务系统:核算系统

# 主机名:shhs52

# IP地址:192.168.1.52

# db name:  shhsdb

# instance name: shhsdb

# 数据库版本: Oracle 11g   FS

# 参考地址:https://www.cnblogs.com/pxg950110/p/793909492_2.html

# 所涉及到的软件包联网从1804开源网站中安装,部分互联网搜索

# 作者shannon,微信号shannon3730,转载请加上作者信息。

##修改内存大小,设置网卡

 2C  8G;1个网卡

##磁盘配置

100G   /

##手动设置IP

shhs52:

192.168.1.52

DNS:192.168.1.1

##配置源,安装依赖,bionic 1804 有 gcc-4.8/g++-4.8

sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak

sudo sh -c 'cat << EOF > /etc/apt/sources.list

deb http://mirrors.aliyun.com/ubuntu/ bionic main restricted

deb http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted

deb http://mirrors.aliyun.com/ubuntu/ bionic universe

deb http://mirrors.aliyun.com/ubuntu/ bionic-updates universe

deb http://mirrors.aliyun.com/ubuntu/ bionic multiverse

deb http://mirrors.aliyun.com/ubuntu/ bionic-updates multiverse

deb http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse

deb http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted

deb http://mirrors.aliyun.com/ubuntu/ bionic-security universe

deb http://mirrors.aliyun.com/ubuntu/ bionic-security multiverse

EOF'

cat /etc/apt/sources.list

#清空缓存

sudo apt-get clean

sudo apt-get update

#for 11g

sudo apt-get -y install autoconf

sudo apt-get -y install ssh

sudo apt-get -y install wget

sudo apt-get -y install man

sudo apt-get -y install curl

sudo apt-get -y install ftp

sudo apt-get -y install telnet

sudo apt-get -y install net-tools

sudo apt-get -y install strace

sudo apt-get -y install psmisc

sudo apt-get -y install tree

sudo apt-get -y install make

sudo apt-get -y install cmake

sudo apt-get -y install *x11*

sudo apt-get -y install *vnc*

sudo apt-get -y install tigervnc-standalone-server

sudo apt-get -y install tigervnc-common

sudo apt-get -y install libaio1

sudo apt-get -y install libaio-dev

sudo apt-get -y install gcc-4.8

sudo apt-get -y install g++-4.8

sudo apt-get -y install cpp-4.8

sudo apt-get -y install libstdc++5

sudo apt-get -y install ibc6-dev

sudo apt-get -y install sysstat

sudo apt-get -y install xauth

sudo apt-get -y install binutils

sudo apt-get -y install readline*

sudo apt-get -y install rlwrap

#安装低版本libaio,必须

dpkg -l | grep libaio

sudo dpkg -P libaio-dev

sudo dpkg -P libaio1

#下面3个包自行在网上搜索

sudo dpkg -i multiarch-support_2.28-10+deb10u1_amd64.deb

sudo dpkg -i libaio1_0.3.109-3_amd64.deb

sudo dpkg -i libaio-dev_0.3.109-3_amd64.deb

#gcc、g++降级

sudo mv /usr/bin/gcc /usr/bin/gcc-9.4

sudo mv /usr/bin/g++ /usr/bin/g++-9.4

#sudo mv /usr/bin/cpp /usr/bin/cpp-9.4

sudo ln -sf /usr/bin/g++-4.8 /usr/bin/g++

sudo ln -sf /usr/bin/gcc-4.8 /usr/bin/gcc

#sudo ln -sf /usr/bin/cpp-4.8 /usr/bin/cpp

sudo chmod 755 /usr/bin/g++

sudo chmod 755 /usr/bin/gcc

#sudo chmod 755 /usr/bin/cpp

gcc -v

g++ -v

dpkg -l | grep libstdc

#添加路径

sudo mkdir  /usr/lib64

#添加软链接,加#号的不用执行

sudo ln -sf /bin/bash /bin/sh

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

#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 -sf /usr/lib/x86_64-linux-gnu /usr/lib64

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

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

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

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

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

sudo ln -sf /usr/lib/x86_64-linux-gnu/*.o /usr/lib64/

#拷贝libpthread_nonshared.a到/usr/lib64/,需提前准备,互联网上下载或者其它系统提取

sudo cp libpthread_nonshared.a /usr/lib64/

sudo chmod 775 /usr/lib64/libpthread_nonshared.a

##设置主机名

sudo hostnamectl set-hostname shhs52

hostname

##设置hosts

sudo sh -c 'echo "192.168.1.52 shhs52" >>  /etc/hosts'

sudo cat /etc/hosts

##设置英文环境

sudo sh -c 'echo "export LANG=en_US.UTF-8" >> /root/.profile'

sudo cat /root/.profile

##配置用户和组

sudo /usr/sbin/groupadd -g 60001 oinstall

sudo /usr/sbin/groupadd -g 60002 dba

sudo /usr/sbin/groupadd -g 60003 oper

sudo useradd -d /home/oracle -m -s /bin/bash -g oinstall -G dba,oper oracle

sudo passwd oracle

#为oracle用户添加sudo免密权限

sudo sh -c 'echo "oracle ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers'

##创建目录和权限

sudo mkdir -p /oracle

sudo mkdir -p /oracle/app/oracle/product/11.2.0

sudo mkdir -p /oracle/app/oraInventory

sudo chown -R oracle:oinstall /oracle

sudo chmod -R 775 /oracle

sudo chown -R oracle:oinstall /oradata

sudo chown -R oracle:oinstall /archive

sudo chown -R oracle:oinstall /backup

sudo chmod -R 775 /oradata

sudo chmod -R 775 /archive

sudo chmod -R 775 /backup

##配置系统限制

sudo sh -c 'cat << EOF >> /etc/security/limits.conf

#ORACLE SETTING

oracle soft nproc 16384

oracle hard nproc 16384

oracle soft nofile 16384

oracle hard nofile 65536

oracle soft stack 10240

oracle hard stack 32768

#oracle hard memlock 6000000

#oracle soft memlock 6000000

EOF'

cat /etc/security/limits.conf

sudo sh -c 'echo "session required pam_limits.so" >> /etc/pam.d/login'

cat /etc/pam.d/login

##修改内核参数,物理内存8G

sudo sh -c 'cat  << EOF >> /etc/sysctl.conf

#ORACLE SETTING

fs.aio-max-nr = 1048576

fs.file-max = 6815744

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 = 1048586

kernel.panic_on_oops = 1

kernel.shmmax = 5033164800     

kernel.shmall = 2097152

kernel.shmmni = 4096

vm.nr_hugepages = 2000

EOF'

cat /etc/sysctl.conf

#sudo sysctl -p

##关闭透明大页和NUMA功能

sudo sed -ie 's/quiet/quiet transparent_hugepage=never numa=off/g' /etc/default/grub

cat /etc/default/grub

sudo grub-mkconfig -o /etc/grub2.cfg

##关闭防火墙

sudo ufw disable

#sudo ufw status

##配置.bashrc

sudo sh -c 'echo "export LC_ALL=C" >> /home/oracle/.bashrc'

cat /home/oracle/.bashrc

##配置oracle环境变量

sudo sh -c 'cat << EOF >> /home/oracle/.profile

export PS1="[\`whoami\`@\`hostname\`:"'\$PWD]\$'

export TMP=/tmp

export TMPDIR=\$TMP

export LANG=en_US.UTF-8

#export LANG=zh_CN.UTF-8

export ORACLE_BASE=/oracle/app/oracle

export ORACLE_HOME=\$ORACLE_BASE/product/11.2.0/db_1

export ORACLE_UNQNAME=shhsdb

export ORACLE_SID=shhsdb

export ORACLE_TERM=xterm

export NLS_DATE_FORMAT="yyyy-mm-dd HH24:MI:SS"

export NLS_LANG=AMERICAN_AMERICA.UTF8

export PATH=.:\$PATH:\$HOME/.local/bin:\$HOME/bin:\$ORACLE_HOME/bin:\$ORACLE_HOME/OPatch:/usr/ccs/bin

export LD_LIBRARY_PATH=$ORACLE_HOME/lib

export THREADS_FLAG=native

umask=022

alias sqlplus="rlwrap sqlplus"

alias rman="rlwrap rman"

EOF'

cat /home/oracle/.profile

# source ~/.profile

-----------------------------------------------------------------

Oracle 11gr2 11.2.0.4安装

-----------------------------------------------------------------

#上传软件并解压

#上传至backup文件夹

sudo cp p13390677_112040_Linux-x86-64_database.zip /backup

cd /backup

sudo unzip  p13390677_112040_Linux-x86-64_database.zip

sudo chown -R oracle:oinstall /backup

sudo chmod -R 775 /backup

#安装

su - oracle

xhost +

export LANG=en_US.UTF-8

env|grep ORACLE

export CV_ASSUME_DISTID=RHEL7.6

cd /backup/database

ls

./runInstaller

##报错处理

#'agent nmhs',修改ins_emagent.mk 176行,在$(MK_EMAGENT_NMECTL)后添加 -lnnz11

sudo sed -i 's/^\(\s*\$(MK_EMAGENT_NMECTL)\)\s*$/\1 -lnnz11/g' /oracle/app/oracle/product/11.2.0/db_1/sysman/lib/ins_emagent.mk

# 'all_no_orcl'的kfod问题,修改env_rdbms.mk的KFOD_LINKLINE变量(2913行),添加 -Wl,--no-as-needed

sudo sed -i "s/KFOD_LINKLINE=\$(LINK) \$(S0MAIN)/& -Wl,--no-as-needed/g" /oracle/app/oracle/product/11.2.0/db_1/rdbms/lib/env_rdbms.mk

# 'all_no_orcl'的amdu问题,修改env_rdbms.mk的AMDU_LINKLINE变量(2922行),添加 -Wl,--no-as-needed

sudo sed -i "s/AMDU_LINKLINE=\$(LINK) \$(S0MAIN)/& -Wl,--no-as-needed/g" /oracle/app/oracle/product/11.2.0/db_1/rdbms/lib/env_rdbms.mk

# 'all_no_orcl'的genorasdksh问题,修改genorasdksh (289行),添加 -Wl,--no-as-needed

sudo sed -i "s/\$LD \$LD_RUNTIME \$LD_OPT/& -Wl,--no-as-needed/g" /oracle/app/oracle/product/11.2.0/db_1/bin/genorasdksh

# 'all_no_orcl'的renamedg问题,修改env_rdbms.mk的KFNDG_LINKLINE变量(2918行),添加 -Wl,--no-as-needed

sudo sed -i "s/KFNDG_LINKLINE=\$(LINK) \$(S0MAIN)/& -Wl,--no-as-needed/g" /oracle/app/oracle/product/11.2.0/db_1/rdbms/lib/env_rdbms.mk

# 'install'的ins_srvm.mk问题,修改env_srvm.mk的GETCRSHOME_LINKLINE变量(1899行),添加 -Wl,--no-as-needed

sudo sed -i "s/GETCRSHOME_LINKLINE=\$(LINK)/& -Wl,--no-as-needed/g" /oracle/app/oracle/product/11.2.0/db_1/srvm/lib/env_srvm.mk

# 'install'的ins_net_server.mk问题,修改env_network.mk的TNSLSNR_LINKLINE变量(2232行),添加 -Wl,--no-as-needed

sudo sed -i "s/TNSLSNR_LINKLINE=\$(LINK)/& -Wl,--no-as-needed/g" /oracle/app/oracle/product/11.2.0/db_1/network/lib/env_network.mk

# 'irman ioracle'的ins_rdbms.mk问题,修改env_rdbms.mk的ORACLE_LINKLINE变量(2759行),添加 -Wl,--no-as-needed

sudo sed -i "s/ORACLE_LINKLINE=\$(ORACLE_LINKER) \$(PL_FLAGS)/& -Wl,--no-as-needed/g" /oracle/app/oracle/product/11.2.0/db_1/rdbms/lib/env_rdbms.mk

#以ROOT执行脚本

sudo /oracle/app/oraInventory/orainstRoot.sh

sudo /oracle/app/oracle/product/11.2.0/db_1/root.sh

#创建监听

netca

lsnrctl start

netstat -an|grep 1521

##创建实例

dbca

shhsdb

存储位置

/oradata

###Oracle 11g 安装后设置

#180天密码过期

alter profile default limit PASSWORD_LIFE_TIME UNLIMITED;

#关闭审计

show parameter audit;

alter system set audit_trail=none scope=spfile;

shutdown immediate

startup

#创建数据库表、用户、授权

create tablespace itpux datafile  '/oradata/shhsdb/itpux01.dbf' size 20m;

#create tablespace itpux datafile  '/oradata/SHHSDB/itpux01.dbf' size 20m;

create user itpux identified by itpux123 default tablespace itpux;

grant dba to itpux;

#创建表

sqlplus "/as sysdba";

conn itpux/itpux123;

create table hs_itpuxt1(id number(12) primary key, name varchar(20)) ;

insert into hs_itpuxt1 values(1,'hsxtitpux01');

insert into hs_itpuxt1 values(2,'hsxtitpux02');

commit;

select * from hs_itpuxt1;

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 6
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值