docker如何安装oralce11本文就不介绍了,网上有很多,不会的可以去看看。
如果大家对数据库名称、数据库实例、表空间、用户还有点模糊,请用10分钟重新看下他们的定义,在看下面就容易很多。
当启动了oracle容器后,我们如何把别人用expdp命令导出的.dmp文件导入到我们建立的数据库中。在这里我给总结下。
1:先进入oracle容器。
docker exec -it oracle_11g /bin/sh
2:把.dmp文件放到oracle容器中
我自己找的容器中的路径是home/oracle下
建立一个新的文件夹
mkdir aa
给文件夹aa付读写权限
chmod 777 aa
把.dmp文件cp到容器中的/home/oracle/aa文件夹下
docker cp /root/GZJAJ_EXAM_0417.dmp oracle_11g:/home/oracle/aa/GZJAJ_EXAM_0417.dmp
3:进入sqlplus页面
sqlplus / as sysdba;
直接使用这个命令系统会报找不到sqlplus信息
需要配置环境变量
vi /etc/profile 最后加上
export ORACLE_HOME=/home/oracle/app/oracle/product/11.2.0/dbhome_2
export ORACLE_SID=helowin
export PATH=$ORACLE_HOME/bin:PATH
用source命令让配置文件生效
source /etc/profile
再运行sqlplus / as sysdba;
4:创建表空间
CREATE TABLESPACE xxx DATAFILE '/home/oracle/app/oracle/oradata/xxx.ora' SIZE 100m;
5:创建用户
CREATE USER TESTXX IDENTIFIED BY 123456 DEFAULT TABLESPACE xxx QUOTA 100m ON USERS;
6:给用户赋权
GRANT CONNECT,DBA,RESOURCE TO TESTXX;
7:创建目录
create or replace directory aa as '/home/oracle/aa';
8:让用户对目录有操作权限
grant read,write on directory aa to TESTXX;
9:导入.dmp文件
退出sqlplus用exit,然后用impdp命令导入
impdp TESTXX/123456@helowin full=Y directory=aa dumpfile=GZJAJ_EXAM_0417.dmp transform=segment_attributes:n;
10:用工具查看,发现表已经全部导入到数据库中