2. docker 部署 Oracle
2.1 拉取镜像
docker pull registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g
2.2 启动容器
docker run -d -p 1521:1521 --name oracle11g registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g
docker ps 查看容器启动成功
2.3 配置
# 进入oracle容器环境中
docker exec -it oracle11g bin/bash
# 切换到 oracle 数据库的 root 用户下(密码为:helowin)
su root
# 编辑 profile 文件
vi /etc/profile
# 添加 ORACLE 环境变量参数后保存退出
export ORACLE\_HOME=/home/oracle/app/oracle/product/11.2.0/dbhome_2
export ORACLE\_SID=helowin
export PATH=$ORACLE\_HOME/bin:$PATH
# 创建软连接
ln -s $ORACLE\_HOME/bin/sqlplus /usr/bin
# 配置文件生效
source ~/.bash_profile
# 切换到 oracle 用户
su - oracle
su - oracle #相当于重新登陆,此时用户的环境变量等信息会发生改变
su oracle #切换到oracle身份后用户的环境变量仍然是原先用户的环境变量
2.4 登录
依次输入
sqlplus /nolog
conn /as sysdba
2.5 设置密码
将 system 和 sys 两个账户的密码设为 123456
alter user system identified by 123456;
alter user sys identified by 123456;
ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;
解锁 scott 用户,同时将其密码设置为 123456
alter user scott account unlock;
alter user scott identified by 123456;
commit;
配置完毕后,连续执行多个 exit 即可退出容器。
2.6 连接测试
使用 Navicat 连接下部署好的 Oracle 数据库,连接成功即可。
3. Oracle 基础使用
常用命令
3.1 控制
# 登陆 sqlplus:
sqlplus /nolog
# 使用 sysdba 连接 oracle:
connect /as sysdba
# 使用自定义 u1 连接 oracle:
connect u1 /123456
# 开启数据库:
startup
# 关闭数据库:
shutdown immediate;
# 查看数据库状态:
select * from v$instance;
# 监听状态($ORACLE\_HOME/bin):
lsnrctl status
# 开启监听:
lsnrctl start
# 关闭监听:
lsnrctl stop
3.2 查询
# 查询当前数据库:
select name from v$database;
# 查询数据库名:
select name,dbid from v$database;
# 查询当前实例名:
select instance_name from v$instance;
# 查询表空间:
select default_tablespace, d.username from dba_users d;
# 查看数据库用户:
select * from dbs_users;
# 查询表空间路径:
select status,fuzzy,tablespace_name,name from v$datafile\_header;
# 显示当前连接用户:
show user;
# 显示系统下所有用户:
select * from all_users;
# 显示用户空间下所有表格:
select table_name from user_tables;
# 显示用户下表格中的数据:
select * from "HFTEST"."stu";
3.3 创建
# 创建表空间:
create TableSpace 表空间名称 DataFile 表空间数据文件路径 Size 初始大小 AutoExtend on;
# 创建用户:
create user 用户名 identified by 密码 default tablespace 表空间;
# 用户授权:
Grant connect, backup any table, select any dictionary, dba to 用户;
3.4 删除
# 删除用户:
drop user 用户名 cascade;
# 删除表空间:
### 最后的话
最近很多小伙伴找我要Linux学习资料,于是我翻箱倒柜,整理了一些优质资源,涵盖视频、电子书、PPT等共享给大家!
### 资料预览
给大家整理的视频资料:
![](https://img-blog.csdnimg.cn/img_convert/dfe2bbab25a828c8f434f0c9a88c0d91.png)
给大家整理的电子书资料:
![](https://img-blog.csdnimg.cn/img_convert/49c76f6225d562aba346da4ee4ba4fad.png)
**如果本文对你有帮助,欢迎点赞、收藏、转发给朋友,让我有持续创作的动力!**
**网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。**
**[需要这份系统化的资料的朋友,可以点击这里获取!](https://bbs.csdn.net/topics/618542503)**
**一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**
一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。**
**[需要这份系统化的资料的朋友,可以点击这里获取!](https://bbs.csdn.net/topics/618542503)**
**一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**