客快物流大数据项目(二十二):Docker环境中安装软件
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.
Docker环境中安装软件
一、安装JDK
操作步骤说明
1 进入JDK所在目录
cd /export/softwares/
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/
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
二、安装Oracle11g
1、安装pdksh
可以使用yum在线安装,如果无法下载时可以直接使用已经下载好的rpm包。
cd /export/softwares |
yum localinstall oracle/db/pdksh-5.2.14-37.el5_8.1.x86_64.rpm |
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 |
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"
如果命令执行完成没有任何响应,则表示依赖包都已经安装了,如果有输出时表示缺少一些包,使用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
4 查看oracle用户
id oracle
5 设置oracle用户密码(我设置的密码为oracle)
passwd oracle
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
虚拟机内存为4G,设置kernel.shemax=2G(单位为字节,服务器内存的一半)
2 使修改kernel操作生效
sysctl -p
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
2 配置oracle用户登录规则
vim /etc/pam.d/login
session required /lib64/security/pam_limits.so
session required pam_limits.so
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
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
8、配置Oracle用户的环境变量
设置~/.bash_profile的oracle用户权限(使用root用户操作)
chown -R oracle:oinstall ~/.bash_profile
注意:先切换到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"
重新加载环境变量: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/
2 配置Oracle11g的安装脚本
cp ./database/response/* ./etc/
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/
2 运行安装程序
./database/runInstaller -silent -ignorePrereq -responseFile /opt/oracle/etc/db_install.rsp
一定要注意,运行安装程序命令中的-responseFile参数必须为绝对路径。
3 安装进度监控
从/u01/app/oracle/inventory/logs/installActions2020-04-21_07-03-35AM.log中来查看Oracle11gR2的安装进度。
4 安装成功会显示的内容
5 安装成功后会提示下一步操作
6 Oracle要求使用root用户来执行这两个脚本
切换回root用户(输入root的密码)
7 使用root用户执行orainstRoot.sh脚本
sh /u01/app/oracle/inventory/orainstRoot.sh
8 使用root用户执行root.sh脚本
sh /u01/app/oracle/product/11.2.0/root.sh
9 提示检查文件
cat /u01/app/oracle/product/11.2.0/install/root_node1.itcast.cn_2020-04-21_07-30-40.log
11、配置Oracle11gR2的静默监听服务
su - oracle
netca /silent /responsefile /opt/oracle/etc/netca.rsp
如果提示找不到netca命令时执行:source .bash_profile
netstat -tnulp | grep 1521
12、静默创建数据库
操作步骤说明
1 使用oracle查看dbca.rsp的权限信息
ll /opt/oracle/etc/dbca.rsp
2 使用root用户设置dbca.rsp的权限
chown -R oracle:oinstall /opt/oracle/etc/dbca.rsp
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
5 检查静默建库的log中是否有错误
cat /u01/app/oracle/cfgtoollogs/dbca/orcl/orcl.log
6 查看Oracle11gR2的进程
ps -ef | grep ora_
7 查看Oracle11gR2的监听服务
lsnrctl status
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;
2)使用DBEaver登录Oracle11gR2数据库
14、运行Oracle11gR2所遇到的问题
1)ORA-01102异常
在sqlplus中执行startup的时候提示ORA-01102: cannot mount database in EXCLUSIVE mode错误。
切换到root用户执行:
cd /u01/app/oracle/product/11.2.0/dbs
fuser -u lkORCL
fuser -k lkORC
startup
2)ORA-00845异常
在sqlplus中执行startup的时候提示ORA-00845: MEMORY_TARGET not supported on this system错误。
切换到root用户执行:mount -t tmpfs shmfs -o size=4g /dev/shm
Recommend
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK