⑴ 如何使用dos命令对oracle数据库导入导出
导入导出的东西不同,语法也不太一样的。
导入:
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_
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_ 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
⑵ 我有一个文件夹,里面有几万个文件,请问DOS下,如何实现导出最大的100个文件列表
使用dir命令可以输出从大到小的文件列表,之后就从文件里面取一下。
命令如下:
dir /B /O-S >>output.txt
一个命令的话只能到这个结果(所有文件从大到小排列),如果要取前100个的话,需要写批处理文件。
批处理这样写:
@echo off&setlocal enabledelayedexpansion
dir /B /O-S >>~input.tmp
for /f "delims=" %%i in (~input.tmp) do (
set /a n+=1
if !n! leq 100 echo %%i>>output.txt
)
del ~input.tmp
echo Finished!
pause>nul
⑶ 如何将dos命令的到的东西输出到文本文件中
可以使用
for
/f
["options"]
%variable
in
(file-set)
do
command
[command-parameters]
这个命令的具体用法,在dos中输入
for
/?回车。可以查看。
for
命令可以把它抓回的文字,供dos命令分析,有点复杂。
dir
命令式显示文件以及目录。以及文件和目录的其它附加信息。type可以打开一个文件,然后重定向到一个文本文件,或一个变量中。比如
type
xx.txt>a.txt
type
xx.txt>var(var是在dos中定义的变量)
楼上的举例很好。不过如果楼主想要编写批处理,就是一大堆dos命令的话,最好还是看一下dos相关的书籍。比如"dos命令行在windows中的典型应用"或者在cmd.exe,dos窗口中输入help
/?
回车,查看每一个命令的详解。
⑷ WIN7里如何将dos命令dir的结果输出到文件
点击开始菜单/运行,输入“cmd”(不含引号),进入dos界面之后,先定位到所在磁盘(如输入“D:”后回车)。使用tree命令即可实现这种功能。
命令使用方法
tree[drive:][path] [/F] [/A]>list.txt
解释:/F 显示每个文件夹中文件的名称。
/A 使用 ASCII 字符,而不使用扩展字符。
注意:命令中有空格。
举例:把F盘下down文件夹中的所有文件名建一个文本格式的列表,可以这样:
程序代码
treef:\sysbak J /f /a >list.txt
引用内容
卷 BAK 的文件夹 PATH 列表
卷序列号码为 0000894E 87DF:65E8
F:\sysbak
ghost.exe
SYSXP.GHO
SYSXP001.GHS
复件 SYSXP.GHy
list.txt