拉取oracle11镜像
docker pull registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g
启动容器
docker run -d -p 1521:1521 --name oracle registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g
进入容器
[root@rzk ~]# docker exec -it oracle bash
切换root用户
su root
密码 helowin
编辑 vi /etc/profile
添加一下三行
export ORACLE_HOME=/home/oracle/app/oracle/product/11.2.0/dbhome_2
export ORACLE_SID=helowin
# 使其生效
> source /etc/profile
![](https://img2020.cnblogs.com/blog/1898315/202109/1898315-20210928023315316-2060235565.png)
export PATH=$ORACLE_HOME/bin:$PATH
登录sqlplus并修改sys、system用户密码
[oracle@0ce0dde8b8e5 /]$ su root
Password:
[root@0ce0dde8b8e5 /]# sqlplus /nolog
bash: sqlplus: command not found
[root@0ce0dde8b8e5 /]# su - oracle
[oracle@0ce0dde8b8e5 ~]$ sqlplus /nolog
sqlplus /nolog --登录
conn /as sysdba -- 测试连接
alter user system identified by system;--修改system用户账号密码;
alter user sys identified by system;--修改sys用户账号密码;
create user test identified by test; -- 创建内部管理员账号密码;
grant connect,resource,dba to yan_test; --将dba权限授权给内部管理员账号和密码;
ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED; --修改密码规则策略为密码永不过期;(会出现坑,后面讲解)
alter system set processes=1000 scope=spfile; --修改数据库最大连接数据;
给用户权限
授予权限输入【grant create session to 用户名】,授予连接数据库权限。
输入
grant unlimited tablespace to 用户名;
操作表空间权限
grant create table to 用户名;
创建表权限
grante drop table to 用户名;
删除表权限
grant insert table to 用户名;
插入表权限
grant update table to 用户名;
更新表权限
create user rzk identified by rzk;
grant create session to "ruizhukai";
--授权成功。
--(2)--授予创建表空间的权限
grant create tablespace to "ruizhukai";
--(3)--授予创建表的权限(在table前加any可以创建其他的用户的table ,不加只能创建本用户的table)
grant create table to "ruizhukai";
--授权成功。
--(4)--授予删除表的权限(必须加any,否则会报“权限缺失或无效”错误)
grant drop any table to "ruizhukai";
--授权成功。
--(5)--插入表的权限(必须加any,否则会报“权限缺失或无效”错误)
grant insert any table to "ruizhukai";
--授权成功。
--(6)--修改表的权限(必须加any,否则会报“权限缺失或无效”错误)
grant update any table to "ruizhukai";
--(7)--授予用户所有权限(可以同时授予用户所有权限)
grant all privileges to "ruizhukai";