本文共 3807 字,大约阅读时间需要 12 分钟。
一. 导入/导出命令参数(imp/exp)
1.userid 指定执行导入导出操作的数据库用户,这个参数名称可以省略。例:userid=scott/tiger 2.file 指定导出所产生的文件,导入时要读这个文件。例:(file= d:/myoracle/dept.exp) 3.tables 指定要导入导出的表 例:tables=(dept,emp) 4.owner 指定要导出的用户 例:owner=(system,sys) 5.full 指定是否要对整个数据库进行导入导出。例:full=y 6.grants 指定是否导出表上的权限。例:grants=y 7.rows 指定是否只导入导出表的结构和表上的对象,而不导入导出表中的数据。例:rows=y 8.log 导入导出时日志要写入的文件的名字 9.indexes 是否要导入导出表上的索引 例:indexes=y 10.compress 导出是否应该压缩有碎片的段成一个范围,这将会影响storage子句.导入大表(大于80m)时, 存储分配失败,默认的exp时,compress = y,也就是把所有的数据压缩在一个数据块上.导入时, 如果不存在连续一个大数据块,
则会导入失败.导出80m以上的大表时, 记得compress= n, 则不会引起这种错误.
以下为imp命令自有的参数 1.show 规定文件内容是否被显示,而不是被执行,可以查看文件中包含的sql语句 例:show=y 2.ignore 标明在执行‘create’命令时,是否忽略遇到的错误。如果正在导入的对象已经存在时, 应使用这个参数 例:ignore=y 3.fromuser 在full=n的情况下,才有参数。它是一系列的数据库帐号,其对象应从导出转储文件中读取。 例:fromuser=system 4.touser 一系列数据库帐号,导出转储文件中的对象将要导入这些帐号 例:touser=system 5.注意点:imp可以成功导入低版本exp生成的文件, 不能导入高版本exp生成的文件
二. 用户表的导入导出
1.导出表(多个表加上括号用逗号隔开) exp clq/clq file=d:/myoracle/dept.exp tables=dept 2.导入表(从自己导出中导入) imp clq/clq file=d:/myoracle/dept.exp tables=dept 3.导入表(从其它用户导出的进行导入) imp system/manage file=d:/myoracle/dept.exp tables=dept fromuser=clq
三.用户模式的导入导出(含所有对象,表,索引,存储过程)
1.导出用户 exp file=d:/myoracle/clq.exp owner=clq grants=y rows=y 2.导入用户 imp file=d:/myoracle/clq.exp fromuser=clq touser=clq
四、数据库的导入导出
1.数据库的导出,将除sys用户所拥有的对象之外的其他数据库对象全部导出 exp full=y file=d:/myoracle/database.exp grants=y rows=y 2.数据库的导入(主要用于不同版本,不同操作系统下的数据库之间移植数据) imp full=y file=d:/myoracle/database.exp ignore=y
五.表空间的导入导出 1表空间的导出
(1)将表空间置为只读 alter tablespace myspace read only; (2)利用exp导出表空间的结构信息到元数据文件中,不导出表数据, transport_tablespace参数设置是否导出表空间的元数据 exp 'system/manage as sysdba' file=d:/myoracle/tablespace.exp transport_tablespace=y tablespaces=myspace (3)将表空间置为可写 alter tablespace myspace read write; (4)将表空间的数据文件和元数据文件复制到目标数据库所在的系统中。
2.表空间的导入,导入时要求数据库具有相同的字符集,在目标数据库中不能有同名的表空间
(1)利用imp命令将表空间导入到目标数据库(datafiles 指定表空间的数据文件)
imp 'system/manage as sysdba' file=d:/myoracle/tablespace.exp transport_tablespace=y datafiles=(/home/oracle/mytablespace.dbf)
六.表空间的创建与删除
1.表空间的创建 create tablespace myspace datafile 'c:\app\clq\oradata\orcl\myspace.dbf' size 100 m autoextend on next 10 m maxsize unlimited minimum extent 512 k default storage( initial 512 k next 512 k minextents 1 maxextents unlimited pctincrease 0 ) online permanent; (1)tablespace 指出表空间的名称 (2)datafile: 表空间数据文件存放路径 (3)size: 起初设置为100m (4)autoextend表明是否自动扩展. off | on 表示自动扩展是否被关闭. next 表示数据文件满了以后,扩展的大小. (5)mininum extent integer [k|m] 指出在表空间中范围的最小值。这个参数可以减小空间碎片,保证在表空间的范围是这个数值的整数倍。 (6)default storage_clause 声明缺省的存储子句。 (7)online|offline 改变表空间的状态。online使表空间创建后立即有效.这是缺省值. offline使表空间创建后无效,这个值,可以从dba_tablespace中得到。 (8)permanent|temporary 指出表空间的属性,是永久表空间还是临时表空间。永久表空间存放的是永久对象, 临时表空间存放的是session生命期中存在的临时对象 2.临时表空间的创建 临时表空间用于存储临时数据,当用户执行排序,创建索引这样的操作时,将产生大量的中间结果, 这些临时数据首先存储在pga的排序区中。当排序区的大小不足以容纳这些数据时,将用到临时表空间。 如果没有为用户指定临时表空间,那么用户在执行排序操作时将把 system表空间作为临时表空间,并在system表空间中创建临时段,以存储临时数据。 这样在system表空间中将产生大量的存储空间碎片,从而降低数据库性能。 create temporary tablespace mytempspace tempfile 'c:\app\clq\oradata\orcl \mytempspace.dbf' size 200m autoextend on next 50m maxsize 1024m extent management local; 3.表空间的删除 drop tablespace mysapce including contents and datafiles
七.用户的创建与删除
1.用户的创建 create user clq identified by clq default tablespace myspace temporary tablespace mytempspace quota unlimited on myspace;(1)user指定用户名,identified by指定口令。
(2)default tablespace,为用户指定默认表空间 (3)temporary tablespace为用户指定默认临时表空间 (4)quota为用户在表空间上指定空间配额,unlimited 为无限制。 2.为用户赋予权限,用户刚创建完没有任何权限,需给用户赋于相关权限 grant connect to clq; grant exp_full_database to clq; grant imp_full_database to clq; grant resource to clq;
3.撤消权限,基本语法同grant,关键字为revoke
4.查看权限
select * from user_sys_privs;//查看当前用户所有权限
select * from user_tab_privs;//查看所用用户对表的权限
5.删除用户,如果一个用户的模式中包含一些数据库对象,那么这个用户不能被直接删除,如果要强制删除该用户,可以在命令中加上cascade选项。
drop user clq; drop user clq cascade;转载地址:http://muxmb.baihongyu.com/