案例:
老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設置的環境變量編碼
如果不一致,要修改為一致
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