Docker中安装Oracle10g和oracle增删改查

Docker中安装Oracle 10g

一、Docker中安装Oracle 10安装步骤

Docker中安装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容器

docker run -itd --name oracle10205 -h jemora10g -p 31521:1521 --privileged=true --restart=always oracle10g:10205 init

4.进入容器

docker exec -it oracle10205 bash

5.起动监听和数据库

root@localhost \~# docker exec -it oracle10205 bash

root@jemora10g /# su - oracle

-bash: iexport: command not found

oracle@jemora10g \~$ lsnrctl start

oracle@jemora10g \~$ sql

SYS@jem10g> startup

6.创建用户并赋予权限

SQL> create user root identified by "123456";

SQL> grant connect,resource,dba to root; --表示把 connect,resource,dba权限授予root用户

7.配置数据库开机启动

容器内修改配置

root@jemora10g /# vim /etc/rc.d/rc.local

增加下面两行

su - oracle -c "lsnrctl start"

su - oracle -c "dbstart"

修改配置root@jemora10g /# vim /etc/oratab

将最后一个参数修改为Y

JEM10G:/u01/app/oracle/product/10.2.0.1/dbhome_1:Y

二、连接数据库登录

端口31521

服务名jem10g

默认账号密码:root/123456

#查看日志等待安装完成

docker logs -f 容器id

三 oracle数据库的增删改查及联表查询的相关操作

oracle数据库,创建students数据表,创建100万条数据

--创建students数据表,创建1000条数据

create table OUTLN.Students as

select rownum as id,

to_char(sysdate + rownum/24/3600, 'yyyy-mm-dd hh24:mi:ss') as inc_datetime,

CONCAT('zhang',rownum) as studen_name,

CONCAT('183',trunc(dbms_random.value(00000000, 99999999))) as stu_number,

trunc(dbms_random.value(0, 100)) as stu_age,

dbms_random.string('x', 20) random_string

from dual

connect by level <= 1000000;

增删改查

-- 查询表

select * FROM OUTLN.students WHERE ID<10;

select * from students where ID=(select max(id) from students);

-- SQL 语句查询 Oracle 数据库中的所有库

SELECT tablespace_name FROM dba_tablespaces;

-- SQL 语句查询某个数据库中的所有表

SELECT table_name FROM user_tables;

-- 查询Oracle 12C实例名

SELECT instance_name FROM v$instance;

-- 查询Oracle中所有的用户

SELECT * FROM dba_users;

-- 修改数据

update students set id=999 where ID=2;

-- 插入语句

insert into OUTLN.students(ID,INC_DATETIME) values(99999,'2022-06-01 19:57:44');

-- 删除数据

delete from students where id=999;

drop table OUTLN.students;

-- 删除表

drop table myTestTable;

-- 删除库

drop database test1;

相关推荐
曲径海盗4 小时前
Try-Except怎么用,3个追问解答在自动化下的应用
java·jvm·oracle
wz975411 小时前
Docker 从 systemd 托管容器、overlay2 存储驱动到 Compose 多容器实战
spring cloud·docker·eureka
新*12 小时前
ES 7.17 三节点 Docker 集群接入 IK 自定义词典:一次从丢插件到热更新的完整排障
运维·elasticsearch·docker·中文分词·ik分词
小白的码BUG之路13 小时前
Jenkins -- gitee+docker+harbor+k8s 部署项目
docker·gitee·jenkins
AlfredZhao13 小时前
Docker Compose 平滑切换环境变量文件,容器配置不残留
docker
duansamve1 天前
Python3+Flask+PostgreSQL18+Vue3项目生产环境用docker如何部署?
python·docker·flask
mengge.cloud1 天前
prometheus+k8s+弹性伸缩,综合项目
云原生·容器·kubernetes·prometheus
xbzb1 天前
从零容器化部署 ECShop:Harbor 私有仓库 + 自定义 PHP 镜像 + LNMP 三容器
容器·php·harbor·镜像·仓库·ecshop
那明眸似水1 天前
云原生项目三:Docker秒级启动NextCloud个人网盘存储办公系统
linux·运维·docker·云原生·容器
腾飞开源1 天前
03_Kubernetes 核心概念拆解:从 Spec/Status 收敛到工作负载控制器的设计逻辑
云原生·容器·kubernetes