4

客快物流大数据项目(二十二):Docker环境中安装软件

 2 years ago
source link: https://blog.51cto.com/lansonli/5398427
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

Docker环境中安装软件

一、安装JDK

操作步骤说明

1 进入JDK所在目录

cd /export/softwares/

客快物流大数据项目(二十二):Docker环境中安装软件_oracle

2 解压JDK

tar -zxf jdk-8u221-linux-x64.tar.gz -C /usr/java/

3 创建JDK软连接

ln -s /usr/java/jdk1.8.0_221 /usr/java/jdk

4 配置JDK权限

chown root:root -R /usr/java/jdk1.8.0_221

chmod 755 -R /usr/java/jdk1.8.0_221

5 查看安装后的目录

ll /usr/java/

客快物流大数据项目(二十二):Docker环境中安装软件_java_02

6 配置JDK到环境变量

vim /etc/profile

export JAVA_HOME=/usr/java/jdk

export PATH=.:$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH

7 重新加载环境变量

source /etc/profile

验证JDK

java -version

客快物流大数据项目(二十二):Docker环境中安装软件_java_03

二、安装Oracle11g

1、安装pdksh

可以使用yum在线安装,如果无法下载时可以直接使用已经下载好的rpm包。

cd /export/softwares

yum localinstall oracle/db/pdksh-5.2.14-37.el5_8.1.x86_64.rpm

客快物流大数据项目(二十二):Docker环境中安装软件_root用户_04

2、安装Oracle依赖

yum -y install binutils compat-libstdc++-33 elfutils-libelf elfutils-libelf-devel expat gcc gcc-c++ glibc glibc-common glibc-devel glibc-headers libaio libaio-devel libgcc libstdc++ libstdc++-devel make pdksh sysstat unixODBC unixODBC-devel

客快物流大数据项目(二十二):Docker环境中安装软件_java_05

3、检查Oracle依赖是否完整

rpm -q binutils compat-libstdc++-33 elfutils-libelf elfutils-libelf-devel expat gcc gcc-c++ glibc glibc-common glibc-devel glibc-headers libaio libaio-devel libgcc libstdc++ libstdc++-devel make pdksh sysstat unixODBC unixODBC-devel | grep "not installed"

客快物流大数据项目(二十二):Docker环境中安装软件_root用户_06

如果命令执行完成没有任何响应,则表示依赖包都已经安装了,如果有输出时表示缺少一些包,使用yum install -y 输出的软件包1 输出的软件包2 ...方式安装即可。

4、新增Oracle相关的用户和组

操作步骤说明

1 新增oinstall用户组,安装oracle的用户组

groupadd oinstall

2 新增dba用户组

groupadd dba

3 新增oracle用户

useradd -g oinstall -G dba oracle -d /home/oracle

客快物流大数据项目(二十二):Docker环境中安装软件_oracle_07

4 查看oracle用户

id oracle

客快物流大数据项目(二十二):Docker环境中安装软件_java_08

5 设置oracle用户密码(我设置的密码为oracle)

passwd oracle

客快物流大数据项目(二十二):Docker环境中安装软件_java_09

5、配置Kernel参数

操作步骤说明

1 配置安装Oracle时必须满足的kernel参数

vim /etc/sysctl.conf

fs.aio-max-nr=1048576

fs.file-max=6815744

kernel.shmall=2097152

kernel.shmmni=4096

kernel.shmmax = 2147483648

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

客快物流大数据项目(二十二):Docker环境中安装软件_oracle_10

虚拟机内存为4G,设置kernel.shemax=2G(单位为字节,服务器内存的一半)

2 使修改kernel操作生效

sysctl -p

客快物流大数据项目(二十二):Docker环境中安装软件_java_11

6、配置Oracle用户的系统资源

操作步骤说明

1 配置oracle用户的句柄数和线程数

vim /etc/security/limits.conf

oracle soft nproc 2047

oracle hard nproc 16384

oracle soft nofile 1024

oracle hard nofile 65536

客快物流大数据项目(二十二):Docker环境中安装软件_root用户_12

2 配置oracle用户登录规则

vim /etc/pam.d/login

session required /lib64/security/pam_limits.so

session required pam_limits.so

客快物流大数据项目(二十二):Docker环境中安装软件_root用户_13

3 配置oracle用户ksh

vim /etc/profile

if [ $USER = "oracle" ]; then

if [ $SHELL = "/bin/ksh" ]; then

ulimit -p 16384

ulimit -n 65536

ulimit -u 16384 -n 65536

客快物流大数据项目(二十二):Docker环境中安装软件_root用户_14

7、创建Oracle所需的目录

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

mkdir /u01/app/oracle/oradata

mkdir /u01/app/oracle/inventory

mkdir /u01/app/oracle/fast_recovery_area

chown -R oracle:oinstall /u01/app/oracle

chmod -R 775 /u01/app/oracle

chown -R oracle:oinstall /u01/app/oracle/inventory

客快物流大数据项目(二十二):Docker环境中安装软件_oracle_15

8、配置Oracle用户的环境变量

设置~/.bash_profile的oracle用户权限(使用root用户操作)

chown -R oracle:oinstall ~/.bash_profile

客快物流大数据项目(二十二):Docker环境中安装软件_oracle_16

注意:先切换到oracle用户的目录下再操作(使用oracle用户操作)

su oracle

vim ~/.bash_profile

umask 022

export ORACLE_HOSTNAME=server01

export ORACLE_BASE=/u01/app/oracle

export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/

export ORACLE_SID=orcl

export PATH=.:$ORACLE_HOME/bin:$ORACLE_HOME/OPatch:$ORACLE_HOME/jdk/bin:$PATH

export LC_ALL="en_US"

export LANG="en_US"

export NLS_LANG="AMERICAN_AMERICA.ZHS16GBK"

export NLS_DATE_FORMAT="YYYY-MM-DD HH24:MI:SS"

客快物流大数据项目(二十二):Docker环境中安装软件_oracle_17

重新加载环境变量:source ~/.bash_profile

9、解压Oracle11gR2

注意:在root用户下操作

操作步骤说明

1 解压

cd /export/softwares/oracle/db/11gR2/

unzip linux.x64_11gR2_database_1of2.zip -d /opt/oracle/

unzip linux.x64_11gR2_database_2of2.zip -d /opt/oracle/

cd /opt/oracle/

客快物流大数据项目(二十二):Docker环境中安装软件_java_18

2 配置Oracle11g的安装脚本

cp ./database/response/* ./etc/

客快物流大数据项目(二十二):Docker环境中安装软件_root用户_19

vim ./etc/db_install.rsp

编辑配置项如下:

oracle.install.option=INSTALL_DB_SWONLY

ORACLE_HOSTNAME=server01

UNIX_GROUP_NAME=oinstall

INVENTORY_LOCATION=/u01/app/oracle/inventory

SELECTED_LANGUAGES=en,zh_CN

ORACLE_HOME=/u01/app/oracle/product/11.2.0

ORACLE_BASE=/u01/app/oracle

oracle.install.db.InstallEdition=EE

oracle.install.db.isCustomInstall=true

oracle.install.db.DBA_GROUP=dba

oracle.install.db.OPER_GROUP=dba

DECLINE_SECURITY_UPDATES=true

10、安装Oracle11gR2

注意:需要换到oracle用户再操作

操作步骤说明

1 su oracle

cd /opt/oracle/

客快物流大数据项目(二十二):Docker环境中安装软件_root用户_20

2 运行安装程序

./database/runInstaller -silent -ignorePrereq -responseFile /opt/oracle/etc/db_install.rsp

客快物流大数据项目(二十二):Docker环境中安装软件_oracle_21

一定要注意,运行安装程序命令中的-responseFile参数必须为绝对路径。

3 安装进度监控

从/u01/app/oracle/inventory/logs/installActions2020-04-21_07-03-35AM.log中来查看Oracle11gR2的安装进度。

客快物流大数据项目(二十二):Docker环境中安装软件_oracle_22

4 安装成功会显示的内容

客快物流大数据项目(二十二):Docker环境中安装软件_oracle_23

5 安装成功后会提示下一步操作

客快物流大数据项目(二十二):Docker环境中安装软件_oracle_24

6 Oracle要求使用root用户来执行这两个脚本

切换回root用户(输入root的密码)

7 使用root用户执行orainstRoot.sh脚本

sh /u01/app/oracle/inventory/orainstRoot.sh

客快物流大数据项目(二十二):Docker环境中安装软件_java_25

8 使用root用户执行root.sh脚本

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

客快物流大数据项目(二十二):Docker环境中安装软件_oracle_26

9 提示检查文件

cat /u01/app/oracle/product/11.2.0/install/root_node1.itcast.cn_2020-04-21_07-30-40.log

客快物流大数据项目(二十二):Docker环境中安装软件_java_27

11、配置Oracle11gR2的静默监听服务

su - oracle

netca /silent /responsefile /opt/oracle/etc/netca.rsp

客快物流大数据项目(二十二):Docker环境中安装软件_java_28

如果提示找不到netca命令时执行:source .bash_profile

netstat -tnulp | grep 1521

客快物流大数据项目(二十二):Docker环境中安装软件_root用户_29

12、​​​​​​​静默创建数据库

操作步骤说明

1 使用oracle查看dbca.rsp的权限信息

ll /opt/oracle/etc/dbca.rsp

客快物流大数据项目(二十二):Docker环境中安装软件_java_30

2 使用root用户设置dbca.rsp的权限

chown -R oracle:oinstall /opt/oracle/etc/dbca.rsp

客快物流大数据项目(二十二):Docker环境中安装软件_oracle_31

3 使用oracle用户编辑数据库配置

vim /opt/oracle/etc/dbca.rsp

设置为如下:(前面有#的配置项,需要将#删除)

GDBNAME = "orcl"

SID = "orcl"

SYSPASSWORD = "oracle"

SYSTEMPASSWORD = "oracle"

SYSMANPASSWORD = "oracle"

DBSNMPPASSWORD = "oracle"

DATAFILEDESTINATION = /u01/app/oracle/oradata

CHARACTERSET = "AL32UTF8"

TOTALMEMORY = "1536"

4 运行静默建库(若提示:bash: dbca: command not found,重新加载source .bash_profile)

dbca -silent -responseFile /opt/oracle/etc/dbca.rsp

客快物流大数据项目(二十二):Docker环境中安装软件_root用户_32

5 检查静默建库的log中是否有错误

cat /u01/app/oracle/cfgtoollogs/dbca/orcl/orcl.log

客快物流大数据项目(二十二):Docker环境中安装软件_java_33

6 查看Oracle11gR2的进程

ps -ef | grep ora_

客快物流大数据项目(二十二):Docker环境中安装软件_oracle_34

7 查看Oracle11gR2的监听服务

lsnrctl status

客快物流大数据项目(二十二):Docker环境中安装软件_root用户_35

13、登录Oracle11gR2数据库

1)使用SQLPLUS登录Oracle11gR2数据库

su - oracle

which sqlplus

sqlplus "/as sysdba"

startup

切换到oracle /bin 目录:cd $ORACLE_HOME/bin

启动监听:lsnrctl start

SQL> select instance_name AS "SID",host_name,version from v$instance;

客快物流大数据项目(二十二):Docker环境中安装软件_java_36

2)使用DBEaver登录Oracle11gR2数据库

客快物流大数据项目(二十二):Docker环境中安装软件_root用户_37
客快物流大数据项目(二十二):Docker环境中安装软件_java_38

14、运行Oracle11gR2所遇到的问题

1)ORA-01102异常

在sqlplus中执行startup的时候提示ORA-01102: cannot mount database in EXCLUSIVE mode错误。

客快物流大数据项目(二十二):Docker环境中安装软件_root用户_39

切换到root用户执行

cd /u01/app/oracle/product/11.2.0/dbs

fuser -u lkORCL

客快物流大数据项目(二十二):Docker环境中安装软件_oracle_40

fuser -k lkORC

客快物流大数据项目(二十二):Docker环境中安装软件_oracle_41

startup

客快物流大数据项目(二十二):Docker环境中安装软件_java_42

2)ORA-00845异常

在sqlplus中执行startup的时候提示ORA-00845: MEMORY_TARGET not supported on this system错误。

客快物流大数据项目(二十二):Docker环境中安装软件_java_43

切换到root用户执行:mount -t tmpfs shmfs -o size=4g /dev/shm

客快物流大数据项目(二十二):Docker环境中安装软件_oracle_44

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK