docker 安装 oracle21c(10g,11g,12c,18c,19c,21c)和oracle常用sql语句以及jdbc连接

环境说明

CentOS Linux release 7.9.2009 (Core)
Docker version 24.0.7

其他说明

如果在同一台机器上注意端口映射,需要不同端口。还有就是特别注意磁盘问题,给机器足够的空间。

oracle 10g

1、拉取镜像
docker pull registry.cn-shanghai.aliyuncs.com/techerwang/oracle:ora10g_10205
2、重新tag镜像
docker tag registry.cn-shanghai.aliyuncs.com/techerwang/oracle:ora10g_10205 oracle10g:10205
3、启动容器
docker run -itd --name oracle10g -h jemora10g -p 3380:3389 -p 1527:1521 -p 312:22 --privileged=true --restart=always oracle10g:10205 init
4、进入容器
docker exec -it oracle10g /bin/bash
5、修改oracle相关配置
#启动数据库
lsnrctl start
#连接oracle
sql
startup
#修改system密码
SQL> alter user system identified by 密码;
#或者可以创建新用户并授权
SQL> create user test identified by “123456”;
SQL> grant connect,resource,dba to test;
#退出连接
quit

#设置开机启动数据库
vim /etc/rc.d/rc.local
#新增下面两行并保存:
su - oracle -c "lsnrctl start"
su - oracle -c "dbstart"

vim /etc/oratab
将N修改为Y

#退出容器
exit

#配置完成

oracle11g

1、拉取镜像,拉取之后也可以tag一下,这里省略了
docker pull registry.aliyuncs.com/helowin/oracle_11g
2、创建数据目录并设置权限
mkdir -p /mnt/oracle_data/app
chmod 777 /mnt/oracle_data/app
mkdir -p /mnt/oracle_data/dpdump
chmod 777 /mnt/oracle_data/dpdump
3、运行容器:
docker run  -itd -p 1521:1521 --name oracle_11g --restart=always -v /mnt/oracle_data/app:/opt/oracle/app -v /mnt/oracle_data/dpdump:/opt/oracle/dpdump  -v  /mnt/oracle_data/oraInventory:/opt/oracle/oraInventory registry.aliyuncs.com/helowin/oracle_11g
4、进入容器
docker exec -it oracle_11g /bin/bash
5、切换root,密码helowin
su root
6、切换oracle
su - oracle
7、使用sqlplus连接数据库
sqlplus /nolog
8、使用sysdba连接
SQL> conn /as sysdba;
9、修改system密码
alter user system identified by 123456;
10、修改密码有效期
alter profile default limit PASSWORD_LIFE_TIME UNLIMITED;
11、查看当前用户
show user;
12、退出sqlplus
exit
13、查看数据库服务状态
lsnrctl status
#退出容器
exit
#配置完成

oracle12c

1、拉取镜像,拉取之后也可以tag一下,这里省略了
docker pull docker.io/truevoly/oracle-12c
2、创建数据目录并设置权限
mkdir -p /usr/local/oracle/data_temp
chmod 777 /usr/local/oracle/data_temp
3、运行容器
docker run --restart always -d -p 8080:8080 -p 1521:1521 -v /usr/local/oracle/data_temp:/home/oracle/data_temp   -v /etc/localtime:/etc/localtime:ro  --name orac truevoly/oracle-12c
4、进入容器
docker exec -it ID /bin/bash
5、连接数据库,用户密码:system/oracle@
sqlplus
6、修改system密码
ALTER USER system IDENTIFIED BY 123456;
7、退出sqlplus
exit
8、退出容器
exit
# 配置完成

oracle18c

1、拉取镜像
docker pull registry.cn-hangzhou.aliyuncs.com/zhengqing/oracle18c
2、运行容器
docker run -d --name oracle18c -p 1523:1521 registry.cn-hangzhou.aliyuncs.com/zhengqing/oracle18c
3、进入容器
docker exec -it oracle18c /bin/bash
4、用户密码和环境变量设置
# 安装目录执行脚本,设置密码(修改的管理员密码)
./setPassword.sh 123456
# 查看SID
grep $ORACLE_HOME /etc/oratab | cut -d: -f1
# 引入临时SID变量
export ORACLE_SID=ORCLCDB
# 登录ORA
sqlplus / as sysdba
# 查看所有的PDB数据库
show pdbs;
# 每次登录都要设置 ORACLE_SID 环境变量,
# 可以将这个写到~/.bashrc文件里去 ,执行如下命令
# 该命令在当前SQL窗口中执行即可
host echo "export ORACLE_SID=ORCLCDB" >> ~/.bashrc
# 退出sql窗口
quit
# 修改 listener.ora 文件
echo USE_SID_AS_SERVICE_LISTENER = ON >> /opt/oracle/oradata/dbconfig/ORCLCDB/listener.ora
# 退出容器
exit
# 配置完成

oracle19c

1、拉取镜像
docker pull registry.cn-hangzhou.aliyuncs.com/zhuyijun/oracle:19c
2、创建文件并设置权限
mkdir -p /mydata/oracle/oradata
chmod 777 /mydata/oracle/oradata
3、运行容器
docker run -d -p 1524:1521 -e ORACLE_SID=ORACLEDB -e ORACLE_PDB=ORACLEPDB -e ORACLE_PWD=oracle -e ORACLE_EDITION=standard -e ORACLE_CHARACTERSET=ZHS16GBK -v /mydata/oracle/oradata:/opt/oracle/oradata  --name oracle registry.cn-hangzhou.aliyuncs.com/zhuyijun/oracle:19c
# 查看启动日志
docker logs -ft oracle
4、进入容器
docker exec -it oracle /bin/bash
5、数据库相关设置
[oracle@5c028e4b2a36 ~]$ sqlplus / as sysdba
SQL> show pdbs

    CON_ID CON_NAME			  OPEN MODE  RESTRICTED
---------- ------------------------------ ---------- ----------
	 2 PDB$SEED			  READ ONLY  NO
	 3 ORACLEPDB			  READ WRITE NO
# 修改system密码
SQL> alter user system identified by system;
# 修改密码不过期
SQL> alter profile default limit password_life_time unlimited;
# 设置当前实例
SQL> alter session set container=ORACLEPDB;
# 创建表空间
SQL> create tablespace skzbtest datafile '/opt/oracle/oradata/ORACLEDB/ORACLEPDB/skzbtest.dbf' size 500M autoextend on maxsize unlimited;
# 创建用户
SQL> SQL> create user skzb identified by skzb123 default tablespace skzbtest;
# 授权
SQL> grant dba to skzb;

# 配置完成

oracle21c

1、拉取镜像
docker pull container-registry.oracle.com/database/express:21.3.0-xe
2、tag镜像
docker tag container-registry.oracle.com/database/express:21.3.0-xe oracle21c
3、运行容器
docker run -it -d --name oracle21c -p 1525:1521 -p 5500:5500 -e ORACLE_PWD=123456 -e ORACLE_CHARACTERSET=UTF8 container-registry.oracle.com/database/express:21.3.0-xe
4、进入容器
docker exec -it oracle21c bash
5、连接数据库
sqlplus / as sysdba
# 修改system密码
alter user system identified by 123456;
6、退出sqlplus
exit
7、退出容器
exit
# 配置完成

常用sql语句

# 查看实例名称
SELECT NAME FROM V$INSTANCE;
# 查看所有数据库
SELECT NAME FROM V$DATABASE;
# 查看版本信息
SELECT * FROM V$VERSION;
# 查看表空间
SELECT TABLESPACE_NAME,FILE_NAME,BYTES/1024/1024 AS SIZE_MB FROM DBA_DATA_FILES;
# 查看用户信息
SELECT USERNAME,ACCOUNT_STATUS FROM DBA_USERS;
# 查看表信息
SELECT TABLE_NAME,NUM_ROWS,LAST_ANALYZED FROM USER_TABLES;

jdbc连接

//不同版本对应不同驱动jar包,21版本向下兼容
String ip = "ip";
String port = "1521";
String userName = "用户名";
String password = "密码";
String database = "实例";
String urlString = "jdbc:oracle:thin:@//ip:port/database";
String jdbcString = "oracle.jdbc.driver.OracleDriver";
Class.forName(jdbcString);
conn = DriverManager.getConnection(urlString, userName, password);
要在Linux上安装Oracle Database 21c,可以使用Docker容器化技术进行安装。下面是一些基本步骤: 1. 首先,确保你已经在Linux上安装Docker。如果没有安装,请根据你的Linux发行版文档进行安装。 2. 在终端中运行以下命令,从Docker Hub下载Oracle Database 21c的镜像: ``` docker pull store/oracle/database-enterprise:21.3.0.0 ``` 3. 下载Oracle Database 21c的安装文件。你需要前往Oracle官方网站(https://www.oracle.com/database/technologies/oracle21c-linux-downloads.html)并获取适用于Linux的安装文件。 4. 将下载的安装文件复制到一个目录中,比如 `/opt/oracle21c` 5. 使用以下命令启动Docker容器安装Oracle Database 21c: ``` docker run -d -it --name oracle21c \ -p 1521:1521 -p 5500:5500 \ -e ORACLE_SID=ORCLCDB \ -e ORACLE_PDB=ORCLPDB1 \ -e ORACLE_PWD=your_password \ -v /opt/oracle21c:/install \ store/oracle/database-enterprise:21.3.0.0 ``` 这个命令会创建一个名为 `oracle21c` 的Docker容器,并将它与主机的1521端口5500端口进行映射。你需要将 `your_password` 替换为你自己的密码。 6. 运行以下命令进入容器的Bash终端: ``` docker exec -it oracle21c bash ``` 7. 在容器中,将安装文件解压缩到 `/install` 目录: ``` cd /install unzip oracle-database-21c-*.zip ``` 8. 运行安装脚本: ``` ./runInstaller ``` 根据提示进行安装,选择相应的选项配置。 9. 安装完成后,可以使用Oracle Database 21c了。你可以使用SQL*Plus等工具连接到数据库。 这些是基本的安装步骤,你可以根据实际需要进行调整。请注意,在安装Oracle Database 21c之前,确保你的Linux系统满足Oracle的硬件软件要求。此外,根据你的需求,你可能需要进行其他配置调整。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值