本篇文章给大家谈谈oracle11g正版价格,以及正版oracle授权购买的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
文章详情介绍:
docker安装oracle11g_实际操作成功
参考官方镜像地址信息:
https://registry.hub.docker.com/r/iatebes/oracle_11g
Docker image for Oracle Database 11g (database installed)
Build from this guide : https://github.com/jaspeen/oracle-11g
Run Oracle DB 11g from docker
$ docker run -d -p 1521:1521 iatebes/oracle_11g
OS users
root/install
淘宝oracle/install
DB users
SYS/oracle
SID
orcl
Database location
/opt/oracle
TNS String pattern
(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=<IP_DOCKER_HOST>)(PORT=<PORT_MAPPING>)))(CONNECT_DATA=(SERVICE_NAME=orcl)))
Example in my case with above docker run command : IP_DOCKER_HOST = 10.33.66.127 PORT_MAPPING = 1521
(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=10.33.66.127)(PORT=1521)))(CONNECT_DATA=(SERVICE_NAME=orcl)))
Docker run command with folder mapping
Optionally you can map dpdump folder to easy upload dumps:
docker run -d --privileged --name oracle11g -p 1521:1521 -v <local_dpdump>:/opt/oracle/dpdump iatebes/oracle_11g
To execute impdp/expdp just use docker exec command:
docker exec -it oracle11g impdp ..
-------以上参考官方提供的信息;下面是实际操作过程;
docker rm containId 删除以前创建的不需要的oracle容器(首次可省略)
查看oracle的已经创建的容器(首次可以省略)
删除已经创建的容器,释放1521端口
使用 docker pull iatebes/oracle_11g 从仓库拉取镜像文件
docker run -d -p 1521:1521 iatebes/oracle_11g //创建11g容器
docker start c40c11c3737a // 启动容器
docker exec -it containId /bin/bash (进入docker容器的内部;一定先进入容器再切用户)
su oracle (切记一定要切换成oracle用户)
sqlplus sys/oracle as sysdba
Sqlplus 使用sys登录后创建表空间
Create tablespace TEST_DS datafile '/home/oracle_for_docker/TEST_DS.dbf' size 500M autoextend on maxsize unlimited;
在docker容器创建oracle的表空间遇到无法创建问题,导致原因是文件夹的执行权限不足导致,需要授权,注意是在容器里面授权操作。
解决方法:
切换到root su root (root/install)
使用sqlplus登录
注意创建表空间时有可能出现权限不足的问题,需要授权操作:
[root@15de95e3000d oradata]# chmod -Rf 777 /home/oracle_for_docker 授权后就可以创建表空间,最后就是常规操作了,创建用户和授权,导入数据,添加工具连接的配置信息即可连接;
(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=IP)(PORT=1521)))(CONNECT_DATA=(SERVICE_NAME=orcl))) //官网给出的连接信息
注意将本地或者docker容器外面目录的dmp文件上传到docker oracle容器内部指定的目录,使用下面的指令复制文件:
docker cp 本地文件路径 ID全称:容器路径
到此操作结束,可以愉快的使用orcl了.谢谢浏览!
Oracle数据库:用户授权相关SQL语句收录
select * from dba_users; 查询数据库中的所有用户
alter user TEST_SELECT account lock; 锁住用户
alter user TEST_SELECT account unlock; 给用户解锁
create user xxxx identified by xxxx; 建立用户
grant create tablespace to xxxx; 授权
grant select on tabel1 to xxxx; 授权查询
grant update on table1 to xxxx;
grant execute on procedure1 to xxxx 授权存储过程
grant update on table1 to xxxx with grant option; 授权更新权限转移给xxxx用户,许进用户可以继续授权;
收回权限
revoke select on table1 from xxxx1; 收回查询select表的权限;
revoke all on table1 from xxxx;
select table_name,privilege from dba_tab_privs where grantee='xxxx' 查询一个用户拥有的对象权限
select * from dba_sys_privs where grantee='xxxx' 查询一个用户拥有的系统权限
select * from session_privs 当钱会话有效的系统权限
角色
create role xxxx1;建立xxxx1角色
grant insert on xezf.cfg_alarm to xxxx1; 将插入表的信息
revoke insert on xezf.cfg_alarm from xxxx1; 收回xxxx1角色的权限
grant xxxx1 to xxxx ; 将角色的权限授权给xxxx;
create role xxxx2;
grant xxxx1 to xxxx2; 将角色xxxx1授权给xxxx2;
alter user xxxx default xxxx1,xxxx2; 修改用户默认角色
DROP ROLE xxxx1;删除角色1;
select * from role_sys_privs where role=xxxx1;
查看许进1角色下有什么系统权限;
select granted_role,admin_option from role_role_privs where role='xxxx2';
查看xxxx1角色下面有什么角色权限
select * from role_sys_privs where role='xxxx2';
select table_name,privilege from role_tab_privs where role='xxxx1';
select * from dba_role_privs where grantee='xxxx' 查看用户下面有多少个角色;