说明:
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
系统运维 www.osyunwei.com 温馨提醒:qihang01原创内容 版权所有,转载请注明出处及原文链接
回车,出现下面界面,正在导出数据,直到操作完成。
备注:
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
回车,出现下面界面,正在导出数据,直到操作完成。
二、从客户端登录Linux Oracle数据库服务器导入Oracle数据库
1、从客户端登录Linux Oracle数据库服务器
开始-运行-cmd 确定,打开命令操作界面
输入:
sqlplus system/[email protected]:1521/orcl
回车,出现下面界面说明连接成功
2、创建表空间
创建表空间OSYUNWEI_DATE
在操作界面输入下面的命令
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
回车,出现下面界面,说明登录成功!
以同样的方法用OSYUNWEILOG用户登录数据库
sqlplus OSYUNWEILOG/[email protected]:1521/orcl
出现下面的界面,登录成功!
扩展阅读:
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数据库中教程完成。