2016 - 2024

感恩一路有你

oracle数据库把数据导出的命令 LINUX下Oracle数据导入导出的方法详解?

浏览量:4490 时间:2023-04-01 14:17:43 作者:采采

LINUX下Oracle数据导入导出的方法详解?

在“运行”里打开cmd

2

输入命令:sqlplussystem/

其中system是登录数据库的用户名

123456是用户名的密码

orcl是数据库实例名称

3

如果提示命令无效,那就是你没有配置好oracle的环境变量(想当年我也被这个问题困扰着),配置oracle环境变量的方法如下:

1、右击“我的电脑”-gt选择“属性”-gt选择“高级”-gt单击“环境变量”2、选择“path”这一行,单击“编辑”,在“path”的变量值文本框的最后面先加入一个分号“:”,然后再分号后面加入sqlplus文件的目录路径,如“c:programfilesoracleproduct10.2.0db_1in”,然后点击“确定”按钮。3、如果在“系统变量”列表框下面的“变量”列中找不到“oracle_home”和“oracle_sid”这两个变量,则需要下面操作,否则无需一下操作。4、在“系统变量”中点击“新建”按钮,在“变量名”中输入“oracle_home”,变量值中输入oracle的安装目录路径,如“c:programfilesoracleproduct10.2.0db_1”,然后点击“确定”按钮。5、在“系统变量”中点击“新建”按钮,在“变量名”中输入“oracle_sid”,变量值中输入数据库的实例名,然后点击“确定”按钮。

oracle_home:oracle数据库软件的安装目录oracle_sid:oracle数据库的实例名oracle数据库实例名:用于和操作系统进行联系的标识,即数据库和操作系统之间的交换是通过数据库实例名来体现的。

end

第二步,expdp备份命令

1

创建oracle的备份目录:

sqlgtcreatedirectorydpdata1asd:tempdmp

这仅仅是在oracle里设定的目录,并没有真正创建

2

可以通过这句命令查看到这个目录

sqlgtselect*fromdba_directories

3

赋于要导出数据表的所属用户权限

sqlgtgrantread,writeondirectorydpdata1tosshe

4

好了,到了关键一步,之前走了不少弯路,但其它是小问题,在网上零零碎碎查了很多资料,终于找到原因。

首先,要切换回命令窗口,不要再在sqlgt下运行,然后输入命令:

expdpsystem/123456@

5

上面报了一个错ora-39002:操作无效

原因是d:tempdmp这个目录不存在,别以为createdirectory之后就会自动生成文件夹,也别以为执行expdp后会自动生成文件夹,要自己手动新建这个目录文件夹的。新建文件夹后再试一下,果然成功了!恭喜你,已成功备份!

6

如果你要问,导出来的dmp文件怎样还原回去。好吧,做人做到底,为了省去你再找方法的麻烦,这里我也做一个演示(一般备份的数据是等到数据库有问题时才用的上)。

首先,再一次登录数据库sqlplussystem/

然后,删除目标数据库用户dropusersshecascade

7

现在来再一次创建用户,可以用命令创建,也可以在plsql里创建,这里在plsql创建。

用system登录数据库,然后右键users--新建

然后填写你的账号名称,必须和备份时的用户一致,并赋于相应的权限

最后点击应用,完成用户创建。

8

返回dos命令窗口,不再是sqlgt

输入导入命令:impdpsystem/123456@

导入成功!

end

步骤3定时执行备份任务

做一个按年月日命名的批处理。在d:temp目录下新建一个文件,随便命名为.bat,我的命名为,编辑为如下代码

-------------------------------------------------------------------------

@echooffremsetbackupfilef_database_te:~0,4%-te:~5,2%-te:~8,2%.dmpremsetlogfilef_database_te:~0,4%-te:~5,2%-te:~8,2%.logremdelete30daysfilesforfiles/p

oracle怎么样只导出表结构而不导出表数据?

用exp命令导出表结构,不导出表数据。只需在命令行里加一个参数rowsn即可。表示不导出表数据。expusername/(user)rowsn

命令 数据库 目录 oracle 备份

版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。