Docker中安装Oracle10g和oracle增删改查
Docker中安装Oracle 10g
- 一、Docker中安装Oracle 10安装步骤
- 二、连接数据库登录
- 三 oracle数据库的增删改查及联表查询的相关操作
- oracle数据库,创建students数据表,创建100万条数据
- 增删改查
一、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;