您的位置:首页 > 数据库 > Oracle

Linux下Oracle移植数据

2016-03-05 21:13 555 查看
案例:

老LTESQM数据库下的toolbox用户数据移植到
新LTESQM数据库下的 toolbox 用户。

新LTESQM数据库下还没有toolbox这个用户

开始:

1、查看老LTESQM下toolbox的权限

用oracle数据库dba角色登录,查看用户toolbox的sql。

使用sqldeveloper.exe工具,得到toolbox的sql为

-- USER SQL
ALTER USER "TOOLBOX"
DEFAULT TABLESPACE "SQMDB"
TEMPORARY TABLESPACE "SQMDB_TEMP"
ACCOUNT UNLOCK ;

-- QUOTAS

-- ROLES
ALTER USER "TOOLBOX" DEFAULT ROLE "DBA","MGMT_USER","AQ_ADMINISTRATOR_ROLE","CONNECT","RESOURCE";

-- SYSTEM PRIVILEGES


2、在新LETSQM库里创建用户toolbox

create user toolbox identified by ******;

-- USER SQL
ALTER USER "TOOLBOX"
DEFAULT TABLESPACE "SQMDB"
TEMPORARY TABLESPACE "SQMDB_TEMP"
ACCOUNT UNLOCK ;

grant create session,create table,create view,unlimited tablespace to toolbox;
grant "DBA","MGMT_USER","AQ_ADMINISTRATOR_ROLE","CONNECT","RESOURCE" to toolbox;


3、登录Linux

此处略

4、用Oracle账号登录

su - oralce

解释:中间的"-"不能少,如果没有“-”是不会提示输入密码,如果没提示输入oracle用户的密码,那么就不是登录,不能执行oracle的命令,如果第一遍没有,再试一遍就有了。

5、查看当前所在SID是不是要导出的

命令:echo $ORACLE_SID

6、看设置的编码是否一致

如果不一致会报错

导出时报警告:EXP-00091: Exporting questionable statistics

导致中文列导入时乱码,影响中文内容

echo $NLS_LANG 查看oracle设置的环境变量编码

select userenv('language') from dual 查看当前用户的编码
假设查出来为:AMERICAN_AMERICA.ZHS16GBK

如果不一致,要修改为一致

export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK

7、在Oracle用户的home目录下新建文件夹用于备份数据

mkdir 文件名

8、暂停正在使用老LTESQM数据库下的toolbox用户数据的系统,以免在导出时有数据在入库,影响导出速度。

9、使用导出数据命令导出数据

exp userid=toolbox/*****@ip地址:端口/sqmmtold file=/要备份到的文件路径/备份的文件名.dmp log=放日志的目录/exp.log

如果是备份表,用下面语句

exp userid=toolbox/*****@ip:端口/sqmmtold file=toolbox_old20160307.dmp tables=

\(RPT_SFPPQH_P01,RPT_OMC_KPI_MUTU_P01,RPT_MONILUCE_P04,RPT_MONILUCE_P03,RPT_MONILUCE_2_P08,RPT_MONILUCE_2_P07

\

) log=放日志的目录/exp.log

注意:括号要用 \ 转义

10、切换SID到要导入数据的SID下

export ORACLE_SID=sqmmt

11、备份sqmmt,防止导入失败可以还原

12、使用导入命令导入数据

imp userid=toolbox/*****@ip地址:端口/sqmmtold full=y file=/备份到的文件路径/备份的文件名.dmp log=放日志的目录/imp.log
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: