凯发真人娱乐

docker容器手动安装oracle19c -凯发真人娱乐

2023-08-17,,

docker容器体积小,与宿主机共用内核参数,因此修改宿主机的内核参数即是修改容器的内核参数

1、修改宿主机内核参数

[root@localhost ~]# vim /etc/sysctl.conf
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 16451328
kernel.shmmax = 33692319744
kernel.shmmni = 4096
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

2、使修改的内容生效

[root@localhost ~]# sysctl -p

3、关闭宿主机的selinux及firewall

[root@localhost ~]# setenforce 0	// 不重启系统生效
[root@localhost ~]# vim /etc/selinux/config # 修改为selinux=disabled 重启系统后生效
[root@localhost ~]# systemctl status firewalld.service # 查看状态
[root@localhost ~]# systemctl stop firewalld.service # 停止 firewall
[root@localhost ~]# systemctl disable firewalld.service # 禁止 firewall 开机启动

4、创建centos镜像

[root@localhost ~]# docker pull centos:7

5、创建容器

docker run -i -d -h oracledb --network=host --name oracle19c --privileged=true  centos:7  /usr/sbin/init

-i 交互模式
-d 后端运行
-h 指定容器的hostname
--network 指定容器的网络模式,host指使用宿主机的网络和端口
--name 指定容器的名称
--privileged=true 及 /usr/sbin/init 特权模式必要参数

6、进入容器

[root@localhost ~]# docker exec -it oracle19c /bin/bash

docker exec 进入容器,输入exit退出容器,容器不关闭

7、上传安装包

首先上传至宿主机
再通过 docker cp 命令拷贝至容器

[root@oracledb /]# mkdir tools  # 容器中创建安装包存放路径
[root@oracledb /]# exit # 退出容器
[root@localhost ~]# cd /tools 进入宿主机安装包路径下
[root@localhost tools]# docker cp linux.x64_193000_db_home.zip oracle19c:/tools # 拷贝安装包

8、安装必要的工具包

[root@localhost tools]# docker exec -it oracle19c /bin/bash # 再次进入容器
[root@oracledb /]# yum -y install vim zip unzip net-tools

vim 习惯用vim编辑文本,所以安装了
zip 和 unzip 压缩和解压工具
net-tools 网络工具包,ifconfig 、netstat等命令都在这个包里面

9、修改root用户密码

[root@oracledb /]# passwd

输入两次相同的密码

10、检查依赖包

[root@oracledb /]# rpm --query --queryformat "%{name}-%{version}.%{release} (%{arch})\n" bc binutils compat-libcap1 compat-libstdc  -33 gcc gcc-c   glibc glibc-devel ksh libaio libaio-devel libgcc libstdc   libstdc  -devel make sysstat elfutils-libelf elfutils-libelf-devel fontconfig-devel libxcb smartmontools libx11 libxau libxtst libxrender libxrender-devel

11、安装依赖包

[root@oracledb /]# yum -y install compat-libcap1 compat-libstdc  -33 gcc gcc-c   glibc-devel ksh libaio-devel libaio-devel sysstat elfutils-libelf-devel fontconfig-devel libxcb smartmontools libx11 libxau libxtst libxrender libxrender-devel make

检查依赖包全部安装

12、创建oracle用户组

[root@oracledb /]# groupadd oinstall
[root@oracledb /]# groupadd dba
[root@oracledb /]# groupadd asmdba
[root@oracledb /]# groupadd backupdba
[root@oracledb /]# groupadd dgdba
[root@oracledb /]# groupadd kmdba
[root@oracledb /]# groupadd racdba
[root@oracledb /]# groupadd oper
[root@oracledb /]# useradd -g oinstall -g dba,asmdba,backupdba,dgdba,kmdba,racdba,oper -m oracle
#!/bin/bash
groupadd oinstall
groupadd dba
groupadd asmdba
groupadd backupdba
groupadd dgdba
groupadd kmdba
groupadd racdba
groupadd oper
useradd -g oinstall -g dba,asmdba,backupdba,dgdba,kmdba,racdba,oper -m oracle

创建一个脚本文件,快捷创建

[root@oracledb /]# vim createuser.sh
[root@oracledb /]# sh createuser.sh

13、查看hostname并配置hosts

[root@oracledb /]# hostname
[root@oracledb /]# cat /etc/hosts
[root@oracledb /]# vim /etc/hosts
[root@oracledb /]# cat /etc/hosts

14、创建安装目录

[root@oracledb /]# mkdir -p /home/oracle/app/oracle/product/19.5.0

15、解压

[root@oracledb /]# unzip /tools/linux.x64_193000_db_home.zip -d /home/oracle/app/oracle/product/19.5.0/

16、修改安装文件的所属用户及权限

[root@oracledb /]# cd /home/oracle
[root@oracledb oracle]# chown -r oracle:oinstall app
[root@oracledb oracle]# chmod -r 755 app

17、修改用户的shell限制

[root@oracledb oracle]# vim /etc/security/limits.conf
@oinstall soft nofile 2048
@oinstall hard nofile 65536
@oinstall soft nproc 16384
@oinstall soft stack 10240

18、修改oracle用户的环境变量

[root@oracledb oracle]# su - oracle
[oracle@oracledb ~]$ vim .bash_profile
[oracle@oracledb ~]$ source .bash_profile
export oracle_base=/home/oracle/app/oracle
export oracle_home=/home/oracle/app/oracle/product/19.5.0
export path=$path:$oracle_home/bin:/usr/local/bin
export oracle_hostname=oracledb
export oracle_sid=orcl
export ld_library_path=$oracle_home/lib:$oracle_home/rdbms/lib:$oracle_home/network/lib:/lib:/usr/lib
export classpath=$oracle_home/jlib:$oracle_home/rdbms/jlib:$oracle_home/network/jlib

19、修改引导文件

[oracle@oracledb ~]$ cd $oracle_home/install/response
[oracle@oracledb response]$ cp db_install.rsp db_install.rsp.bak
[oracle@oracledb response]$ vim db_install.rsp
// 主要修改以下参数
oracle.install.option=install_db_swonly // 29行
unix_group_name=oinstall // 34行
inventory_location=/home/oracle/app/orainventory // 41行
oracle_home=/home/oracle/app/oracle/product/19.5.0 // 45行
oracle_base=/home/oracle/app/oracle // 50行
oracle.install.db.installedition=ee // 62行
oracle.install.db.osdba_group=dba // 79行
oracle.install.db.osoper_group=oper // 85行
oracle.install.db.osbackupdba_group=backupdba // 90行
oracle.install.db.osdgdba_group=dgdba // 95行
oracle.install.db.oskmdba_group=kmdba // 100行
oracle.install.db.osracdba_group=racdba // 105行
oracle.install.db.rootconfig.executerootscript=false // 120行

:set nu 显示行号
:set nu! 取消显示行号

20、安装

[oracle@oracledb response]$ cd $oracle_home
[oracle@oracledb 19.5.0]$ ./runinstaller -silent -responsefile /home/oracle/app/oracle/product/19.5.0/install/response/db_install.rsp

21、另开一个xshell页面,以root用户执行脚本

[root@localhost /]# docker exec -it oracle19c /bin/bash
[root@oracledb /]# sh /home/oracle/app/orainventory/orainstroot.sh
[root@oracledb /]# sh /home/oracle/app/oracle/product/19.5.0/root.sh

22、创建监听

在安装软件的xhell界面

[oracle@oracledb 19.5.0]$ cd assistants/netca
[oracle@oracledb netca]$ cp netca.rsp netca.rsp.bak
[oracle@oracledb netca]$ netca /silent /responsefile /home/oracle/app/oracle/product/19.5.0/assistants/netca/netca.rsp

23、建库

[oracle@oracledb netca]$ cd $oracle_home/assistants/dbca
[oracle@oracledb dbca]$ cp dbca.rsp dbca.rsp.bak
[oracle@oracledb dbca]$ vim dbca.rsp
[oracle@oracledb dbca]$ dbca -silent -createdatabase -responsefile /home/oracle/app/oracle/product/19.5.0/assistants/dbca/dbca.rsp
gdbname=orcl							//32行
sid=orcl //42行
databaseconfigtype=si //52行
templatename=general_purpose.dbc //223行
syspassword=yangxiaopeng214 //233行
systempassword=yangxiaopeng214 //243行
emconfiguration=none //262行
dbsnmppassword=yangxiaopeng214 //295行
datafiledestination=/home/oracle/app/oracle/oradata //411行
recoveryareadestination=/home/oracle/flash_recovery_area //421行
storagetype=fs //431行
characterset=zhs16gbk //468行
nationalcharacterset=al16utf16 //478行
sampleschema=true //565行
totalmemory=2048 //604行
# 如果要创建容器数据库,则还需要配置以下参数,如果是多个pdb则以pdbname为前缀
createascontainerdatabase=true //162行
numberofpdbs=1 //172行
pdbname=yhggi //182行
pdbadminpassword=password //203行

24、验证

[oracle@oracledb dbca]$ lsnrctl status 	# 查看监听状态
[oracle@oracledb dbca]$ lsnrctl restart # 重启监听
[oracle@oracledb dbca]$ lsnrctl stop # 停止监听
[oracle@oracledb dbca]$ lsnrctl start # 启动监听
[oracle@oracledb dbca]$ sqlplus

输入用户名和密码
select sysdate from dual;

java连接

25、其他

启动服务

先启动监听,再启动数据库

[oracle@oracledb ~]$ lsnrctl start		# 启动监听
[oracle@oracledb ~]$ sqlplus /nolog # 打开sqlplus
sql> conn / as sysdba # 连接数据库
sql> startup # 启动数据库
sql> shutdown # 关闭数据库
sql> exit # 退出
[oracle@oracledb ~]$ lsnrctl stop # 停止监听

docker容器手动安装oracle19c的相关教程结束。

网站地图