龙空技术网

使用docker新建oracle数据库并导入数据

鸡汤就苹果 388

前言:

当前小伙伴们对“esoracle数据导入”大约比较关心,咱们都想要分析一些“esoracle数据导入”的相关内容。那么小编在网摘上汇集了一些有关“esoracle数据导入””的相关知识,希望我们能喜欢,看官们快快来了解一下吧!

1.从阿里云镜像中心拉取oracle镜像库

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

2.创建容器

 docker run --detach --publish=1521:1521 --name=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'

3. 查看容器状态

docker container ls 

4. 进入容器

docker exec -it oracle11g bash 

5.切换到root用户,用户名为:helowin

su root 

6. 编辑profile

	export ORACLE_HOME=/home/oracle/app/oracle/product/11.2.0/dbhome_2	export ORACLE_SID=helowin 	export PATH=$ORACLE_HOME/bin:$PATH

备注:由于在容器环境中没有vim命令,这里解决的方式是:

	6.1 cat /etc/profile中内容 6.2 在宿主机器上创建 profile文件 粘贴6.1内容,并加上		 export ORACLE_HOME=/home/oracle/app/oracle/product/11.2.0/dbhome_2	 export ORACLE_SID=helowin 	 export PATH=$ORACLE_HOME/bin:$PATH 6.3 使用docker cp 命令,讲profile拷贝到容器 /etc/ 路径下。

7.方便在容器中使用sqlplus命令

	ln -s $ORACLE_HOME/bin/sqlplus /usr/bin

8.切换回oracle用户

	su - oracle

9. 登录

	 sqlplus /nolog

10.以DBA身份登录

		conn /as sysdba

11.创建表空间

drop tablespace 临时表空间 including contents and datafilescreate temporary tablespace 临时表空间 tempfile '\usr\oracle\oracledata\temtablespace.dbf' size 50m autoextend on next 50m maxsize 2048m;drop tablespace 表空间 including contents and datafilescreate tablespace EAS_D_EASBJ75_STANDARD logging datafile '\usr\oracle\oracledata\tablespace.dbf' size 50m autoextend on next 50m maxsize 20480m extent management localALTER TABLESPACE 表空间 ADD DATAFILE '\usr\oracle\oracledata\tablespace2.dbf' SIZE 20480M; 

(如果文件超过了32G要,要追加新的数据文件)

12.创建用户并给权限

create user 用户 identified by 用户密码 default tablespace 表空间 temporary tablespace 临时表空间;grant dba to 用户;这里直接给了dba权限,如果要求更严格,可以分别给 read,wirte,create,delete等权限。

13. 创建文件读取目录

	create or replace directory dumpdir as '/usr/oracle/dump/dir';

14. 授权用户

 grant read,write on directory dumpdir to 用户 ;	select * from dba_directories where directory_name='DUMPDUR';	注意,这里的DUMPDUR是区别大小写的,一定要大写

15. 创建待上传文件路径

 mkdir /usr/oracle/dump/dir

16.授权oracle用户权限

chown -R oracle:oinstall /usr/oracle/dump/dir 

17.从宿主机器拷贝dump文件文件到容器

docker cp xxxxxxx.dmp oracle11g: /usr/oracle/dump/dir

18.开始导入数据

impdp easbj75/easbj75 DIRECTORY=EASBJ75DIR DUMPFILE=xxxxx.dmp FULL=y;

开始导入数据了,有不懂的地方欢迎留言。

标签: #esoracle数据导入