1.使用如下命令拉取oracle11g镜像 $ docker pull registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g 2.由于镜像比较大,拉取需要耗费一些时间 拉取完毕后可以使用docker images查看镜像文件 $ docker images 3.创建容器 $ docker run --detach --publish=1521:1521 --name=helowin_oracle11g registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g /bin/sh -c '/home/oracle/app/oracle/product/11.2.0/dbhome_2/bin/dbstart /home/oracle/app/oracle/product/11.2.0/dbhome_2 && tail -f /home/oracle/app/oracle/product/11.2.0/dbhome_2/startup.log' 4.然后可以使用docker container ls查看容器 $ docker container ls 5.启动容器 使用docker start helowin_oracle11g启动容器 使用docker ps查看已经启动的容器 6.进入容器shell 使用docker exec -it oracle11g bash进入容器shell,此时使用sqlplus命令发现不能使用,所以先切换root用户,密码helowin su root 然后编辑profile配置oracle环境变量,在文件最下方加入 export ORACLE_HOME=/home/oracle/app/oracle/product/11.2.0/dbhome_2 export ORACLE_SID=helowin export PATH=$ORACLE_HOME/bin:$PATH 保存后使用ln -s $ORACLE_HOME/bin/sqlplus /usr/bin创建软连接,然后 再用su - oracle切换到oracle用户,需要注意的是中间需要加这个-否则软连接无效。 此时可以使用sqlplus登录了,使用sqlplus /nolog进入sqlplus命令行,然后conn /as sysdba以dba身份登录。 7.导入dmp文件,将你的dmp文件复制到容器中 docker cp 8.创建临时表空间 create temporary tablespace user_temp tempfile 'usroracleoracledatauser_temp.dbf' size 50m autoextend on next 50m maxsize 2048m extent management local; 9.创建表空间 create tablespace user_data logging datafile 'usroracleoracledatauser_data.dbf' size 50m autoextend on next 50m maxsize 2048m extent management local; 10.分配表空间 创建用户并分配表空间 create user user identified by password default tablespace user_data temporary tablespace user_temp; 11.修改用户表空间 alter user user default tablespace other_data temporary tablespace other_temp; 12.重命名表空间 alter tablespace user_data rename to new_user_data; 13.首先创建directory create or replace directory dump_dir as '/usr/oracle/dump/dir' 14.赋权 grant read,write on directory dump_dir to user ; 15.退出sqlplus后,创建目录 mkdir /usr/oracle/dump/dir 16.修改备份目录的属主和属组 chown -R oracle:oinstall /usr/oracle/dump/dir 17.切换oracle用户su - oracle切记别忘了这个-然后执行impdp命令 imp user/password DIRECTORY=dump_dir DUMPFILe=you_dmp_file.dmp FULL=y;
docker 重新打镜像后无法启动oracle数据库问题修复: 1、ERROR at line 1: ORA-01219: database not open: queries allowed on fixed tables/views only 解决方法: 执行alter database open; 2、ERROR at line 1: ORA-01507: database not mounted 解决方法关闭数据库,重启:shutdown immediate
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)