wolong 发表于 2018-9-13 08:49:13

导出Windows服务器下的Oracle数据库并导入到Linux服务器下的Oracle数据库中

http://www.iyunv.com/wp-content/uploads/2012/03/Oracle.jpg
  说明:
  1、Windows Oracle数据库
  操作系统:Windows Server 2008 R2
  IP地址:192.168.0.128
  Oracle数据库版本:Oracle11gR1
  SID:orcl
  端口:1521
  Oracle相关账号:
  账号:system 密码:123456
  账号:iyunv 密码:iyunv
  账号:iyunvLOG 密码:iyunvLOG
  2、Linux Oracle数据库
  操作系统:CentOS 5.9 64位
  Oracle数据库版本:Oracle11gR1
  Oracle数据库安装目录:/data/oracle/
  IP地址:192.168.0.198
  SID:orcl
  端口:1521
  Oracle相关账号:
  账号:system 密码:123456
  3、客户端
  操作系统:Windows Server 2003 R2
  IP地址:192.168.0.74
  Oracle客户端版本:win32_11gR1_client
  具体操作:
  一、从客户端登录Windows Oracle数据库服务器导出Oracle数据库
  导出Oracle数据库到本地D:\backup目录中
  开始-运行-cmd 确定,打开命令操作界面
  输入:
  exp iyunv/iyunv@192.168.0.128/orcl owner=iyunv grants=y file=D:\backup\iyunv.dmp log=D:\backup\iyunv.log
http://www.iyunv.com/wp-content/uploads/2013/03/1964.jpg
  系统运维www.iyunv.com温馨提醒:qihang01原创内容 版权所有,转载请注明出处及原文链接
  回车,出现下面界面,正在导出数据,直到操作完成。
http://www.iyunv.com/wp-content/uploads/2013/03/1965.jpg
  备注:
  owner=iyunv #导出此用户的所有数据
  grants=y #导出该用户下的表赋予其他用户的操作权限
  file=D:\backup\iyunv.dmp #导出的路径
  log= D:\backup\iyunv.log #导出时的操作日志
  以相同的方法导出用户iyunvLOG的数据
  开始-运行-cmd 确定,打开命令操作界面
  输入:
  exp iyunvLOG/iyunvLOG@192.168.0.128/orcl owner=iyunvLOG grants=y file=D:\backup\iyunvLOG.dmp log=D:\backup\iyunvLOG.log
  回车,出现下面界面,正在导出数据,直到操作完成。
http://www.iyunv.com/wp-content/uploads/2013/03/1966.jpg
  二、从客户端登录Linux Oracle数据库服务器导入Oracle数据库
  1、从客户端登录Linux Oracle数据库服务器
  开始-运行-cmd 确定,打开命令操作界面
  输入:
  sqlplus system/123456@192.168.0.198:1521/orcl
  回车,出现下面界面说明连接成功
http://www.iyunv.com/wp-content/uploads/2013/03/1967.jpg
http://www.iyunv.com/wp-content/uploads/2013/03/1968.jpg
  2、创建表空间
  创建表空间iyunv_DATE
  在操作界面输入下面的命令
http://www.iyunv.com/wp-content/uploads/2013/03/1969.jpg
  CREATE TABLESPACE iyunv_DATE

  DATAFILE '/data/oracle/oradata/iyunv_DATE.DBF'>  LOGGING
  ONLINE
  BLOCKSIZE 8K
  EXTENT MANAGEMENT LOCAL AUTOALLOCATE
  SEGMENT SPACE MANAGEMENT AUTO;
  备注:
  iyunv_DATE #表空间名称
  /data/oracle/oradata/iyunv_DATE.DBF #表空间路径
  15000M #表空间大小
  继续创建表空间:iyunvLOG_DATE
  CREATE TABLESPACE iyunvLOG_DATE

  DATAFILE '/data/oracle/oradata/iyunvLOG_DATE.DBF'>  LOGGING
  ONLINE
  BLOCKSIZE 8K
  EXTENT MANAGEMENT LOCAL AUTOALLOCATE
  SEGMENT SPACE MANAGEMENT AUTO;
  3、创建临时表空间
  创建临时表空间
  CREATE TEMPORARY TABLESPACE iyunv_TEMP
  TEMPFILE '/data/oracle/oradata/iyunv_TEMP.DBF'
  SIZE1000M
  AUTOEXTEND ON
  NEXT50Mmaxsize2048m
  EXTENT MANAGEMENT LOCAL;
  继续创建临时表空间
  CREATE TEMPORARY TABLESPACE iyunvLOG_TEMP
  TEMPFILE '/data/oracle/oradata/iyunvLOG_TEMP.DBF'
  SIZE1000M
  AUTOEXTEND ON
  NEXT50Mmaxsize2048m
  EXTENT MANAGEMENT LOCAL;
  系统运维www.iyunv.com温馨提醒:qihang01原创内容 版权所有,转载请注明出处及原文链接
  4、创建用户,并指定该用户的表空间以及临时表空间

  CREATE USER iyunv>  DEFAULT TABLESPACE iyunv_DATE
  TEMPORARY TABLESPACE iyunv_TEMP
  PROFILE DEFAULT;
  备注:
  创建用户:iyunv 密码:iyunv
  用户表空间:iyunv_DATE
  用户临时表空间:iyunvLOG_TEMP (也可以使用默认临时表空间TEMP)
  继续创建用户iyunvLOG

  CREATE USER iyunvLOG>  DEFAULT TABLESPACE iyunvLOG_DATE
  TEMPORARY TABLESPACE iyunvLOG_TEMP(也可以使用默认临时表空间TEMP)
  PROFILE DEFAULT;
  5、授予用户对表空间以及临时表空间的操作权限
  GRANT CONNECT TO iyunv; #连接
  GRANT RESOURCE TO iyunv;
  GRANT UNLIMITED TABLESPACE TO iyunv; #不限制表空间
  GRANT DBA TO iyunv; #授予用户DBA操作权限
  GRANT CONNECT TO iyunvLOG; #连接
  GRANT RESOURCE TO iyunvLOG;
  GRANT UNLIMITED TABLESPACE TO iyunvLOG; #不限制表空间
  GRANT DBA TO iyunvLOG; #授予用户DBA操作权限
  6、从客户端导入备份数据到Linux Oracle数据库中
  开始-运行-cmd 确定,打开命令操作界面
  输入:
  imp iyunv/iyunv@192.168.0.198/orcl ignore=y grants=y fromuser=iyunv touser=iyunv file=D:\backup\iyunv.dmp log=D:\backup\iyunv.log
  备注:
  ignore=y#不检查要导入的数据表结构,直接导入
  grants=y#导入相应用户权限
  fromuser=iyunv #从原数据库iyunv用户导入数据
  touser=iyunv #导入数据到新数据库用户iyunv中去
  file=D:\backup\iyunv.dmp#备份文件路
  log=D:\backup\iyunv.log#导入日志文件
  以同样的方法导入iyunvLOG的数据到Linux Oracle数据库中
  imp iyunvLOG/iyunvLOG@192.168.0.198/orcl ignore=y grants=y fromuser=iyunvLOG touser=iyunvLOG file=D:\backup\iyunvLOG.dmplog=D:\backup\iyunvLOG.log
  三、从客户端连接Linux Oracle数据库
  开始-运行-cmd 确定,打开命令操作界面
  输入:
  sqlplus iyunv/iyunv@192.168.0.198:1521/orcl
  回车,出现下面界面,说明登录成功!
http://www.iyunv.com/wp-content/uploads/2013/03/1970.jpg
  以同样的方法用iyunvLOG用户登录数据库
  sqlplus iyunvLOG/iyunvLOG@192.168.0.198:1521/orcl
  出现下面的界面,登录成功!
  http://www.iyunv.com/wp-content/uploads/2013/03/1971.jpg
  扩展阅读:
  1、Oracle11gR2中,当表无数据时,不分配segment,使用exp无法导出数据库中的空表
  解决办法:
  使用system账号登录数据库,执行以下代码
  alter system set deferred_segment_creation=false scope=both; #默认参数为ture
  2、Oracle数据库中解锁用户
  使用systen账号登录数据库,执行以下代码
  alter user iyunv account unlock; #解锁用iyunv
  3、Oracle数据库修改用户默认表空间
  用相应用户登录数据库
  select a.property_name, a.property_value from database_properties a where a.property_name like '%DEFAULT%'; #查询用户信息
  alter database default tablespace test; #修改用户默认表空间为test
  alter database default temporary tablespace temp2; #修改用户默认临时表空间为temp2
  4、关闭oracle登录密码大小写,即登录密码不区分大小写(方便使用Object Browser管理数据库)
  使用system账号登录数据库,执行以下代码
  SHOW PARAMETER SEC_CASE_SENSITIVE_LOGON #查询密码大小写是否开启
  ALTER SYSTEM SET SEC_CASE_SENSITIVE_LOGON = FALSE; #关闭密码大小写
  commit; #提交命令
  系统运维www.iyunv.com温馨提醒:qihang01原创内容 版权所有,转载请注明出处及原文链接
  5、常用Oracle数据库操作命令

  ALTER USER iyunv>  DROP USER tztweb cascade; #删除用户,cascade参数表示级联删除
  select * from dba_users; #查看用户信息
  select username,password from dba_users; #查询用户和密码
  select username,default_tablespace from user_users; #查看用户表空间
  select * from user_role_privs; #查看用户角色
  select * from user_sys_privs; #查看当前用户系统权限
  select * from v$version; #查看数据库版本信息
  select table_name from user_tables; #查看当前用户的表名
  DROP TABLE XUESHENG; #删除表
  drop tablespace USER_DATA; #删除表空间
  drop tablespace USER_TEMP including contents and datafiles; #删除表空间,清空数据
  GRANT CREATE DATABASE LINK TO iyunv; #数据库连接权限
  GRANT SELECT ANY SEQUENCE,CREATE MATERIALIZED VIEW TO iyunv; #查询创建视图权限
  GRANT ALL PRIVILEGES TO iyunv; #授权所有操作权限
  REVOKE CONNECT, RESOURCE FROM iyunv; #取消授权
  ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED; #修改密码默认180天过期为不限制
至此,导出Windows服务器下的Oracle数据库并导入到Linux服务器下的Oracle数据库中教程完成  本文转自http://www.iyunv.com/archives/5943.html

页: [1]
查看完整版本: 导出Windows服务器下的Oracle数据库并导入到Linux服务器下的Oracle数据库中