如何连接远程远程导出oracle数据库库

MySQL导入导出.sql文件及常用命令小结
投稿:whsnow
字体:[ ] 类型:转载 时间:
在MySQL Qurey Brower中直接导入*.sql脚本,是不能一次执行多条sql命令的,下面为大家介绍下MySQL导入导出.sql文件及常用命令
在MySQL Qurey Brower中直接导入*.sql脚本,是不能一次执行多条sql命令的,在mysql中执行sql文件的命令:
mysql& source c:\\test.
另附mysql常用命令:
(一) 连接MYSQL:
格式: mysql -h主机地址 -u用户名 -p用户密码
1、例1:连接到本机上的MYSQL
首先在打开DOS窗口,然后进入mysql安装目录下的bin目录下,例如: D:/mysql/bin,再键入命令mysql -uroot -p,回车后提示你输密码,如果刚安装好MYSQL,超级用户root是没有密码的,故直接回车即可进入到MYSQL中了,MYSQL的提示符是:mysql&
2、例2:连接到远程主机上的MYSQL (远程:IP地址)
假设远程主机的IP为:10.0.0.1,用户名为root,密码为123。则键入以下命令:
mysql -h10.0.0.1 -uroot -p123
(注:u与root可以不用加空格,其它也一样)
3、退出MYSQL命令
exit (回车)
(二) 修改密码:
格式:mysqladmin -u用户名 -p旧密码 password 新密码
1、例1:给root加个密码123。首先在DOS下进入目录C:/mysql/bin,然后键入以下命令:
mysqladmin -uroot -password 123
注:因为开始时root没有密码,所以-p旧密码一项就可以省略了。
2、例2:再将root的密码改为456
mysqladmin -uroot -pab12 password 456
(三) 增加新用户:(注意:和上面不同,下面的因为是MYSQL环境中的命令,所以后面都带一个分号作为命令结束符)
格式:grant select on 数据库.* to 用户名@登录主机 identified by "密码"
例1、增加一个用户test1密码为abc,让他可以在任何主机上登录,并对所有数据库有查询、插入、修改、删除的权限。首先用以root用户连入MYSQL,然后键入以下命令: grant select,insert,update,delete on *.* to test2@localhost identified by "abc";
如果你不想test2有密码,可以再打一个命令将密码消掉。 grant select,insert,update,delete on mydb.* to test2@localhost identified by "";
(四) 显示命令
1、显示数据库列表:
刚开始时才两个数据库:mysql和test。mysql库很重要它里面有MYSQL的系统信息,我们改密码和新增用户,实际上就是用这个库进行操作。
2、显示库中的数据表:
use mysql; //打开库
3、显示数据表的结构:
describe 表名;
create database 库名;
use 库名; create table 表名 (字段设定列表);
6、删库和删表:
drop database 库名; drop table 表名;
7、将表中记录清空:
delete from 表名;
8、显示表中的记录:
select * from 表名;
导出sql脚本
mysqldump -u 用户名 -p 数据库名 & 存放位置
mysqldump -u root -p test & c:/a.sql
导入sql脚本
mysql -u 用户名 -p 数据库名 & 存放位置
mysqljump -u root -p test & c:/a.sql
注意,test数据库必须已经存在
MySQL导出导入命令的用例
1.导出整个数据库
mysqldump -u 用户名 -p 数据库名 & 导出的文件名
mysqldump -u wcnc -p smgp_apps_wcnc & wcnc.sql
2.导出一个表
mysqldump -u 用户名 -p 数据库名表名& 导出的文件名
mysqldump -u wcnc -p smgp_apps_wcnc users& wcnc_users.sql
3.导出一个数据库结构
mysqldump -u wcnc -p -d --add-drop-table smgp_apps_wcnc &d:wcnc_db.sql
-d 没有数据 --add-drop-table 在每个create语句之前增加一个drop table
4.导入数据库
常用source 命令
进入mysql数据库控制台,
如mysql -u root -p
mysql&use 数据库
然后使用source命令,后面参数为脚本文件(如这里用到的.sql)
mysql&source d:wcnc_db.sql
您可能感兴趣的文章:
大家感兴趣的内容
12345678910
最近更新的内容
常用在线小工具《第六章》数据库转移——导入导出、备份还原
所谓数据库的转移,说白了就是把开发使用的数据库服务器上做好的表、数据、存储过程等复制出来,再导入到另一个服务器中。
一般来说方法有三种:
一是利用数据库自己的带参命令exp和imp进行,这种方式古老又低效,但因为其传统又官方,是老DBA彰显水平的必备手段;
二是利用第三方工具借助于数据库本身提供的功能(如Oracle的exp.exe以及imp.exe;SQL Server的Integration Service和“备份/还原”功能)进行图形化界面操作,本质上与第一种方法是一样的,但因为其操作简单方便,莫名其妙的常常被老DBA鄙视;
三是利用第三方工具为用户独创的“脚本输出/脚本执行”功能,也就是将数据库对象的CREATE文输出成SQL文件,然后利用这个SQL文件就可以随时再次创建数据库。这在PL/SQL和Object Browser中都有提供。
本文将以Object Browser为图例对后两种方法进行讲解,因为其中文界面较为简单易懂。最后再简单的交流一下关于DataPump的问题。
那么首先,我们来介绍一下Oracle的导入导出功能。说白了就是数据库对象以二进制文件(.DMP)的形式输出,之后再解析并输入到另一个数据库环境中。
■Oracle导出
1.从菜单进入导出界面
2.在[选择]页中,可以指定导出的对象范围。
全数据库:
数据库上所有用户的所有对象全部导出
用户指定:
指定用户下的所有对象
只导出指定的表,可指定多张表
表空间指定:
指定表空间下的所有对象全部导出
在文件名那一栏里输入要保存的DMP文件的全路径。也可通过浏览选择。目标对象里显示要导出的对象,可选对象里是通过你指定的导出方法列出所有可选的对象。
3.在[选项]里可以设置更多高级选项,这与oracle自身的exp所需要的参数几乎是一样的。
[连接用户ID]可以指定导出时使用的用户。可以指定为当前连接的用户,也可以指定其他用户。指定其他用户的话需要输入那个用户的用户ID和密码。
[Buffer长度]和[记录长度]可设置buffer字节数和record的字节数。
一般可以使用默认的,但如果有些表里有非常多的字段,或者存储了非常大的数据(比如LOB型等),为了避免出错,需要把它调大一些。
[同时导出的数据库对象]可以指定是否同时导出权限,索引,数据,制约。数据库的转移如果只转移表结构而不包含其中数据的话,就将[数据]取消选中。
[增量导出的种类]如下:
&&&&&&&&无:导出所有对象
&&&&&&&&完全:导出所有对象
&&&&&&&&增量:只导出上一次执行导出以来发生变化的对象
&&&&&&&&累计:只导出上一次执行导出以来发生变化的对象,但是在DMP中包含了压缩过的上一次导出的DMP。
[对象的分析]可以设置在导入时生成的统计信息
&&&&&&&&无:不统计
&&&&&&&&估计:只统计一部分的样例。
&&&&&&&&完全:统计
[NLS_LANG]里可以设置导出DMP要使用的字符集编码,不添即为数据库默认。
[扩展空间压缩]选中时,在扩展空间里存储的数据被整合在导出的DMP中
[表的制约]选中时,将会在导出过程中检查数据的一致性
[后台运行]选中时,导出过程将不在界面中体现。
[输出记录]可以指定导出结果的日志保存路径
[使用工具]就是Oracle客户端自带的exp.exe
4,点击[执行]按钮。就执行导出,在[结果日志]里会显示执行的结果。
■Oracle导入
导出成功之后,就会在指定目录下生成一个二进制的.DMP文件,数据库转移就是利用此文件导入到新的数据库中。首先,要连接到新的数据库中。
1.从菜单进入导入界面
2.在[选择]页中设置[导入方法]
全数据库:将DMP以整个数据库的形式导入
用户指定:将DMP文件中指定用户导入到当前连接数据库的指定用户中(此时点击右侧的[一览]按钮,将列出DMP中所有的用户)
表指定:只导入DMP文件中的指定的表(此时点击右侧的[一览]按钮,将列出DMP中所有的表)
在目录中可以输入DMP文件的绝对路径,也可以通过文件浏览方式找到DMP文件。
在[选项]页中的设置项与导出时的基本一致,就不多介绍了。
3.点击[执行]按钮,开始导入。显示正常结束后就完成了数据库的导入。
■脚本输出
脚本输出也是数据库备份,数据库转移的一种方法。
这里说的脚本,就是创建表,存储过程等各种数据库对象的SQL语句的.SQL(DDL)文件,当然也包括向表中插入数据的INSERT文。
任何第三方工具都可以直接查看,修改,执行这些.SQL文件,从而方便的建立起数据库。
1.在[对象列表]页面里列出了当前连接用户下所有的数据库对象,包括表、视图、存储过程、索引等等。选中要导出的对象,右键选择[脚本输出],调出输出界面
[将同时输出的脚本汇总在一起]选中时,所有的SQL输出到一个文件中。不选中时,每个对象生成单独的SQL文件。
[创建与类型相应的子文件夹]选中时,所有Table的SQL文件将生成到Table文件夹中。所有View的SQL文件将生成到View文件夹中。
各种不同的对象类型将被归类在不同的文件夹中。
不选中时,统一生成在一个文件夹内。
[名称表]是一个很人性化的设置。它让你在数据库中建立一张表,用来表示表明与SQL脚本文件的文件名之间的匹配关系。
也就是说,生成的SQL脚本文件名可以由你按照你自己的意愿和规则自定义。
[输出SCHEMA名]可以设置是否在SQL中带上SHEMA信息。
[在输出TABLE脚本时,包含从属于该表的索引脚本]
[输出TABLE脚本时,同时输出数据(INSERT)语句]这里可以设置insert语句是附加在表的脚本文件中,还是保存在新建的“DATA”目录下,
或者另存为“表名_DATA.SQL”文件中。
[输出EXTANT信息]里可以设置脚本文件中需要包含哪些EXTENT信息。
[输出View脚本时包含项目名]设置是否在“CREATE VIEW 视图名 AS ”之后加上字段名
[输出View脚本时使用FORCE选项]设置是否在VIEW的脚本中附加FORCE设置(只限Oracle)
[输出对象权限]各脚本文件末尾,是否输出赋予对象权限的GRANT语句。
[不导出空白行]可以在导出时自动将脚本中的空行删除。
因为很多人在使用SQL*Plus执行脚本时,经常因为脚本中的空行而错误无法执行的情况。
2.点击[开始]按钮开始导出脚本文件。
脚本已输出,看看我们的文件夹下,多么的整齐!
各种对象分门别类的各就各位,数据也以_DATA.SQL另存了出来。
拥有了这些脚本,就相当于拥有了整个数据库!
这些脚本可以理解为数据库的备份,而且还不是不可修改的硬备份,而是随时可以查看修改任你处置的软备份。
■脚本执行
接下来,就可以通过执行这些脚本来创建新的数据库。
1.从菜单进入[脚本执行]界面
从右侧目录中选择脚本所在文件夹或脚本文件,需要执行的脚本文件或文件夹可以整体移动到左侧,作为脚本执行对象。
2.点击[执行]按钮,在确认对话框中可以设置是否在执行后删除该脚本文件,是否在发生错误时中断处理。
这里特殊说一下,
在执行就很多脚本文件的时候经常因为错误而中断,绝大多数都是因为执行顺序的原因。
比如在创建VIEW的时候,他参照的TABLE还没有被创建,就会出错误。
这种情况下,我们选中[将正确完成的SCRIPT从列表中删除]的话,就可以反复执行,直到列表被清空时就说明所有脚本都被正确执行了。
■如何选择用那种方式?
上面我们已经介绍了以DMP和脚本两种方式进行的导入导出。实际操作的时候,有人会问“我该用哪一种方法呢?“
我们把两种方法的优缺点总结一下:
脚本输出/脚本执行
输出文件种类
二进制DMP文件
SQL文本文件
生成的文件较小可以导出二进制型数据
可以查看和修改输出文件的内容跨不同数据库间也适用
跨不同的数据库时有问题
存在二进制型数据时有问题
最主要的区别就是二进制还是SQL文本。二进制存储,占用空间小;SQL文本形式查看编辑更方便。
如果数据库中存在LOB型的数据时(SQLServer为BINARY型),就只能使用DMP导入导出方式了。
但是,因为Oracle自身的导入导出功能并不保证向下兼容,因此当导入导出的两个数据库版本不同时经常发生问题。
SQLServer也有一样的版本兼容问题,“SQL Server转移”的时候往往会发生错误。
因此当导出和导入的数据库版本不一致的时候,推荐使用脚本输出/脚本执行的方式进行。
■关于DataPump
从Oracle10g开始,除了传统的exp/imp的DMP文件之外,家族里来了个新家伙,叫做DataPump(数据泵)。自出生以来就备受争议,而经过实际使用发现,他与exp/imp并没有本质意义上的不同。
主要区别如下:
1,exp/imp是基于Oracle客户端的。而DataPump是基于Oracle服务端的。
在这一点上,它只解决了Oracle服务器端不需要装客户端的问题…却导致了DataPum导出的文件只能保存在服务器端。
为了解决这个尴尬的情况,Oracle让它支持了网络传输…
2,DataPump导出的数据虽然也是.dmp,但是他与exp/imp导出的.dmp文件并不完全兼容。
3,DataPump号称的支持并行线程,支持挂起重启,支持空间估算等…让高贵的,配置强大的Oracle服务器们情何以堪。
4,非要找出一个优点的话,那就是DataPump允许对导入导出对象进行版本控制,解决了上面说到的DMP版本向下不兼容的问题。
因为DataPump的基本使用方法与exp/imp几乎一样,只是在更多的参数上会有问题。
有问题的同学可以浏览以下官方文档。2010年1月 MS-SQL Server大版内专家分月排行榜第二2009年11月 MS-SQL Server大版内专家分月排行榜第二
2012年10月 MS-SQL Server大版内专家分月排行榜第三2010年7月 MS-SQL Server大版内专家分月排行榜第三2010年3月 MS-SQL Server大版内专家分月排行榜第三2010年2月 MS-SQL Server大版内专家分月排行榜第三2009年8月 MS-SQL Server大版内专家分月排行榜第三
2011年 总版技术专家分年内排行榜第四2010年 总版技术专家分年内排行榜第九2009年 总版技术专家分年内排行榜第八
2011年10月 总版技术专家分月排行榜第一
2011年 总版技术专家分年内排行榜第四2010年 总版技术专家分年内排行榜第九2009年 总版技术专家分年内排行榜第八
2011年10月 总版技术专家分月排行榜第一
本帖子已过去太久远了,不再提供回复功能。

我要回帖

更多关于 oracle远程连接数据库 的文章

 

随机推荐