oracle 导入/导出遇到的 问题总结

时间:2024-06-04 13:33:20

0925: 解决oracle 11g空数据 exp 少表的问题

1:生成处理语句

Select 'alter table '||table_name||' allocate extent;' from user_tables where num_rows=0 ;

2:alter system set deferred_segment_creation=false;

只能对新表起作用

20130613:

10g中的表用10的客户端导出来后,用11g的客户端导入到10g的库中 大字段会报错;用10g的客户端,导入到10g的服务器中正常

1: oracle 11g 导出,如果一个表中数据为空,导出时将不导出这张表;可以设置oracle参数修改,但只对新的表起作用;(今天把每个空白表多了一条数据)

2:oracle 11g中exp 导出的数据,在10g版本的imp中不能识别; 低版本导出的数据,高版本能够识别;

3:删除 用户 及用户的表数据

drop user dsfa cascade;

4:查看某个用户具有的表数据

Select * From USER_TABLES;

5: oracle 创建表空间

/*分为四步
*/
/*第1步:创建临时表空间 
*/
create temporary tablespace
user_temp 
tempfile
'D:\oracle\oradata\Oracle9i\user_temp.dbf'
size 50m 
autoextend
on 
next 50m
maxsize 20480m 
extent
management
local
  
/*第2步:创建数据表空间 
*/
create tablespace
test_data 
logging 
datafile
'D:\oracle\oradata\Oracle9i\user_data.dbf'
size 50m 
autoextend
on 
next 50m
maxsize 20480m 
extent
management
local
  
/*第3步:创建用户并指定表空间 
*/
create user username
identified
by password 
default tablespace
user_data 
temporary tablespace
user_temp; 
  
/*第4步:给用户授予权限 
*/
grant connect,resource,dba
to username;

6: 如果一个表中包含clob字段,pl/sql能够导出成功,但是不能导入...包含clob的表需要用imp 命令导入

7: oracle exp imp 使用方法

exp 命令:

1 exp username/psw@TEST file=d:test.dmp full=y

2 exp username/psw@TEST file=d:test.dmp owner=(ly)

3 exp username/psw@TEST file= d:test.dmp tables=(grid1,grid2)

1 其中一是将 Test(与某一数据库对应的 oracle 服务名)数据库进行整体导出

2 将属于用户 ly 的所有表导出

3 将表 grid1,与 grid2 导出

imp 命令:

1 imp system/psw@TEST file=d:test.dmp

2 imp system/psw@TEST full=y file=d:test.dmp ignore=y

3 imp system/psw@TEST file=d:test.dmp tables=(grid1)

ignore=y 表示如果被导入的数据库中 某个表已经存在就忽略不导入那个表

3 表示只导入 grid1 这个表

cmd 下执行 用 exp/imp 远程操作数据库 对 ORACLE 数据库进行远程操作,假设数据库在 192.168.1.110 上,具体方法如下:

一、在客户端创建和服务端对应的服务名

方法1: 修改 tnsnames.ora 文件 加入远程服务器的命名:

TEST_ORCL = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.110)(PORT = 1521)) ) (CONNECT_DATA = (SERVICE_NAME = orcl) ) )

方法 2: 在 oracle 客户端,打开 net manager。 创建一个服务命名 TEST_ORCL,主机 IP 为:192.168.1.110,服务名 orcl,端口 1521

二、测试远程服务器是否畅通

进入到 cmd 后,执行命令:tnsping TEST_ORCL。

三、远程操作数据库 导出

1:exp username/password@TEST_ORCL file=bak_filepath

2:exp username/password@TEST_ORCL full=y
file=bak_filepath

username 用户名,password 密码,TEST_ORCL 客服端服务名

bak_filepath 备份文件存放 的路径 导入:

1:imp username/password@TEST_ORCL file=bak_filepath
full=y

2:imp username/password@TEST_ORCL/database_name file=bak_filepath
full=y

3:imp username/password@TEST_ORCL file=bak_filepath
fromuser=fromadmin touser=toadmin

username 用户名, password 密码,

TEST_ORCL 客服端服务名 bak_filepath 备份文件存放 的路径

fromadmin 备份数据的用户名  toadmin 还原数据库的用户名。