前言
该文主要整合了网络上的安装教程,踩了一些坑,便于后续使用
环境
CentOS 7.6 64bit
、Docker Engine-Community
、oracle_11g
安装Docker
使用Docker,按如下步骤安装oracle11g
## 拉取镜像
docker pull registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g
## 启动容器(若需要挂载方式启动,可查阅参考链接首条)
docker run -d -p 1521:1521 --name oracle11g --restart=always registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g
## 查看运行中的容器(STATUS为Up代表成功)
docker ps
进入容器配置环境和参数
## 进入容器
docker exec -it 容器id或名称 bash
## 切换root账号(密码:helowin)
su root
## 配置环境变量
vi /etc/profile
## --------start--------将如下配置插入环境变量末尾
export ORACLE_HOME=/home/oracle/app/oracle/product/11.2.0/dbhome_2
export ORACLE_SID=helowin
export PATH=$ORACLE_HOME/bin:$PATH
## --------end--------
## 使配置生效
source /etc/profile
## 插入sqlplus的软链接
ln -s $ORACLE_HOME/bin/sqlplus /usr/bin
## 切换到oracle用户,启用sqlplus
su - oracle
sqlplus /nolog
conn /as sysdba
## 修改sys、system用户密码(以下sql最好单条执行,密码可自定义,此处设置为oracle123456)
alter user system identified by oracle123456;
alter user sys identified by oracle123456;
alter profile default limit PASSWORD_LIFE_TIME UNLIMITED;
######## 以下可选 ########
## 创建用户并授权(用户名必须大写,否则无法删除和连接该用户,oracle会使用大写去匹配,所以匹配会失败)
create user 用户名 identified by 密码;
grant connect, resource, dba to 用户名;
退出
退出sqlplus
:exit
退出容器:exit
或者 Ctrl + p + q
注意事项
- 表空间、用户、字段的命名,按照规范需要大写、并严格避免和关键字重复,方便后续升级、数据迁移等等
- Oracle中,表空间和用户是对应的,需要注意操作顺序:
- 创建:先创建表空间,再创建用户
- 删除:先删除用户,再删除表空间
- Oracle建表后,使用时发现找不到:Oracle11特性,新建一张空表时,需要等插入第一行数据后,才会将该表插入表空间
- 对于一般的用户,只需赋予
connect
、resource
、create view
这3个权限即可,不行再给dba
权限 - 查询数据库编码:
select userenv('language') from dual;