Docker中安装Oracle11g和oracle增删改查
Docker中安装Oracle11g数据库
Docker 安装oralce11g
1.拉取oracle_11g镜像
docker pull registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g
2.创建oracle11g容器
docker run -d -p 1521:1521 --name oracle11g registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g
3.查看oracle11g容器是否创建成功
docker ps -a
4.启动oracle11g容器
Docker start oracle11g
5.进入oracle11g容器进行配置
docker exec -it oracle11g bashsu roothelowin
6.切换到root用户下进行配置
密码为:helowin
7、编辑profile文件配置ORACLE环境变量
vi /etc/profile
8、最后添加以下3行配置
export ORACLE_HOME=/home/oracle/app/oracle/product/11.2.0/dbhome_2export ORACLE_SID=helowinexport 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
Oracle 11g添加用户,并授权
docker exec -it oracle11g bash – 进入数据库
su root – 切换root,密码helowin
su – oracle 切换oracle用户
登录sqlplus并添加用户
sqlplus /nolog
conn /as sysdba
创建用户
create user sa identified by root; – 创建用户sa
grant connect,resource,dba to sa; – 对于普通用户:授予connect, resource权限。
REVOKE DBA FROM sa; – 取消dba授权
对于DBA管理用户:授予connect,resource, dba权限
alter user sa identified by oracle; –修改用户密码
用nacivat连接oracle数据库
主机:IP地址
端口:1521
服务名:helowin(一定要填写helowin)
密码:oracle(第12步设置的密码)
oracle数据库,创建students数据表,Oracle数据库创建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;
– 修改数据
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;