oracle作业导出excel,电子表格Oracle 导出
1. Oracle 导出
1、首先登录到数据库中,点击右上角有个工具栏,点击工具栏上的tools。
2、选择导出用户对象,点击tools工具之后,向下查找Export User Objects功能,通过这个功能导出数据。
3、选择需要导出的表或者序列或者存储过程等。在Type列中展示的是对象属性,表、序列和存储过程等。这里要选择存储过程或者序列。
4、选择多个导出的对象。按住ctrl键进行多选导出的对象。点击Output File输出文件路径,选择文件路径输入文件名称,后缀是sql。如果后缀是sql,则是一些数据库语句,可以直接在其他应用上执行,
5、开始导出数据脚本。点击Export按钮,开始对选中的对象进行导出成数据脚本。出的时候需要选择一个目录。
6、查看导出文件。导出完成后,双击打开导出后的文件,就可以看到是一些建表存储过程等脚本。查看导出文件就可以看到是具体的脚本语言。
2. oracle全库导出
首先按full方式做exp导出(为了加快速度可以设置rows=no),然后做imp导入这里注意设置个indexfile=xxx.txt 参数这样就能将你创建所有对象的脚本输出到xxx.txt文件里了。
当然了你可以使用工具如:toad,会有导出script的选项更方便点。
3. 导出语句oracle
用spool可以导出成excel的csv文件,至于第二个问题,似乎不能实现,数据库能强大成按字段内容分工作表显示,这个要求是不是对数据库来说太高了呀。
4. oracle文件导出
1、首先登录到数据库中,点击右上角有个工具栏,点击工具栏上的tools。
3、选择需要导出的表或者序列或者存储过程等。在Type列中展示的是对象属性,表、序列和存储过程等。这里要选择存储过程或者序列。
4、选择多个导出的对象。按住ctrl键进行多选导出的对象。
点击Output File输出文件路径,选择文件路径输入文件名称,后缀是sql。如果后缀是sql,则是一些数据库语句,可以直接在其他应用上执行,5、开始导出数据脚本。
点击Export按钮,开始对选中的对象进行导出成数据脚本。出的时候需要选择一个目录。
6、查看导出文件。
导出完成后,双击打开导出后的文件,就可以看到是一些建表存储过程等脚本。查看导出文件就可以看到是具体的脚本语言。
5. 导出oracle数据库
我就忽略你为什么要导出这么多的数据,我也这么干过,可能没这么多数据量而已。
这当然要用Oracle第一开发工具:PLSQL Developer,目前最新版是12.0.6,SQL窗口查询时就提供了将结果导出为Excel,当然你要导出一百万就需要选择导出为XLSX格式,使用很简单,就是一个按钮选择即可,不多说,自己看。PS:根据数据大小可能会耗时很长,耐心等
6. oracle的导入导出
打开开始菜单中的运行打开以后,在运行框中输入CMD,点击确定 运行以下命令:
sqlplus system/密码 2 创建数据导出目录expnc_dir为目录名,'E:\ncdatabak'为数据库实际目录,命令如下:
create directory expnc_dir as 'E:\ncdatabak'
;为oracle用户授予访问数据目录的权限,命令如下:
Grant read,write on directory expnc_dir to dxzyjt;6执行数据泵出命令,注意一定要在Cmd下执行,不能登录sqlplus后执行。expdp dxzyjt/dxzyjt@ncdata_192.168.1.224 directory=expnc_dir dumpfile=ncdatabak.dmp schemas=dxzyjt logfile=ncdatabak.log;备份界面如下:
7. oracle数据如何导出
如果是oracle sql developer的话,在查询结果哪儿,用右键,可以导出成excel的。
如果用pl/sql developer、toad之类的,也可以将查询结果导出成excel
pl/sql developer还可以直接copy查询结果,到excel中粘贴。
如果用navicat for oracle,可以使用导出的方法。
8. oracle 数据导出
在“运行”里打开cmd
2
输入命令:sqlplussystem/123456@orcl
其中system是登录数据库的用户名
123456是用户名的密码
orcl是数据库实例名称
3
如果提示命令无效,那就是你没有配置好oracle的环境变量(想当年我也被这个问题困扰着),配置oracle环境变量的方法如下:
1、右击“我的电脑”->选择“属性”->选择“高级”->单击“环境变量”2、选择“path”这一行,单击“编辑”,在“path”的变量值文本框的最后面先加入一个分号“:”,然后再分号后面加入sqlplus文件的目录路径,如“c:\programfiles\oracle\product\10.2.0\db_1\bin”,然后点击“确定”按钮。3、如果在“系统变量”列表框下面的“变量”列中找不到“oracle_home”和“oracle_sid”这两个变量,则需要下面操作,否则无需一下操作。4、在“系统变量”中点击“新建”按钮,在“变量名”中输入“oracle_home”,变量值中输入oracle的安装目录路径,如“c:\programfiles\oracle\product\10.2.0\db_1”,然后点击“确定”按钮。5、在“系统变量”中点击“新建”按钮,在“变量名”中输入“oracle_sid”,变量值中输入数据库的实例名,然后点击“确定”按钮。
oracle_home:oracle数据库软件的安装目录oracle_sid:oracle数据库的实例名oracle数据库实例名:用于和操作系统进行联系的标识,即数据库和操作系统之间的交换是通过数据库实例名来体现的。
end
第二步,expdp备份命令
1
创建oracle的备份目录:
sql>createdirectorydpdata1as'd:\temp\dmp';
这仅仅是在oracle里设定的目录,并没有真正创建
2
可以通过这句命令查看到这个目录
sql>select*fromdba_directories;
3
赋于要导出数据表的所属用户权限
sql>grantread,writeondirectorydpdata1tosshe;
4
好了,到了关键一步,之前走了不少弯路,但其它是小问题,在网上零零碎碎查了很多资料,终于找到原因。
首先,要切换回命令窗口,不要再在sql>下运行,然后输入命令:
expdpsystem/123456@orcldirectory=dpdata1dumpfile=sshe.dmplogfile=sshe.logschemas=sshe
5
上面报了一个错ora-39002:操作无效
原因是d:\temp\dmp这个目录不存在,别以为createdirectory之后就会自动生成文件夹,也别以为执行expdp后会自动生成文件夹,要自己手动新建这个目录文件夹的。新建文件夹后再试一下,果然成功了!恭喜你,已成功备份!
6
如果你要问,导出来的dmp文件怎样还原回去。好吧,做人做到底,为了省去你再找方法的麻烦,这里我也做一个演示(一般备份的数据是等到数据库有问题时才用的上)。
首先,再一次登录数据库sqlplussystem/123456@orcl
然后,删除目标数据库用户dropusersshecascade;
7
现在来再一次创建用户,可以用命令创建,也可以在plsql里创建,这里在plsql创建。
用system登录数据库,然后右键users--新建
然后填写你的账号名称,必须和备份时的用户一致,并赋于相应的权限
最后点击应用,完成用户创建。
8
返回dos命令窗口,不再是sql>
输入导入命令:impdpsystem/123456@orcldirectory=dpdata1dumpfile=sshe.dmplogfile=sshe.logschemas=sshe
导入成功!
end
步骤3定时执行备份任务
做一个按年月日命名的批处理。在d:\temp\目录下新建一个文件,随便命名为.bat,我的命名为sshe.bat,编辑为如下代码
-------------------------------------------------------------------------
@echooffremsetbackupfile=f_database_%date:~0,4%-%date:~5,2%-%date:~8,2%.dmpremsetlogfile=f_database_%date:~0,4%-%date:~5,2%-%date:~8,2%.logremdelete30daysfilesforfiles/p"d:\temp\dmp"/d-30/c"cmd/cechodeleting@file...&&del/f@path"cdd:\temp\dmp
rembackupschemassetbackupfile=sshe_%date:~0,4%-%date:~5,2%-%date:~8,2%.dmpsetlogfile=sshe_%date:~0,4%-%date:~5,2%-%date:~8,2%.logexpdpsshe/sshedirectory=dir_dpdumpfile=%backupfile%logfile=%logfile%schemas=ssheparallel=4
-------------------------------------------------------------------------------
可以试执行一下,会自动生成一个以年月日命名的备份文件
forfiles/p"d:\temp\dmp"/d-30/c"cmd/cechodeleting@file...&&del/f@path"的作用是:删除本目录下30天以后的备份文件,这个挺有用的。
做一个windows每晚自动运行数据库备份的bat,我的命名为auto.bat编辑如下内容
------------------------------------------------------------------------------
@echooffschtasks/create/tnsshe数据库定时备份/tr"d:\temp\sshe_bak.bat"/scdaily/st00:00:00/ru"system"pauseexit
------------------------------------------------------------------------------
双击auto.bat,就会在windows添加一个定时任务,每晚0点0分就会自动执行一次sshe.bat,从而完成自动备份的目的。
右键我的电脑:管理——任务计划程序——任务计划程序库,可以看到刚才添加进去的定时任务
5
可以将电脑的时钟设为23点59分50秒,等待10秒钟,看看自动备份能否成功。如果成功那就大功告成了!!
9. oracle导出库
Oracle导出程序Exp的使用具体过程
Oracle的导出实用程序(Export utility)允许从数据库提取数据,并且将数据写入操作系统文件。exp使用的基本格式:exp[username[/password[@service]]],以下例举exp常用用法。
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