Docker容器

docker安装oracle 11g

本文主要是介绍docker安装oracle 11g,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

 一、在服务器安装docker

# 1、yum 包更新到最新
sudo yum update
# 2、作用:安装需要的软件包, yum-util 提供yum-config-manager功能,另外两个是devicemapper驱动依
赖的
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
# 3、 设置yum源
# 3.1、方案一:使用ustc的(推荐)
sudo yum-config-manager --add-repo http://mirrors.ustc.edu.cn/docker-ce/linux/centos/docker-ce.repo
# 3.2、方案二:使用阿里云(可能失败)
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-
ce/linux/centos/docker-ce.repo
# 4、 安装docker;出现输入的界面都按 y
sudo yum install -y docker-ce
# 5、 查看docker版本
docker -v
#6、设置开机启动
systemctl enable docker
#7、启动、停止、重启
systemctl start docker
systemctl stop docker
systemctl restart docker
#8、查看docker的状态
systemctl status docker

二、拉取oracle镜像

命令:

docker pull registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g

查看镜像

REPOSITORY                                             TAG       IMAGE ID       CREATED       SIZE
registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g   latest    3fa112fd3642   6 years ago   6.85GB

三、创建并运行容器

创建并运行容器命令:

docker run -d -p 1521:1521 --name oracle11g registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g

已创建容器,仅运行容器命令

docker start oracle11g

查看运行的容器

CONTAINER ID   IMAGE                                                  COMMAND                  CREATED              STATUS              PORTS                                       NAMES
453493f3bcxx   registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g   "/bin/sh -c '/home/o…"   About a minute ago   Up About a minute   0.0.0.0:1521->1521/tcp, :::1521->1521/tcp   oracle11g

进入容器进行配置

docker exec -it oracle11g bash

进行软连接

sqlplus /nolog

结果:

bash: sqlplus: command not found

发现没有该命令,所以切换root用户:

su root 

输入密码:helowin

四、配置ORACLE环境变量

编辑profile文件

vi /etc/profile

在文件最后写上下面内容:

export ORACLE_HOME=/home/oracle/app/oracle/product/11.2.0/dbhome_2
export ORACLE_SID=helowin
export PATH=$ORACLE_HOME/bin:$PATH

注意:设置的服务名为helowin,在navicat连接Oracle时要使用。

保存后,加载配置

source /etc/profile

五、创建软连接

作用:可以直接用oracle命令,而不需要进入bin目录中执行相应的命令。

命令

ln -s $ORACLE_HOME/bin/sqlplus /usr/bin

六、修改sys和system密码

切换到oracle 用户

su - oracle

注意:一定要写中间的内条 - 必须要,否则软连接无效

登录oracle

sqlplus /nolog

结果如下:

SQL*Plus: Release 11.2.0.1.0 Production on Mon Jun 13 19:26:17 2022

Copyright (c) 1982, 2009, Oracle.  All rights reserved.

SQL> 

需要进行操作系统验证,才可进行连接登录

conn /as sysdba

结果如下:

SQL> conn /as sysdba
Connected.
SQL> 

修改system用户账号密码

alter user system identified by system;

结果:

SQL> alter user system identified by system;

User altered.

修改sys用户密码

alter user sys identified by sys;

修改密码规则策略为密码永不过期

ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;

结果:

SQL> ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;

Profile altered.

修改数据库最大连接数据:

alter system set processes=1000 scope=spfile;

创建内部管理员账号密码

create user test identified by test;

将dba权限授权给内部管理员账号

grant connect,resource,dba to test;

修改以上信息后,需要重新启动数据库

关闭数据库

shutdown immediate;

结果如下:

SQL> shutdown immediate;
Database closed.
Database dismounted.
ORACLE instance shut down.

启动数据库

startup;

结果如下:

SQL> startup;
ORACLE instance started.

Total System Global Area 1603411968 bytes
Fixed Size                  2213776 bytes
Variable Size             402655344 bytes
Database Buffers         1191182336 bytes
Redo Buffers                7360512 bytes
Database mounted.
Database opened.
SQL> 

退出软连接:

exit

结果:

SQL> exit
Disconnected from Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options

七、云服务器开通1521端口

入站方向规则开通1521端口

八、navicat连接oracle

高级中选择sysdba

九、创建表空间

进入容器

docker exec -it oracle11g bash

切换oracle用户

su - oracle

登录oracle

sqlplus /nolog

需要进行操作系统验证,才可进行连接登录

conn /as sysdba

创建表空间

create tablespace pts datafile '/home/oracle/app/oracle/oradata/helowin/pts.dbf' size 100m autoextend on next 10m

结果

SQL> create tablespace pts datafile '/home/oracle/app/oracle/oradata/helowin/pts.dbf' size 100m autoextend on next 10m;

Tablespace created.

删除表空间

drop tablespace PTS

查看所有表空间

select tablespace_name from dba_tablespaces;

创建用户

create user PTS identified by PTS default tablespace PTS;

删除用户

drop user pts cascade

给用户授权

grant dba to PTS;

查看哪些用户被授予DBA权限

select * from dba_role_privs where granted_role='DBA';

注意:要想使用navicat进行数据同步,需要保证两个用户的表空间相同。

 

这篇关于docker安装oracle 11g的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!