Docker 安装 Oracle创建表空间并导入数据库

打印 上一主题 下一主题

主题 871|帖子 871|积分 2613

一、Docker 安装Oracle
1、检查docker 版本
2、docker 下载镜像
3、 docker启动容器
4、  进入容器内部
5、安装乐成,利用客户端工具连接
二、创建数据库用户与表空间
1、查询数据库文件位置
2、创建表空间
3、创建用户
4、设置权限
三、导出数据库DMP
1、上传文件到指定目录
2、创建权限目录
3、执行oracle-expdp导出
四、导入oracle dmp文件
1、创建权限目录
2、导入oracle dmp文件



一、Docker 安装Oracle

1、检查docker 版本

  1. docker version
复制代码

2、docker 下载镜像

  1. docker pull registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g
复制代码
3、 docker启动容器

  1. docker run -d -p 30026:1521 -p 8081:8080 --name oracle_11g -e ORACLE_HOME=/home/oracle/app/oracle/product/11.2.0/dbhome_2 -e ORACLE_SID=helowin registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g
复制代码
4、  进入容器内部

docker exec -it oracle_11g bash
  1. # 1. 切换至root用户(默认是oracle用户),密码为helowin
  2. su root
  3. # 2. 创建软链接
  4. ln -s $ORACLE_HOME/bin/sqlplus /usr/bin
  5. # 3.切换回oracle用户
  6. su oracle
  7. # 4. 登录sql plus
  8. sqlplus /nolog
  9. conn /as sysdba
  10. ## 4.1 修改system用户密码为system
  11. alter user system identified by system;
  12. ## 4.2 修改sys用户密码为system
  13. alter user sys identified by system;
  14. ## 4.3 新增一个测试用户(用户名:test,密码:test123);
  15. create user test identified by test123;
  16. ## 4.4 将dba权限给内部管理员账号和密码
  17. grant connect,resource,dba to SYS_ORM;
  18. ## 4.5 修改密码策略规则为:密码永不过期
  19. ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;
  20. ## 4.6 修改数据库最大连接数;
  21. alter system set processes=1000 scope=spfile;
  22. ## 4.7 最后重启数据库;
  23. shutdown immediate;
  24. startup;
  25. # 5.退出
  26. exit
复制代码
5、安装乐成,利用客户端工具连接


二、创建数据库用户与表空间

1、查询数据库文件位置

  1. select t1.name,t2.name  from v$tablespace t1,v$datafile t2  where t1.ts# = t2.ts#;
复制代码

2、创建表空间

用sysdba登岸,sqlplus /@sysware as sysdba /PLSQL利用SYSDBA 登录执行
  1. CREATE TABLESPACE ORM
  2. DATAFILE '/home/oracle/app/oracle/oradata/helowin/orm.dbf' size 800M             --存储地址 初始大小800M
  3.         autoextend on next 50M maxsize unlimited                   --每次扩展10M,无限制扩展
  4.          EXTENT MANAGEMENT LOCAL autoallocate SEGMENT SPACE MANAGEMENT AUTO;
复制代码
3、创建用户

用sysdba登岸,sqlplus /@sysware as sysdba /PLSQL利用SYSDBA 登录执行
create user 用户名 identified by 密码 default tablespace 表空间名;  
  1. create user ORM identified by ORM default tablespace ORM;  
复制代码
4、设置权限

用sysdba登岸,sqlplus /@sysware as sysdba /PLSQL利用SYSDBA 登录执行
grant connect,resource,create type,create view,recovery_catalog_owner to 用户名
--留意:克制利用:imp_full_database权限
  1. grant connect,resource,create type,create view,recovery_catalog_owner to ORM;
复制代码
三、导出数据库DMP

留意:导出必要记录用户名、表空间名,导入必要用到

1、上传文件到指定目录

  1. docker cp  /home/imp e5w3hr4rrre3:/home/ormexp
复制代码
2、创建权限目录

用sysdba登岸,
create directory 授权目录名 as '授权目录';   
grant read,write on directory 授权目录名 to 数据库用户名;
  1. # 切换oracle用户:
  2. su - oracle
  3. # 管理员登录
  4. sqlplus sys/system@orcl as sysdba
  5. create directory ormExp as '/home/ormexp';   
  6. grant read,write on directory ormExp to ORM;
复制代码
3、执行oracle-expdp导出

在cmd、用户窗口执行:
expdp 数据库用户名/数据库密码@sysware directory=授权目录名 dumpfile=数据文件名称.dmp
  1. expdp ORM/ORM@orcl directory=ormExp dumpfile=data.dmp
复制代码
四、导入oracle dmp文件

1、创建权限目录

用sysdba登岸,
create directory 授权目录名 as '授权目录';   
grant read,write on directory 授权目录名 to 数据库用户名;
  1. # 切换oracle用户:
  2. su - oracle
  3. # 管理员登录
  4. sqlplus sys/system@orcl as sysdba
  5. create directory ormimp as '/home/ormimp';   
  6. grant read,write on directory ormimp to ORM;
复制代码
2、导入oracle dmp文件

在cmd、用户窗口执行

impdp 数据库用户名/数据库密码 directory=授权目录名 remap_tablespace=导出数据库的表空间:表空间 dumpfile=数据文件名称.dmp remap_schema=导出数据库的用户名:数据库用户名 transform=OID:N
  1. impdp ORM/ORM@orcl directory=impdata remap_tablespace=BLUESYS20240715:ORM dumpfile=BLUESYS.DMP remap_schema=BLUESYS:ORM transform=OID:N
复制代码
  1. impdp ORM/ORM directory=impdata remap_tablespace=BLUESYS20240715:ORM dumpfile=BLUESYS.DMP remap_schema=BLUESYS:ORM transform=OID:N
复制代码

 

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

美丽的神话

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表