centos8安装oracle11g
直接使用docker安装,太麻烦了!
参考地址 docker安装oracle11g
1、更新yum源为国内的镜像源、更新wget、关闭防火墙和SELinux
1、备份
cd /etc/yum.repos.d
# 全部备份到backup
mkdir backup && mv *repo backup/
2、下载阿里云的 yum 源文件并替换本地 yum 源文件:
sudo curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-8.repo
或者(centos8默认不带wget)
sudo wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-8.repo
3、更新缓存
yum clean all && yum makecache
4、安装wget
yum install wget
关闭防火墙和SELinux
systemctl status firewalld
systemctl start firewalld
systemctl stop firewalld
systemctl disable firewalld
# 开放端口
sudo firewall-cmd --zone=public --add-port=1521/tcp --permanent
sudo firewall-cmd --zone=public --add-port=8082/tcp --permanent
sudo firewall-cmd --zone=public --add-port=5000/tcp --permanent
# 重载
sudo firewall-cmd --reload
# docker容器间相互访问处理办法,
1、启动时使用link指定docker容器名
例:docker run -p 8082:8082 -itd --name transLine --link oracle11g:oracle11g --link lineCode:lineCode --restart=always trans-line-java:latest
2、防火墙上 把docker0网卡添加到trusted域(先通过ip addr 查看docker0网卡)
firewall-cmd --permanent --zone=trusted --change-interface=docker0
3、记录启动docker中java服务时报错:library initialization failed - unable to allocate file descriptor table - out of memoryAborte
解决方法:https://www.cnblogs.com/exmyth/p/17511915.html
采用第二种解决:
在 /etc/systemd/system/ 目录下, 创建 docker.service.d 目录
进入该目录,创建一个文件,名为 docker.conf
在文件中加入以下配置:
[Service]
ExecStart=
ExecStart=/usr/bin/dockerd --default-ulimit nofile=65535:65535 -H fd://
1
2
3
啥意思呢? 就是说在执行docker命令时,直接默认使用该参数, 不需要在docker run 命令中定义了。
执行 systemctl daemon-reload (重启Docker daemon)
执行 systemctl restart docker (重启Docker 服务)
vi /etc/selinux/config
# 修改 SELINUX=disabled,用于指示系统在启动时禁用 SELinux。
# 立即将 SELinux 切换到“宽松模式”,允许警告但不会阻止操作
setenforce 0
1、拉取oracle_11g镜像
# 2个多g
docker pull registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g
#拉取 结果:
[root@localhost ~]# docker images;
REPOSITORY TAG IMAGE ID CREATED SIZE
registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g latest 3fa112fd3642 8 years ago 6.85GB
2、创建oracle11g容器
docker run -d -p 1521:1521 --name oracle11g registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g --restart=always
docker run -d -p 1522:1521 --name oracle11g1522 registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g --restart=always
若 忘记设置开机自启,可以使用以下命令:
docker update --restart=always oracle11g
3、查看oracle11g容器是否创建成功
docker ps -a
# 结果:
[root@localhost ~]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
acbd05f8f050 registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g "/bin/sh -c '/home/o…" About an hour ago Up 57 minutes 0.0.0.0:1521->1521/tcp oracle11g
4、启动docker start oracle11g容器
docker start oracle11g
5.进入oracle11g容器进行配置
docker exec -it oracle11g bash
6.切换到root用户下进行配置
su root
输入密码为:helowin
7、编辑profile文件配置ORACLE环境变量
vi /etc/profile
8、最后添加以下3行配置
export ORACLE_HOME=/home/oracle/app/oracle/product/11.2.0/dbhome_2
export ORACLE_SID=helowin
export PATH=$ORACLE_HOME/bin:$PATH
保存 ::wq
让配置生效:source /etc/profile
9、创建软连接
ln -s $ORACLE_HOME/bin/sqlplus /usr/bin
10、切换到oracle 用户
su - oracle
11、登录sqlplus并修改sys、system用户密码
sqlplus /nolog
conn /as sysdba
12、修改sys、system用户密码并刷新权限
alter user system identified by oracle;
alter user sys identified by oracle;
ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;
退出:exit;
13、查看一下oracle实例状态
lsnrctl status
14、用nacivat连接oracle数据库
服务名:helowin(一定要填写helowin)
密码:oracle(第12步设置的密码)
主机:192.168.145.130
端口:1521
服务名:helowin
用户名:system
密码:oracle
15、单独创建用户 绑定一个数据库
参考地址:https://blog.csdn.net/qq_44732146/article/details/129874104
16、常见oracle数据库操作
# root权限进入oracle11g的docker容器内
docker exec -it -u root oracle11g /bin/bash
# 普通权限进入(oracle用户权限)
docker exec -it oracle11g /bin/bash
# 1、root用户不能直接使用sqlplus、需要切换到oracle用户下去
# 切换用户到oracle
su - oracle
# 切换用户到root
su -
#进入dba可以操作的项目:
sqlplus / as sysdba
# 用户解锁,需要进入dba
ALTER USER test001 ACCOUNT UNLOCK;
# 修改密码
alter user test001 identified by password111;
# 密码中有特殊字符的最好使用双引号
alter user MYTOOLS identified by "!Aa123456."
# 创建用户、连接用户、授权用户
CREATE USER test002 IDENTIFIED BY password111;
GRANT CONNECT TO test001;
GRANT DBA TO test001;
# oracle用户下 登录sqlplus
sqlplus -L 'test001/password111';
17、拷贝文件入、出 docker容器
# 拷贝文件夹及内容到docker容器中
docker cp database_oracle_linux oracle11g:/data/
# 拷贝docker容器中的文件到 /home/user/下载/database_oracle_linux文件夹中
sudo docker cp oracle11g:/data/xxxx.txt /home/user/下载/database_oracle_linux
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐


所有评论(0)