数据库-docker安装oracle11g并且导入dmp文件

	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
'\usr\oracle\oracledata\user_temp.dbf' size 50m
autoextend on next 50m maxsize 2048m extent management local;
	9.创建表空间
	create tablespace user_data logging datafile
'\usr\oracle\oracledata\user_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
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值