docker安装oracle-11


出处

https://segmentfault.com/a/1190000020633619?utm_source=tag-newest

安装oracle

安装docker

[root@localhost ~]# yum install -y docker

启动docker

[root@localhost ~]# systemctl start docker

拉取镜像

docker pull registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g

镜像大概有6.8G

创建容器

docker images
docker run -d -p 1521:1521 --name oracle_11g registry.aliyuncs.com/helowin/oracle_11g

启动容器

docker start oracle_11g

进入控制台设置用户信息:

docker exec -it oracle_11g bash

切换成root进行操作:

su - root
输入密码   
helowin

设置oracle环境变量如下:

vi /etc/profile文件末尾添加:
export ORACLE_HOME=/home/oracle/app/oracle/product/11.2.0/dbhome_2
export ORACLE_SID=helowin
export PATH=${ORACLE_HOME}/bin:$PATH

切换回oracle用户:

su - oracle	

修改sys、system用户密码

sqlplus /nolog
conn /as sysdba
alter user system identified by oracle; -- 密码为oracle
alter user sys identified by oracle;	-- 密码为oracle
ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;

查看sid

select INSTANCE_NAME from v$instance;

一般默认值为:
orcl

登录

密码为 oracle

image-20220118220907310

创建用户

-- 创建用户
create user zhangyixiong identified by zhangyixiong;
-- 创建表空间
create tablespace tablespacename datafile '/home/oracle/data/data1' size 1024m;
-- 给用户分配表空间
ALTER user zhangyixiong default tablespace tablespacename;
-- 给用户分配权限
grant create session,create table,unlimited tablespace to zhangyixiong;

grant create session to zhangyixiong;-- //授予zhangsan用户创建session的权限,即登陆权限,允许用户登录数据库

grant unlimited tablespace to zhangyixiong;--  //授予zhangsan用户使用表空间的权限

grant create table to zhangyixiong;-- //授予创建表的权限


grant create session to zhangyixiong;-- //授予zhangsan用户创建session的权限,即登陆权限,允许用户登录数据库

grant unlimited tablespace to zhangyixiong;--  //授予zhangsan用户使用表空间的权限

grant create tablespace  to zhangyixiong;-- //授予创建表的权限

grant drop tablespace  to zhangyixiong;-- //授予删除表的权限
grant unlimited tablespace to zhangyixiong;

grant create tablespace to zhangyixiong;

grant alter tablespace to zhangyixiong;

grant drop tablespace to zhangyixiong;

grant manage tablespace to zhangyixiong;
grant create table to zhangyixiong;
grant create view to zhangyixiong;
grant create trigger to zhangyixiong;
grant create procedure to zhangyixiong;
grant create sequence to zhangyixiong;

以下为参考

管理用户

  create user zhangsan;//在管理员帐户下,创建用户zhangsan

  alert user scott identified by tiger;//修改密码

授予权限

  1、默认的普通用户scott默认未解锁,不能进行那个使用,新建的用户也没有任何权限,必须授予权限

  

  grant create session to zhangsan;//授予zhangsan用户创建session的权限,即登陆权限,允许用户登录数据库

  grant unlimited tablespace to zhangsan;//授予zhangsan用户使用表空间的权限

  grant create table to zhangsan;//授予创建表的权限

  grante drop table to zhangsan;//授予删除表的权限

  grant insert table to zhangsan;//插入表的权限

  grant update table to zhangsan;//修改表的权限

  grant all to public;//这条比较重要,授予所有权限(all)给所有用户(public)

  2、oralce对权限管理比较严谨,普通用户之间也是默认不能互相访问的,需要互相授权

  

  grant select on tablename to zhangsan;//授予zhangsan用户查看指定表的权限

  grant drop on tablename to zhangsan;//授予删除表的权限

  grant insert on tablename to zhangsan;//授予插入的权限

  grant update on tablename to zhangsan;//授予修改表的权限

  grant insert(id) on tablename to zhangsan;

  grant update(id) on tablename to zhangsan;//授予对指定表特定字段的插入和修改权限,注意,只能是insert和update

  grant alert all table to zhangsan;//授予zhangsan用户alert任意表的权限

  五、撤销权限

  基本语法同grant,关键字为revoke

  六、查看权限

  select * from user_sys_privs;//查看当前用户所有权限

  select * from user_tab_privs;//查看所用用户对表的权限

文章作者: 张一雄
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 张一雄 !
  目录