pl / sql导出表dmp文件并导入进程
本文将演示如何通过plsql客户端工具以dmp文件的格式导出和导入Oracle中的表.
dmp导出
步骤如下:
1. 打开plsql并登录,然后单击工具->导出表
2. 在打开的窗口中选择要导出的表并输出文件. 在此处指定导出的dmp文件的路径和文件名
3. 点击导出
dmp的导入
步骤如下:
1. 打开plsql并登录,单击工具->导入表
打开plsql并登录,单击工具->导出表
2. 在打开的窗口中,导入文件,然后选择dmp文件所在的路径和文件
3. 点击导入
场景:
在有dmp文件且表的表空间名称未知的情况下,有两种解决方案:
1. 使用编辑器打开dmp文件,搜索关键字“ TABLESPACE”以找到所有表的表空间,然后将其替换为自定义表空间. 然后通过plsql将dmp文件导入Oracle.
(此方法仅在文件内容较小且表的表空间已修改,可能会产生不可预期的影响时适用)
2. 在不知道表空间名称的情况下,dmp文件通过plsql直接导入到Oracle中. 在导入过程中,可能会产生很多错误,这些错误会暂时被忽略. 执行导入程序后,我们直接在plsql导入窗口中单击log选项plsql备份步骤,以在导入过程中查看日志信息. 这时,我们可以通过日志提示的错误信息获取某些表最初所属的表空间的名称或其他重要信息.
(小编遇到的情况是我不知道dmp文件中包含的表的表空间名称. 在首次导入dmp文件失败后,我可以在中找到该表的所有表空间通过检查日志属于,然后逐个创建这些表空间,然后清空并再次重新导入它,这时它已成功注意: 对于导出dmp文件的用户,与用户导入时,无论如何我都不会受到影响,如果它们可以相同会更好)
以下是与创建和授权用户,设置表空间等有关的SQL语句:
-创建oracle用户
创建由123456标识的用户xue;
(“ xue”是用户名,“ 123456”是用户密码)
-为新用户授予角色权限
将dba授予xue;
(为方便起见,直接向新创建的用户授予dba角色权限)
-将oracle帐户密码设置为永不过期
-1.检查用户的配置文件,通常是默认设置:
选择用户名,来自dba_users的;
-2.查看指定配置文件的密码有效期设置(例如默认值):
选择*从dba_profiles的s.profile ='DEFAULT'AND resource_name ='PASSWORD_LIFE_TIME';
-3.将密码有效期从默认的180天更改为“无限”:
更改默认限制PASSWORD_LIFE_TIME不受限制;
(前三个步骤已解决,第四步则没有必要)
-4.修改后,未被ORA-28002警告的用户将不会再次遇到相同的提示;
-被提示的用户必须再次更改密码plsql备份步骤,例如:
$ sqlplus /作为sysdba
sql>更改由123456标识的用户xue;
(新创建的用户的默认帐户密码有效期为180天,为避免日后失效,直接将其设置为永久不过期)
-1.创建一个表空间
创建表空间XUESPACE数据文件'C: \ Java \ oracle_tablespace \ XUESPACE.dbf'的大小100m重用会在下一个10m处自动扩展,最大大小不受限制;
(“ XUESPACE”是新创建的表空间的名称,“ C: \ Java \ oracle_tablespace \ XUESPACE.dbf”是与该表空间相对应的文件的路径和文件名,其他与表空间大小有关的设置,暂时可以忽略)
-2.创建用户,指定表空间和临时表空间
创建由123456个默认表空间XUESPACE临时表空间temp标识的用户xue;
(“ XUESPACE”是用户“ xue”指定的表空间,“ temp”是其临时表空间)
-3.查看当前用户的默认表空间,临时表空间
从user_users中选择*;
(username是当前用户名;
default_tablespace是当前用户的默认表空间;
temporary_tablespace是当前用户的默认临时表空间)
-4.修改用户的默认表空间
更改用户xue默认表空间spaceX;
(将用户“ xue”的默认表空间更改为“ spaceX”)
-查看一个表空间中有多少张表
从all_tables中选择*,其中tablespace_name ='spaceX';
(“ spaceX”是表空间的名称,这里需要注意表空间名称的大小写,例如“ USERS”必须大写以查询数据)
-查看与用户关联的所有表空间以及每个表空间中的表数
从all_tables中选择tablespace_name,count(*),其中owner ='XUE'按tablespace_name分组;
-Oracle如何查询与表空间相对应的文件所在的路径
从dba_data_files中选择*,其中tablespace_name ='USERS';
(“ USERS”是表空间名称)
答:详情>>