oracle怎么导入sql文件,怎么把sql文件导入oracle中
大家好,今天来为大家分享oracle怎么导入sql文件的一些知识点,和怎么把sql文件导入oracle中的问题解析,大家要是都明白,那么可以忽略,如果不太清楚的话可以看看本篇文章,相信很大概率可以解决您的问题,接下来我们就一起来看看吧!
oracle怎样sql文件导入数据库中
导出
导出具体的分为:导出表,导出方案,导出数据库三种方式。
导出使用exp命令来完成的,该命令常用的选项有:
userid:用于指定执行导出操作的用户名,口令,连接字符串
tables:用于指定执行导出操作的表
owner:用于指定执行导出操作的方案
full=y:用于指定执行导出操作的数据库
inctype:用于指定执行导出操作的增量类型
rows:用于指定执行导出操作是否要导出表中的数据
file:用于指定导出文件名
Oracle笔记
23
导出表
1.导出自己的表
exp userid=scott/tiger@myoral tables=(emp,dept) file=d:\e1.dmp
2.导出其它方案的表
如果用户要导出其它方案的表,则需要dba的权限或是exp_full_database的权限,比如system就可以导出scott的表
E:\oracle\ora92\bin>exp userid=system/manager@myoral tables=(scott.emp) file=d:\e2.emp
特别说明:在导入和导出的时候,要到oracle目录的bin目录下。
3.导出表的结构
exp userid=scott/tiger@accp tables=(emp) file=d:\e3.dmp rows=n
4.使用直接导出方式
exp userid=scott/tiger@accp tables=(emp) file=d:\e4.dmp direct=y
这种方式比默认的常规方式速度要快,当数据量大时,可以考虑使用这样的方法。
这时需要数据库的字符集要与客户端字符集完全一致,否则会报错...
导出方案
导出方案是指使用export工具导出一个方案或是多个方案中的所有对象(表,索引,约束...)和数据。并存放到文件中。
1.导出自己的方案
exp userid=scott/tiger@myorcl owner=scott file=d:\scott.dmp
2.导出其它方案
如果用户要导出其它方案,则需要dba的权限或是exp_full_database的权限,比如system用户就可以导出任何方案
exp userid=system/manager@myorcl owner=(system,scott) file=d:\system.dmp
导出数据库
导出数据库是指利用export导出所有数据库中的对象及数据,要求该用户具有dba的权限或者是exp_full_database权限
增量备份(好处是第一次备份后,第二次备份就快很多了)
exp userid=system/manager@myorcl full=y inctype=complete file=d:\all.dmp
导入
介绍
导入就是使用工具import将文件中的对象和数据导入到数据库中,但是导入要使用的文件必须是export所导出的文件。与导
出相似,导入也分为导入表,导入方案,导入数据库三种方式。
imp常用的选项有
userid:用于指定执行导入操作的用户名,口令,连接字符串
tables:用于指定执行导入操作的表
formuser:用于指定源用户
touser:用于指定目标用户
file:用于指定导入文件名
full=y:用于指定执行导入整个文件
inctype:用于指定执行导入操作的增量类型
rows:指定是否要导入表行(数据)
ignore:如果表存在,则只导入数据
导入表
1.导入自己的表
imp userid=scott/tiger@myorcl tables=(emp) file=d:\xx.dmp
2.导入表到其它用户
要求该用户具有dba的权限,或是imp_full_database
imp userid=system/tiger@myorcl tables=(emp) file=d:\xx.dmp touser=scott
3.导入表的结构
Oracle笔记
24
只导入表的结构而不导入数据
imp userid=scott/tiger@myorcl tables=(emp) file=d:\xx.dmp rows=n
4.导入数据
如果对象(如比表)已经存在可以只导入表的数据
imp userid=scott/tiger@myorcl tables=(emp) file=d:\xx.dmp ignore=y
导入方案
导入方案是指使用import工具将文件中的对象和数据导入到一个或是多个方案中。如果要导入其它方案,要求该用户具有dba
的权限,或者imp_full_database
1.导入自身的方案
imp userid=scott/tiger file=d:\xxx.dmp
2.导入其它方案
要求该用户具有dba的权限
imp userid=system/manager file=d:\xxx.dmp fromuser=system touser=scott
导入数据库
在默认情况下,当导入数据库时,会导入所有对象结构和数据,案例如下:
imp userid=system/manager full=y file=d:\xxx.dmp
怎么把sql文件导入oracle中
你如果用SQLloader导外部数据:
1、你的SQL文件应该是指数据文件,可以是用分隔符或者定长区别字段的数据;
2、你必须先在ORACLE中创建你要导入的目标表chinaMap;
3、你在控制文件中必须定义好chinaMap和导入数据文件字段对于的chinaMap字段,数据文件字段顺序必须和你在控制文件中定义chinaMap字段顺序一致。
4、SQLloader和数据库的链接是走sqlnet定义的服务名的,只要你sqlplus可以访问数据库就可以。
oracle导入sql文件
1.获取帮助
imp help=y
2.导入一个完整数据库
imp system/manager file=bible_db log=dible_db full=y ignore=y
3.导入一个或一组指定用户所属的全部表、索引和其他对象
imp system/manager file=seapark log=seapark fromuser=seapark
imp system/manager file=seapark log=seapark fromuser=(seapark,amy,amyc,harold)
4.将一个用户所属的数据导入另一个用户
imp system/manager file=tank log=tank fromuser=seapark touser=seapark_copy
imp system/manager file=tank log=tank fromuser=(seapark,amy)
touser=(seapark1, amy1)
5.导入一个表
imp system/manager file=tank log=tank fromuser=seapark TABLES=(a,b)
6.从多个文件导入
imp system/manager file=(paycheck_1,paycheck_2,paycheck_3,paycheck_4)
log=paycheck, filesize=1G full=y
7.使用参数文件
imp system/manager parfile=bible_tables.par
bible_tables.par参数文件:
#Import the sample tables used for the Oracle8i Database Administrator's
Bible. fromuser=seapark touser=seapark_copy file=seapark log=seapark_import
8.增量导入
imp system./manager inctype= RECTORE FULL=Y FILE=A
-------------------------------------------------------------------------------------------------------------------------------------------
1.获取帮助
exp help=y
2.导出一个完整数据库
exp system/manager file=bible_db log=dible_db full=y
3.导出数据库定义而不导出数据
exp system/manager file=bible_db log=dible_db full=y rows=n
4.导出一个或一组指定用户所属的全部表、索引和其他对象
exp system/manager file=seapark log=seapark owner=seapark
exp system/manager file=seapark log=seapark owner=(seapark,amy,amyc,harold)
注意:在导出用户时,尽管已经得到了这个用户的所有对象,但是还是不能得到这些对象引用的任何同义词。解决方法是用以下的SQL*Plus命令创建一个脚本文件,运行这个脚本文件可以获得一个重建seapark所属对象的全部公共同义词的可执行脚本,然后在目标数据库上运行该脚本就可重建同义词了。
SET LINESIZE 132
SET PAGESIZE 0
SET TRIMSPOOL ON
SPOOL c:\seapark.syn
SELECT'Create public synonym'||synonym_name
||' for'||table_owner||'.'||table_name||';'
FROM dba_synonyms
WHERE table_owner='SEAPARK' AND owner='PUBLIC';
SPOOL OFF
5.导出一个或多个指定表
exp seapark/seapark file=tank log=tank tables=tank
exp system/manager file=tank log=tank tables=seapark.tank
exp system/manager file=tank log=tank tables=(seapark.tank,amy.artist)
6.估计导出文件的大小
全部表总字节数:
SELECT sum(bytes)
FROM dba_segments
WHERE segment_type='TABLE';
seapark用户所属表的总字节数:
SELECT sum(bytes)
FROM dba_segments
WHERE owner='SEAPARK'
AND segment_type='TABLE';
seapark用户下的aquatic_animal表的字节数:
SELECT sum(bytes)
FROM dba_segments
WHERE owner='SEAPARK'
AND segment_type='TABLE'
AND segment_name='AQUATIC_ANIMAL';
7.导出表数据的子集(oracle8i以上)
NT系统:
exp system/manager query='Where salad_type='FRUIT'' tables=amy.salad_type
file=fruit log=fruit
UNIX系统:
exp system/manager query=\"Where salad_type=\'FRUIT\'\" tables=amy.salad_type
file=fruit log=fruit
8.用多个文件分割一个导出文件
exp system/manager
file=(paycheck_1,paycheck_2,paycheck_3,paycheck_4)
log=paycheck, filesize=1G tables=hr.paycheck
9.使用参数文件
exp system/manager parfile=bible_tables.par
bible_tables.par参数文件:
#Export the sample tables used for the Oracle8i Database Administrator's Bible.
file=bible_tables
log=bible_tables
tables=(
amy.artist
amy.books
seapark.checkup
seapark.items
)
10.增量导出
“完全”增量导出(complete),即备份整个数据库
exp system/manager inctype=complete file=990702.dmp
“增量型”增量导出(incremental),即备份上一次备份后改变的数据
exp system/manager inctype=incremental file=990702.dmp
“累计型”增量导出(cumulative),即备份上一次“完全”导出之后改变的数据
exp system/manager inctype=cumulative file=990702.dmp
imp boss/boss@scott file=jkluio.dmp log=jkluio.log fromuser=boss touser=boss commit=y;
exp boss/123qwe!@CBGLDB file=boss.dmp log=boss.log owner=boss;