怎样把Oracle 的DMP文件导入SQL Server 数据库?

suzhixia2011 2012-05-18 09:32:48
各位高手:我原来主要用SQL Server 数据库,现在有一套Oracle 的DMP格式的数据需要传入SQL Server 数据库,如何转入?请高手指点!我在网上和该网站的相关论坛里,进行了搜索,没有找到合适的解决方案,所以,再次请求各位高手帮忙,给与指点!!万分感谢!!

另外,我在该网站的下载栏目里,下载了“数据导入导出工具”,我试了一下,这个工具完成的好像是一个数据库到另一个数据的转换,而不是一个数据库的备份文件导入另一数据库。不知哪位高手用过这个软件,请给与指点!谢谢!!

领导在后面追着呢!! 急呀!!
...全文
154 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
ray_suen 2012-05-18
  • 打赏
  • 举报
回复
你可以通过逻辑备份试试,逻辑备份的sql,我猜想如果sql server不能逻辑导入
我不能确定逻辑备份能不能打开查看sql,如果可以,你可以辛苦点直接执行sql,别的我就不知道什么方法了
suzhixia2011 2012-05-18
  • 打赏
  • 举报
回复
谢谢!我是想把Oracle的dmp文件,导入SQL Server 数据库,楼上的方法不能实现!
软件环境的一般要求 RHEL 5.x系统、RHEL 6.x系统 图形桌面环境 + 开发工具 + 中文Java支持 —— 在RHEL 6.x中安装时,ksh需改用5.x的软件包 准备工作: yum install yum* yum groupinstall “X 窗口系统” “桌面” “桌面平台” “中文支持” “开发工具” [root@dbserver ~]# yum -y install java-* [root@dbserver ~]# cd /usr/lib/jvm/jre-1.6.0/lib [root@dbserver lib]# mv fontconfig.bfc fontconfig.bfc.origin [root@dbserver lib]# cp fontconfig.RedHat.6.bfc fontconfig.bfc [root@dbserver ~]# rpm -e ksh 因为默认没有装 [root@dbserver ~]# rpm -ivh .../ksh-5.2.14-36.el5.i386.rpm 用户环境要求 创建组账号oinstall、dba,用户账号oracle 创建Oracle基本目录 为用户oracle设置环境变量,并允许使用X终端 [root@dbserver ~]# groupadd oinstall //安装组 [root@dbserver ~]# groupadd dba //管理组 [root@dbserver ~]# useradd -g oinstall -G dba oracle [root@dbserver ~]# passwd oracle   [root@dbserver ~]# mkdir /opt/oracle [root@dbserver ~]# chown -R oracle:oinstall /opt/oracle/ [root@dbserver ~]# chmod -R 775 /opt/oracle/ [root@dbserver ~]# vi /home/oralce/.bash_profile …… umask 022 export ORACLE_BASE=/opt/oracle export ORACLE_SID=orcl export DISPLAY=:0.0 export LANG=zh_CN.UTF-8 export ORACLE_HOME=/opt/oracle/product/11.2.0/dbhome_2 [root@dbserver ~]# xhost + //须在图形环境执行 access control disabled, clients can connect from any host 内核及会话要求 修改内存调度参数、端口范围、I/O请求…… 增大用户oracle的进程数、文件数限制 [root@dbserver ~]# vi /etc/sysctl.conf …… fs.aio-max-nr = 1048576 限制并发未完成的请求,应该设置避免I/O子系统故障 fs.file-max = 6815744 文件句柄设置代表linux系统中可以打开的文件的数量。 kernel.shmmni = 4096 共享内存的总页数 kernel.sem = 250 32000 100 128 net.ipv4.ip_local_port_range = 9000 65500 net.core.rmem_default = 262144 net.core.rmem_max = 4194304 net.core.wmem_default = 262144 net.core.wmem_max = 1048586 [root@dbserver ~]# sysctl –p kernel.sem: 以kernel.sem = 250 32000 100 128为例:        250是参数semmsl的值,表示一个信号量集合中能够包含的信号量最大数目。        32000是参数semmns的值,表示系统内可允许的信号量最大数目。        100是参数semopm的值,表示单个semopm()调用在一个信号量集合上可以执行的操作数量。        128是参数semmni的值,表示系统信号量集合总数 net.core.rmem_default: 表示套接字接收缓冲区大小的缺省值。 net.core.rmem_max: 表示套接字接收缓冲区大小的最大值。 net.core.wmem_default: 表示套接字发送缓冲区大小的缺省值。 net.core.wmem_max: 表示套接字发送缓冲区大小的最大值 [root@dbserver ~]# vi /etc/pam.d/login …… session required pam_limits.so [root@dbserver ~]# vi /etc/security/limits.conf …… oracle soft nproc 8192 oracle hard nproc 16384 oracle soft nofile 32768 oracle hard nofile 65536 运行runInstaller安装程序 将下载的两个zip包解压到同一位置 进入database目录,由用户oracle执行安装 通过 -jreLoc 参数指定中文Java环境的路径 [root@dbserver ~]# su - oracle [oracle@dbserver ~]$ cd /var/ftp/pub/database/ [oracle@dbserver database]$ ./runInstaller -jreLoc /usr/lib/jvm/jre-1.6.0 正在启动 Oracle Universal Installer... 检查临时空间: 必须大于 80 MB。 实际为 64829 MB 通过 检查交换空间: 必须大于 150 MB。 实际为 2047 MB 通过 检查监视器: 监视器配置至少必须显示 256 种颜色。 实际为 16777216 通过 准备从以下地址启动 Oracle Universal Installer /tmp/OraInstall2011-10-12_08-07-32PM. 请稍候... SHAPE \* MERGEFORMAT 典型的安装设置 单实例数据库、企业版、管理口令 基本目录:/opt/oracle/ 软件位置:/opt/oracle/product/11.2.0/dbhome_1/ 数据库位置:/opt/oracle/oradata/ 产品清单:/opt/oracle/oraInventory/ SHAPE \* MERGEFORMAT SHAPE \* MERGEFORMAT 验证安装结果 从命令行使用sqlplus工具访问数据库 从浏览器访问 https://dbserver:1158/em/ 用户名sys、管理口令、连接身份SYSDBA [root@dbserver ~]# cd /opt/oracle/product/11.2.0/dbhome_1/bin/ [root@dbserver bin]# ./sqlplus sys AS SYSDBA …… Enter password: //输入管理密码 Connected to: Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production With the Partitioning, OLAP, Data Mining and Real Application Testing options SQL> SHOW USER; //查看当前用户 USER is "SYS“ SQL> HELP INDEX; //查看指令列表 …… COMPUTE LIST SET XQUERY CONNECT PASSWORD SHOW SHAPE \* MERGEFORMAT 优化执行环境 全局配置/etc/profile,添加基目录、执行路径…… 修改/etc/oratab,使orcl实例随数据库软件启动 [root@dbserver ~]# vi /etc/profile …… export ORACLE_BASE=/opt/oracle export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1 export ORACLE_OWNER=oracle export ORACLE_SID=orcl export ORACLE_TERM=xterm export PATH=\$PATH:\$ORACLE_HOME/bin [root@dbserver ~]# vi /etc/oratab orcl:/opt/oracle/product/11.2.0/dbhome_1:Y Oracle的服务组件 监听器lsnrctl:提供数据库访问,默认端口1521 启动器dbstart、dushut:启动、停止数据库实例 控制器emctl:开启、关闭OEM平台,默认端口1158 [oracle@dbserver ~]$ lsnrctl status [oracle@dbserver ~]$ emctl stop dbconsole [oracle@dbserver ~]$ dbshut $ORACLE_HOME [oracle@dbserver ~]$ dbstart $ORACLE_HOME [oracle@dbserver ~]$ emctl stop dbconsole 使用系统服务脚本 编写/etc/init.d/oracle控制脚本 使用chkconfig工具添加为系统服务 使用service工具来启动、停止、重启oracle服务 SHAPE \* MERGEFORMAT 逻辑备份与恢复 配置Oracle备份目录 创建本地目录(如 /opt/mydbbackup),并调整属性 在SQL>环境中指定备份位置,并授权备份用户 [root@dbserver ~]# mkdir /opt/mydbbackup [root@dbserver ~]# chown oracle:oinstall /opt/mydbbackup/ [root@dbserver ~]# sqlplus sys AS SYSDBA Enter password: SQL> CREATE DIRECTORY dmpdir AS '/opt/mydbbackup'; Directory created. SQL> GRANT read,write ON DIRECTORY dmpdir TO sysman; Grant succeeded. SQL> GRANT all ON DIRECTORY dmpdir TO system; Grant succeeded. 逻辑备份与恢复 执行逻辑备份 使用expdp工具导出数据库 [root@dbserver ~]# expdp lisi/123456 DIRECTORY=dmpdir DUMPFILE=lisi-20111014.dmp #导出用户lisi的数据库 ……. [root@dbserver ~]# expdp system/123456 DIRECTORY=dmpdir DUMPFILE=orcl-full-20111014.dmp FULL=Y #导出整个数据库 …… 执行逻辑恢复 使用impdp工具导入数据库 [root@dbserver ~]# impdp lisi/123456 DIRECTORY=dmpdir DUMPFILE=lisi-20111014.dmp REUSE_DATAFILES=Y TABLE_EXISTS_ACTION=REPLACE #恢复用户lisi的数据库 [root@dbserver ~]# impdp system/123456 DIRECTORY=dmpdir DUMPFILE=orcl-full-20111014.dmp REUSE_DATAFILES=Y TABLE_EXISTS_ACTION=REPLACE FULL=Y #恢复整个数据库 注意: 
glibc-32bit-8.1-9 
glibc-devel-32bit-8.1-9
compat-libstdc++-33-3.2.3-47.3.x86_64.rpm 
libaio-0.3.105-2.x86_64.rpm

17,377

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧