Oracle导入dmp文件
0.下载及安装
1)下载Oracle数据库软件:
网址:https://www.oracle.com/database/technologies/
2)安装客户端PLSQLDeveloper
软件下载:https://www.wmzhe.com/soft-31346.html
**:
product code: 4vkjwhfeh3ufnqnmpr9brvcuyujrx3n3le
serial Number:226959
password: xs374ca
3)Oracle的完全卸载:
(1)停用oracle服务:进入计算机管理,在服务中,找到oracle开头的所有服务,右击选择停止。
(2)在开始菜单中,找到Universal Installer,运行Oracle Universal Installer,单击卸载产品。
(3)在产品清单窗口中,单击全部展开,除了OraDb11g_home1外,勾选其他项目,单击删除。
(4)按Windows徽标键和R键,打开运行窗口,输入regedit,打开注册表,依次展开HKEY_LOCAL_MACHINE\SOFTWARE,找到oracle,删除之
(5)依次展开HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services中,删除所有oracle开头的项。
(6)依次展开HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Eventlog\Application,删除所有oracle开头的项;在HKEY_CLASSES_ROOT,删除以ora开头的项。
(7)重启电脑,删除oracle目录,删除Oracle的安装目录app等。这样就卸载完毕了。
1.创建用户和表空间
在SQL PLUS中输入:
1)登录conn sys/密码 as sysdba
初期可用sys或者system用户名来登录,建议后期创建一个新用户以保存特定表格数据
Q:如果一开始在sql plus中要求输入用户名和密码,而自己并不清楚?
A: win+R,输入cmd打开命令提示符;输入sqlplus/nolog;
然后输入conn/as sysdba;输入alter user system(这是用户名) identified by 密码;
修改成功
2)建立目录create directory Test as 'F:\Test';
创建一个目录,并且要打开此处文件夹目录并在该处新建一个“Test”文件夹
3)创建表空间
create tablespace CRDDTL10_TS
datafile 'F:\Test\CRDDTL10_TS.dbf'
size 2000M autoextend on next 100M maxsize unlimited;
创建表空间“CRDDTL10_TS”,并新建(在上一步新建的文件夹内)一个存储表的文件“CRDDTL10_TS.dbf”,先设置该文件的存储空间为2000MB,如果需要扩容的话每次增加100MB并且没有上限。(实际是有上限的,最大扩容到32GB)
4)创建用户及密码create user 用户名 indentified by 密码 default tablespace CRDDTL10_TS;
设置该用户的默认表空间为“CRDDTL10_TS”
若提示“ORA-65096: 公用用户名或角色名无效”,则要用C##开头的用户名
5)授权用户
grant dba to 用户名;
grant connect,resource to 用户名;
grant create session to 用户名;
grant create any table to 用户名;
2.使用IMP将DMP文件导入Oracle
在命令提示符中(Win+R,然后输入cmd,回车):
1)imp 用户名/密码 file='F:\Test\201204010531.DMP' fromuser=导出时的用户名 touser=用户名 log='F:\Test\log.txt' buffer=5400000 ignore=y
fromuser是将该dmp文件导出的用户名,touser是要将文件导入到该电脑的用户名;
2)出现提示:IMP-00032: SQL 语句超过缓冲区长度
在代码后面加上 buffer=5400000
3)提示“ORA-00959:表空间‘CRDDTL14_TS’不存在”时:
创建‘CRDDTL14_TS’表空间,若再提示其他表空间不存在,继续创建直到不再出现“表空间xxx不存在的提示”
4)出现“IMP-00058:遇到ORACLE错误1659,无法分配超过*的MINEXTENTS(在表空间CRDDTL14_TS中)”错误的解决办法:
表空间扩容(超过32G),在SQLPLUS中输入:
alter tablespace CRDDTL14_TS #要扩容的表空间
add datafile 'F:\Test\CRDDTL141_TS.dbf' size 50M #新建一个文件附加在该表空间上继续存储
autoextend on next 50M maxsize unlimited;
3.检索并导出指定数据:
1)打开PL/SQL Developer,在表空间列表内找到导入的表格后,右击“查询数据”,然后在SQL对话框输入并执行检索(交易日期在20140512到20140518之间的记录):select * from 表名称 t where DTLDATE >= 20140512 and DTLDATE <= 20140518
2)找到以下标识,并选择导出为csv文件,设定名称并导出,
下方会显示运行时间和状态: