第一次发布文章 里面可能还有一些错误 也请大家多多海涵多多交流.. 谢谢大家
里面的部分操作也是我搜索了很多文章 看了很多大佬的解决方法才弄出来的 也请大家包含 谢谢大家
因为本人对oracle不太熟 也是因为公司业务要求要导入dmp文件 所以只了解了一些片面的 内部有一些重复的操作我也不太知道怎么解决 只知道这么做能把文件导进去.....
首先从安装开始说把.... 安装开始就 问题不断....
安装文献 : https://blog.csdn.net/Alex_81D/article/details/123995878 直接照着弄即可 一步也不要落下!记住!很重要!切忌一字一行! (PS:我一开始一句一行 然后报错 研究了一个小时... 后来发现漏了一句... )
其次 我们尽量全程使用oracle这个用户进行操作 密码为 helowin
记得 每次启动时 我们都需要初始化表环境
source /etc/profile
如果不重新加载环境变量 就不会进入sql页面进行其他操作 也就是说oracle会抛出错误 这里就不粘贴复制了.
我们需要在docker exec 之前 将文件提前复制进入oracle中 也就是需要在linux界面中就提前复制好
sudo docker cp filename oracle:/home/oracle/filename
复制好后 别着急进行导入 但是得先导入看看这个导入文件的用户名是什么
imp OSM/root@helowin file=/home/oracle/ADDRESS.dmp ignore=y full=y
例如这个 可能会弹出
"ALTER SESSION SET CURRENT_SCHEMA= "MATERIAL""
IMP-00003: ORACLE error 1435 encountered
ORA-01435: user does not exist
IMP-00000: Import terminated unsuccessfully
记住上面这个MATERIAL 我们接下来的操作 都要用到这个名字建立用户以及表空间 便于导入
以下的表空间名称 以及创建用户的名称 都要用到MATERIAL
/*创建表空间*/
create tablespace TABLESPACE_QCJ
/*表空间物理文件名称*/
datafile 'TABLESPACE_QCJ.dbf'
-- 这种方式指定表空间物理文件位置
-- datafile 'F:\APP\QIUCHANGJIN\ORADATA\ORCL\TABLESPACE_QCJ.dbf'
-- 大小 500M,每次 5M 自动增大,最大不限制
size 500M autoextend on next 5M maxsize unlimited;
/* 创建用户*/
create user qiuchangjin
IDENTIFIED BY root --用户密码
default tablespace TABLESPACE_QCJ-- 表空间是上面创建的
temporary tablespace TEMP -- 临时表空间默认 TEMP
profile DEFAULT;
--password expire;
/*密码过期需要重设密码,意思是当你用这个新建立的密码过期用户首次登录后,系统会提示你重新输入新密码,不然会拒绝你登陆,重设新密码后就可以登录,该用户的密码就是你新设的密码,相当于首次登录修改密码这样的选项。*/
基于权限需要进入到sql中给予 这里进入代码为:
sqlplus /nolog
进入以后 别急 还有一步 你还没连接呢 如果你急着给权限 就会报出一个错误:
此时需要连接 这就提到了 为什么需要用oracle进行操作 当使用root进行操作时 会报错 说权限不足的错误 非常头疼 这个错误我研究了很长时间 直到我换了个用户 神奇的发现 欸! 连上了! 焯!
用此代码进行连接:
conn sys/as sysdba
输入后提示输入密码 直接输入 helowin 即可
此时弹出成功 进行下一步
然后 给予该用户权限 如果不给予权限 ORACLE会进行报错,虽然不知道哪个是具体的权限 反正都给了 也没毛病 user指上面所创建的用户
grant imp_full_database,session,resource to user
给予权限后 我们终于 历经前辛万难 终于可以导入了
欸! 还别急 记得退出sql页面 因为imp其实是个工具 在sql界面会报出错误 没有该命令
直接 exit 退出到 exec界面
然后输入
imp OSM/root@helowin file=/home/oracle/ADDRESS.dmp ignore=y full=y
上苍啊! 成功啦!
等会 好像又没成功 莫名其妙弹出了很多个用户和什么东西 别急 然后我有点急了 nn的 这么长时间下来 还报错! 我又把导入的代码重输入了一遍.. 然后 成功了....
一遍遍的血与泪啊.... 碰到一堆鸟错误...... 好在最后是成功了