Oracle 9i是一种高效的关系型数据库管理系统,它被广泛应用于企业级应用程序和网站。为了保护数据安全,备份和导出数据库是非常重要的。本文将教你如何轻松导出Oracle 9i数据库。
步骤一:打开SQL*Plus
SQL*Plus是Oracle 9i中最常用的命令行接口。打开SQL*Plus后,输入用户名和密码以登录到数据库。
步骤二:确定需要导出的表和数据
在导出数据库前,你需要先确认需要备份和导出的表和数据。可以使用以下命令查询所有表:
SELECT table_name From user_tables;
如果你只想导出特定的表,可以使用以下命令:
EXP userid=/ tables= file=.dmp log=.log
上述命令中的和是你登录Oracle数据库的用户名和密码,是你想要导出的表名,.dmp是导出文件名,.log是日志文件名,用于记录导出的过程。
步骤三:执行导出命令
在SQL*Plus中执行导出命令。为了导出整个数据库,可以使用以下命令:
EXP userid=/ file=.dmp log=.log
如果你只想导出特定的表,可以使用以下命令:
EXP userid=/ tables= file=.dmp log=.log
根据导出的大小和表数量,导出过程可能需要几分钟或几个小时。在导出过程中,你可以使用以下命令来查看导出的进度:
SELECT object_type, status, bytes/1024/1024 “Size in MB” FROM dba_datapump_jobs;
步骤四:验证导出文件
导出完成后,你需要验证导出文件。最简单的方法是尝试将文件导入到同一数据库 服务器 中的另一个Oracle实例中。如果导入成功,就表明导出文件没有错误。
为了验证导出文件,可以使用以下命令在新实例中创建一个数据库:
CREATE>oracle导出表数据哪种方法快
正常就是exp的方法最快,导入是imp的方式也是最快的
具体exp语法
. 获取帮助
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’;
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)
oracle 10g (含)以上的话用expdp(春档纤导出),impdp(导入)吧,不过这是服务器端命令,不能在客户端扒仿使蠢雹用
oracle 备份还原问题
可以的,注意字符集,两个数据库的字符集要一致。
1 使用oracle 9i的exp 导出数据(这里只能根据 用户来导出,不能整个库,因为源库和目标库的版本不一样)
2 将exp的dmp文件 拷贝到目标库所在的服务器,也就是你的电脑上。
3 在你的目标库里面创建和源库一样轮团腊的表空间和腊滑用户
4 在你的电脑上使用imp system/pwd fromuser= touser= file= log= ignore=y
这或瞎四步基本可以了。
.如果你的数据中不伏谈包含nchar ,nvarchar2 ,可以导出为sql 插入模式是可以的。步骤如下:
1. 用pl/sql 导出 user object
2. 导出数据正嫌为插入模式sql
3. 利举厅手用user object sql 在oracle11g里创建全部对象
4. 把插入模式sql导入oracle11g
用11g的client连接oracle9i,然后导出,再用同一版本的client导入
expd/impd可以的
oracle 9i 导出数据库的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于oracle 9i 导出数据库,轻松学会Oracle 9i导出数据库操作步骤,oracle导出表数据哪种方法快,oracle 备份还原问题的信息别忘了在本站进行查找喔。
香港服务器首选树叶云,2H2G首月10元开通。树叶云(shuyeidc.com)提供简单好用,价格厚道的香港/美国云服务器和独立服务器。IDC+ISP+ICP资质。ARIN和APNIC会员。成熟技术团队15年行业经验。
oracle9i 中exp/imp 语句能否实现只导入或者导出部分表,或者部分存储过程等等
可以使用expdp 和 impdp 这对备份恢复命令,前提是你的oracle帐户必须有物理文件的read和write权限.如果有权限,就直接expdp和impdp,成功后有一个 和 把dmp复制过去就可以直接impdp 了.具体的可以给个参考:--导出SQL>create directory dump_dir as f:\bak; ---DBA用户,确定备份文件放哪里(已经存在的目录)?SQL>grant read,write on directory dump_dir to scott; --赋予scott用户的读写权限C:>expdp scott/tiger directory=dump_dir [dumpfile=] [tables = emp,dept] --dumpfile设置备份文件名 tables 需要导出那些表[tab1,tab2,....]--导入C:>impdp scott/tiger directory = dump_dir dumpfile = tables = [表名1,表名2 ...]SQL>是 在sqlplus下操作的, C:>是在系统命令行上操作
oracle9i变的很慢,基本都是对一张表的增删改的操作.
1、增大SGA中database buffer大小2、看看表空间、临时表空间、回滚段等的大小是否足够3、不要建太多的索引,因为索引与数据是同步维护的4、看看建表时的PCTUSED、PCTFREE等参数是否合适5、插入时加上指示器/*+append*/6、语句最好使用预解析,即带参数sql,减少数据库解析时间7、表上或列上不要建立太多约束8、查看锁状况,要及时提交数据修改
oracle数据库的导入和导出应注意些什么
IMP 和 Exp命令的导出导入操作都是很简单的,可以查一下帮助怎么做,如果过程中有问题,也有Log显示出来,如果太长了可以重定向输出到一个文本文件中,这样便于查看。 另外,使用PL/SQL developer的菜单里也有相应的操作选项,很方便的。
发表评论