posts - 5, comments - 0, trackbacks - 0, articles - 0

oracle导入dmp文件

Posted on 2011-10-24 22:58 playingenjoy 阅读(4604) 评论(0)  编辑  收藏
创建用户
create user test identified by test default tablespace users; 

授权
grant resource,connect,dba to test; 

提交
commit; 

删除用户实例:

删除用户后边必须跟cascade,否则失败 

drop user test cascade;

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导出
d:test.dmp是导出的文件地址

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这个表

在导入导出前要先测试下对应的数据库是否是通的:tnsping test来测试,同样test是服务名
所有命令可在cmd下执行


用exp/imp远程操作数据库

对ORACLE数据库进行远程操作,假设数据库在192.168.1.110上,具体方法如下:
一、在客户端创建和服务端对应的服务名
方法1:
修改tnsnames.ora文件
加入远程服务器的命名:

Sql代码 
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。

三、远程操作数据库
导出:

Sql代码 
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 备份文件存放的路径

导入:

Sql代码 
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 还原数据库的用户名。database_name 还原到那个数据库上

full=y 将数据库整体导出,包括表结构等。





给用户增加导入数据权限的操作
 第一,启动sql*puls
 第二,以system/manager登陆
需要创建表空间才行
         create tablespace 表空间名 datafile 'D:\oracle\product\10.2.0\oradata\groupbuy\表空间名.dbf' size 500M;
create user 用户 identified by 密码 default tablespace 表空间名;
grant connect,resource to 用户;
grant dba to 用户;
grant unlimited tablespace to 用户; 
grant select any table to 用户; 
grant select any dictionary to 用户;


 //第三,create user 用户名 IDENTIFIED BY 密码 (如果已经创建过用户,这步可以省略)
 //第四,GRANT CREATE USER,DROP USER,ALTER USER ,CREATE ANY VIEW ,
   DROP ANY VIEW,EXP_FULL_DATABASE,IMP_FULL_DATABASE,
      DBA,CONNECT,RESOURCE,CREATE SESSION  TO 用户名字 
 第五, 运行-cmd-进入dmp文件所在的目录, 
      imp userid=system/manager full=y file=*.dmp
      或者 imp userid=system/manager full=y file=filename.dmp




在数据库里执行一个sequence
create sequence user_seq
  increment by 1
  start with 100000000
  nomaxvalue
  nocycle
  nocache;


来自网络,以便备忘

只有注册用户登录后才能发表评论。


网站导航: