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

Oracle.jpg

说明:

1、Windows Oracle数据库

操作系统:Windows Server 2008 R2

IP地址:192.168.0.128

Oracle数据库版本:Oracle11gR1

SID:orcl

端口:1521

Oracle相关账号:

账号:system 密码:123456

账号:OSYUNWEI 密码:OSYUNWEI

账号:OSYUNWEILOG 密码:OSYUNWEILOG

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 OSYUNWEI/[email protected]/orcl owner=OSYUNWEI grants=y file=D:\backup\OSYUNWEI.dmp log=D:\backup\OSYUNWEI.log

1964.jpg

系统运维  www.osyunwei.com  温馨提醒:qihang01原创内容 版权所有,转载请注明出处及原文链接

回车,出现下面界面,正在导出数据,直到操作完成。

1965.jpg

备注:

owner=OSYUNWEI #导出此用户的所有数据

grants=y #导出该用户下的表赋予其他用户的操作权限

file=D:\backup\OSYUNWEI.dmp #导出的路径

log= D:\backup\OSYUNWEI.log #导出时的操作日志

以相同的方法导出用户OSYUNWEILOG的数据

开始-运行-cmd 确定,打开命令操作界面

输入:

exp OSYUNWEILOG/[email protected]/orcl owner=OSYUNWEILOG grants=y file=D:\backup\OSYUNWEILOG.dmp log=D:\backup\OSYUNWEILOG.log

回车,出现下面界面,正在导出数据,直到操作完成。

1966.jpg

二、从客户端登录Linux Oracle数据库服务器导入Oracle数据库

1、从客户端登录Linux Oracle数据库服务器

开始-运行-cmd 确定,打开命令操作界面

输入:

sqlplus system/[email protected]:1521/orcl

回车,出现下面界面说明连接成功

1967.jpg

1968.jpg

2、创建表空间

创建表空间OSYUNWEI_DATE

在操作界面输入下面的命令

1969.jpg

CREATE TABLESPACE OSYUNWEI_DATE

DATAFILE '/data/oracle/oradata/OSYUNWEI_DATE.DBF' SIZE15000MREUSE AUTOEXTEND ON NEXT5MMAXSIZE UNLIMITED

LOGGING

ONLINE

BLOCKSIZE 8K

EXTENT MANAGEMENT LOCAL AUTOALLOCATE

SEGMENT SPACE MANAGEMENT AUTO;

备注:

OSYUNWEI_DATE #表空间名称

/data/oracle/oradata/OSYUNWEI_DATE.DBF #表空间路径

15000M #表空间大小

继续创建表空间:OSYUNWEILOG_DATE

CREATE TABLESPACE OSYUNWEILOG_DATE

DATAFILE '/data/oracle/oradata/OSYUNWEILOG_DATE.DBF' SIZE25000MREUSE AUTOEXTEND ON NEXT5MMAXSIZE UNLIMITED

LOGGING

ONLINE

BLOCKSIZE 8K

EXTENT MANAGEMENT LOCAL AUTOALLOCATE

SEGMENT SPACE MANAGEMENT AUTO;

3、创建临时表空间

创建临时表空间

CREATE TEMPORARY TABLESPACE OSYUNWEI_TEMP

TEMPFILE '/data/oracle/oradata/OSYUNWEI_TEMP.DBF'

SIZE1000M

AUTOEXTEND ON

NEXT50Mmaxsize2048m

EXTENT MANAGEMENT LOCAL;

继续创建临时表空间

CREATE TEMPORARY TABLESPACE OSYUNWEILOG_TEMP

TEMPFILE '/data/oracle/oradata/OSYUNWEILOG_TEMP.DBF'

SIZE1000M

AUTOEXTEND ON

NEXT50Mmaxsize2048m

EXTENT MANAGEMENT LOCAL;

系统运维  www.osyunwei.com  温馨提醒:qihang01原创内容 版权所有,转载请注明出处及原文链接

4、创建用户,并指定该用户的表空间以及临时表空间

CREATE USER OSYUNWEI IDENTIFIED BY OSYUNWEI

DEFAULT TABLESPACE OSYUNWEI_DATE

TEMPORARY TABLESPACE OSYUNWEI_TEMP

PROFILE DEFAULT;

备注:

创建用户:OSYUNWEI 密码:OSYUNWEI

用户表空间:OSYUNWEI_DATE

用户临时表空间:OSYUNWEILOG_TEMP (也可以使用默认临时表空间TEMP)

继续创建用户OSYUNWEILOG

CREATE USER OSYUNWEILOG IDENTIFIED BY OSYUNWEILOG

DEFAULT TABLESPACE OSYUNWEILOG_DATE

TEMPORARY TABLESPACE OSYUNWEILOG_TEMP(也可以使用默认临时表空间TEMP)

PROFILE DEFAULT;

5、授予用户对表空间以及临时表空间的操作权限

GRANT CONNECT TO OSYUNWEI; #连接

GRANT RESOURCE TO OSYUNWEI;

GRANT UNLIMITED TABLESPACE TO OSYUNWEI; #不限制表空间

GRANT DBA TO OSYUNWEI; #授予用户DBA操作权限

GRANT CONNECT TO OSYUNWEILOG; #连接

GRANT RESOURCE TO OSYUNWEILOG;

GRANT UNLIMITED TABLESPACE TO OSYUNWEILOG; #不限制表空间

GRANT DBA TO OSYUNWEILOG; #授予用户DBA操作权限

6、从客户端导入备份数据到Linux Oracle数据库中

开始-运行-cmd 确定,打开命令操作界面

输入:

imp OSYUNWEI/[email protected]/orcl ignore=y grants=y fromuser=OSYUNWEI touser=OSYUNWEI file=D:\backup\OSYUNWEI.dmp log=D:\backup\OSYUNWEI.log

备注:

ignore=y  #不检查要导入的数据表结构,直接导入

grants=y  #导入相应用户权限

fromuser=OSYUNWEI #从原数据库OSYUNWEI用户导入数据

touser=OSYUNWEI #导入数据到新数据库用户OSYUNWEI中去

file=D:\backup\OSYUNWEI.dmp  #备份文件路

log=D:\backup\OSYUNWEI.log  #导入日志文件

以同样的方法导入OSYUNWEILOG的数据到Linux Oracle数据库中

imp OSYUNWEILOG/[email protected]/orcl ignore=y grants=y fromuser=OSYUNWEILOG touser=OSYUNWEILOG file=D:\backup\OSYUNWEILOG.dmp  log=D:\backup\OSYUNWEILOG.log

三、从客户端连接Linux Oracle数据库

开始-运行-cmd 确定,打开命令操作界面

输入:

sqlplus OSYUNWEI/[email protected]:1521/orcl

回车,出现下面界面,说明登录成功!

1970.jpg

以同样的方法用OSYUNWEILOG用户登录数据库

sqlplus OSYUNWEILOG/[email protected]:1521/orcl

出现下面的界面,登录成功!

1971.jpg

扩展阅读:

1、Oracle11gR2中,当表无数据时,不分配segment,使用exp无法导出数据库中的空表

解决办法:

使用system账号登录数据库,执行以下代码

alter system set deferred_segment_creation=false scope=both; #默认参数为ture

2、Oracle数据库中解锁用户

使用systen账号登录数据库,执行以下代码

alter user OSYUNWEI account unlock; #解锁用OSYUNWEI

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.osyunwei.com  温馨提醒:qihang01原创内容 版权所有,转载请注明出处及原文链接

5、常用Oracle数据库操作命令

ALTER USER OSYUNWEI IDENTIFIED BY 123456; #修改用户OSYUNWEI密码为123456

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 OSYUNWEI; #数据库连接权限

GRANT SELECT ANY SEQUENCE,CREATE MATERIALIZED VIEW TO OSYUNWEI; #查询创建视图权限

GRANT ALL PRIVILEGES TO OSYUNWEI; #授权所有操作权限

REVOKE CONNECT, RESOURCE FROM OSYUNWEI; #取消授权

ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED; #修改密码默认180天过期为不限制


至此,导出Windows服务器下的Oracle数据库并导入到Linux服务器下的Oracle数据库中教程完成

本文转自http://www.osyunwei.com/archives/5943.html


你可能感兴趣的:(linux,windows,oracle备份)