国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開(kāi)通VIP
oracle imp導(dǎo)入導(dǎo)出時(shí)表空間問(wèn)題 - - JavaEye技術(shù)網(wǎng)站

<轉(zhuǎn)自:http://asword.itpub.net/post/7923/231847>

關(guān)于IMP由有DBA權(quán)限的用戶EXP數(shù)據(jù)時(shí),數(shù)據(jù)存放表空間的幾種情況(IMP-00013) -1

ORACLE公司來(lái)培訓(xùn)BIEE,帶了一個(gè)DEMODMP文件,其導(dǎo)出用戶DBO具有DBA權(quán)限,缺省表空間是USERS。
我做導(dǎo)入時(shí),另外創(chuàng)建了一個(gè)用戶BIEE,其缺省表空間是TS_BIEE ,授予DBA權(quán)限,結(jié)果數(shù)據(jù)沒(méi)有按預(yù)期導(dǎo)入到表空間TS_BIEE中,而是導(dǎo)入到了表空間USERS中,當(dāng)然這是因?yàn)橥?/span>revoke unlimited tablespace 的權(quán)限造成的。
對(duì)IMP 由擁有DBA權(quán)限的用戶EXP的數(shù)據(jù)時(shí),數(shù)據(jù)存放表空間有兩種情況,現(xiàn)在花點(diǎn)時(shí)間來(lái)做個(gè)整理吧。
以下測(cè)試數(shù)據(jù)庫(kù)均為 ORACLE 9.2.0.4

 

第一種情況:
目標(biāo)數(shù)據(jù)庫(kù)中存在與導(dǎo)出用戶的缺省表空間同名的表空間,此時(shí),一定要將導(dǎo)入用戶的 unlimited tablespace 權(quán)限 revoke 掉,否則,數(shù)據(jù)將全部被導(dǎo)入到那個(gè)同名的表空間中,而不是導(dǎo)入用戶的缺省表空間中。
1、 從源數(shù)據(jù)庫(kù)中導(dǎo)出數(shù)據(jù)
(1) 授予導(dǎo)出用戶DBA權(quán)限
SQL> connect system@njgajhpt
Connected to Oracle9i Enterprise Edition Release 9.2.0.4.0
Connected as system
SQL> grant dba to sh;
Grant succeeded
SH的缺省表空間是EXAMPLE
SQL> select username,default_tablespace from dba_users
2 where username = 'SH';
USERNAME DEFAULT_TABLESPACE
------------------------------ ------------------------------
SH EXAMPLE
(2)、導(dǎo)出數(shù)據(jù)
C:Documents and Settingscuiqing>exp sh/sh@njgajhpt file='d:tempsh.dmp' tables=customers direct=y
Export: Release 9.2.0.1.0 - Production on 星期四 11 16 16:36:31 2006
即將導(dǎo)出指定的表通過(guò)直接路徑 ...
. . 正在導(dǎo)出表 CUSTOMERS 50000 行被導(dǎo)出
在沒(méi)有警告的情況下成功終止導(dǎo)出。
2、 導(dǎo)入目標(biāo)數(shù)據(jù)庫(kù)
(1) 創(chuàng)建表空間
SQL> create tablespace ts_qcui
2 datafile 'D:ORACLEORADATAJWPTZJKts_qcui.ora'
3 size 20M autoextend on next 8M maxsize 1024M;
Tablespace created
(2) 創(chuàng)建用戶
SQL> create user qcui identified by qcui
2 default tablespace ts_qcui;
User created
SQL> grant connect,resource to qcui;
Grant succeeded
(3) 導(dǎo)入數(shù)據(jù)
C:Documents and Settingscuiqing>imp qcui/qcui@jwptzjk fromuser=sh touser=qcui file='d:tempsh.dmp' constraints=n
Import: Release 9.2.0.1.0 - Production on 星期四 11 16 16:43:00 2006
經(jīng)由直接路徑導(dǎo)出由EXPORT:V09.02.00創(chuàng)建的導(dǎo)出文件
IMP-00013: 只有 DBA 才能導(dǎo)入由其它 DBA 導(dǎo)出的文件
IMP-00000: 未成功終止導(dǎo)入
(4) 授予導(dǎo)入用戶DBA權(quán)限
SQL> grant dba to qcui;
Grant succeeded
(5) 授權(quán)后重新導(dǎo)入
C:Documents and Settingscuiqing>imp qcui/qcui@jwptzjk fromuser=sh touser=qcui file='d:tempsh.dmp' constraints=n
經(jīng)由直接路徑導(dǎo)出由EXPORT:V09.02.00創(chuàng)建的導(dǎo)出文件
警告: 此對(duì)象由 SH 導(dǎo)出, 而不是當(dāng)前用戶
. . 正在導(dǎo)入表 "CUSTOMERS" 50000行被導(dǎo)入
成功終止導(dǎo)入,但出現(xiàn)警告。
(6) 檢查數(shù)據(jù)存放的表空間。數(shù)據(jù)沒(méi)有按預(yù)期存放在QCUI的缺省表空間TS_QCUI
SQL> select table_name,tablespace_name from dba_tables
2 where owner = 'QCUI';
TABLE_NAME TABLESPACE_NAME
------------------------------ ------------------------------
CUSTOMERS EXAMPLE
(7) 回收QCUIunlimited tablespace權(quán)限
SQL> revoke unlimited tablespace from qcui;
Revoke succeeded
SQL> alter user qcui quota unlimited on ts_qcui;
User altered
(8) 回收權(quán)限后重新導(dǎo)入
SQL> drop table qcui.customers;
Table dropped
C:Documents and Settingscuiqing>imp qcui/qcui@jwptzjk fromuser=sh touser=qcui file='d:tempsh.dmp' constraints=n
經(jīng)由直接路徑導(dǎo)出由EXPORT:V09.02.00創(chuàng)建的導(dǎo)出文件
警告: 此對(duì)象由 SH 導(dǎo)出, 而不是當(dāng)前用戶
. . 正在導(dǎo)入表 "CUSTOMERS" 50000行被導(dǎo)入
成功終止導(dǎo)入,但出現(xiàn)警告。
(9) 檢查數(shù)據(jù)存放的表空間。數(shù)據(jù)存放在QCUI的缺省表空間TS_QCUI
SQL> select table_name,tablespace_name from dba_tables
2 where owner = 'QCUI';
TABLE_NAME TABLESPACE_NAME
------------------------------ ------------------------------
CUSTOMERS TS_QCUI

關(guān)于IMP由擁有DBA權(quán)限的用戶EXP數(shù)據(jù)時(shí),數(shù)據(jù)存放表空間的幾種情況(IMP-00013) -2

第二種情況:
目標(biāo)數(shù)據(jù)庫(kù)中沒(méi)有與導(dǎo)出用戶的缺省表空間同名的表空間,這種情況下,并不需要將導(dǎo)入用戶的 unlimited tablespace 權(quán)限 revoke 掉。
1、從源數(shù)據(jù)庫(kù)中導(dǎo)出數(shù)據(jù)
1)創(chuàng)建表空間
SQL> create tablespace ts_candy
2 datafile 'D:ORACLEORADATANJGAJHPTts_candy.ora'
3 size 20M autoextend on next 8M maxsize 1024M;
Tablespace created
(2) 創(chuàng)建用戶,缺省表空間是 ts_candy
SQL> create user candy identified by candy
2 default tablespace ts_candy;
User created
SQL> grant dba to candy;
Grant succeeded
(3) 創(chuàng)建表
SQL> connect candy/candy@njgajhpt
SQL> create table candy_tables
2 as
3 select * from all_tables;
Table created
(4) 導(dǎo)出數(shù)據(jù)
C:Documents and Settingscuiqing>exp candy/candy@njgajhpt file='d:tempcandy.dmp' direct=y
即將導(dǎo)出指定的表通過(guò)直接路徑 ...
. . 正在導(dǎo)出表 CANDY_TABLES 991 行被導(dǎo)出
在沒(méi)有警告的情況下成功終止導(dǎo)出。
2、 導(dǎo)入目標(biāo)數(shù)據(jù)庫(kù)
(1) 目標(biāo)數(shù)據(jù)庫(kù)中沒(méi)有與 ts_candy同名的表空間
SQL> select tablespace_name from dba_tablespaces
2 where tablespace_name = 'TS_CANDY';
TABLESPACE_NAME
------------------------------
(2) 導(dǎo)入數(shù)據(jù)(導(dǎo)入用戶qcui 已授予DBA權(quán)限,并且具有 unlimited tablespace權(quán)限)
SQL> select grantee,privilege from dba_sys_privs
2 where grantee = 'QCUI';
GRANTEE PRIVILEGE
------------------------------ ----------------------------------------
QCUI UNLIMITED TABLESPACE
C:Documents and Settingscuiqing>imp qcui/qcui@jwptzjk fromuser=candy touser=qcui file='d:tempcandy.dmp' constraints=n
經(jīng)由直接路徑導(dǎo)出由EXPORT:V09.02.00創(chuàng)建的導(dǎo)出文件
警告: 此對(duì)象由 CANDY 導(dǎo)出, 而不是當(dāng)前用戶
已經(jīng)完成ZHS16GBK字符集和AL16UTF16 NCHAR 字符集中的導(dǎo)入
. . 正在導(dǎo)入表 "CANDY_TABLES" 919行被導(dǎo)入
成功終止導(dǎo)入,但出現(xiàn)警告。
(3) 檢查數(shù)據(jù)存放的表空間。數(shù)據(jù)存放在QCUI的缺省表空間TS_QCUI
SQL> select table_name,tablespace_name from dba_tables
2 where owner = 'QCUI';
TABLE_NAME TABLESPACE_NAME
------------------------------ ------------------------------
CUSTOMERS TS_QCUI
CANDY_TABLES TS_QCUI
小結(jié):當(dāng)拿到由擁有DBA權(quán)限的用戶導(dǎo)出的數(shù)據(jù)時(shí),最好問(wèn)清楚其缺省表空間,如果目標(biāo)數(shù)據(jù)庫(kù)中存在與導(dǎo)出數(shù)據(jù)庫(kù)同名的表空間時(shí),這種情況需要特別注意。
我們往往在一看到“IMP-00013: 只有 DBA 才能導(dǎo)入由其它 DBA 導(dǎo)出的文件” 這個(gè)錯(cuò)誤信息后,就立刻給導(dǎo)入用戶授予DBA權(quán)限,但卻忽略了DBA的角色是擁有對(duì)數(shù)據(jù)庫(kù)中所有表空間unlimit的權(quán)限,造成花費(fèi)很長(zhǎng)時(shí)間import結(jié)束后,卻發(fā)現(xiàn)沒(méi)有導(dǎo)入到預(yù)期的表空間中。
簡(jiǎn)而言之,如果有同名表空間存在的話,必須將導(dǎo)入用戶的 unlimited tablespace的權(quán)限 revoke 掉,否則數(shù)據(jù)將被直接存放到了那個(gè)同名表空間中,而不是導(dǎo)入用戶缺省的表空間中;如果沒(méi)有同名表空間,則無(wú)需進(jìn)行 revokeoracle 會(huì)自動(dòng)將數(shù)據(jù)存放在導(dǎo)入用戶的缺省表空間中。
最后一個(gè)需要注意的問(wèn)題就是DBA授權(quán)問(wèn)題,個(gè)人建議,一個(gè)數(shù)據(jù)庫(kù)中除了systemsys用戶以外,最好嚴(yán)格控制DBA權(quán)限的授予,尤其是不要隨便賦予應(yīng)用系統(tǒng)schema的owner以這個(gè)權(quán)限。目前國(guó)內(nèi)的軟件開(kāi)發(fā)以及項(xiàng)目管理的能力還很薄弱,絕大多數(shù)項(xiàng)目中,不會(huì)設(shè)立專門的數(shù)據(jù)庫(kù)管理角色,又為了圖方便,往往賦予應(yīng)用系統(tǒng)schema的owner以DBA權(quán)限,這樣一來(lái),在一個(gè)幾十人或者上百人的團(tuán)隊(duì)中,其中任何一個(gè)開(kāi)發(fā)人員或是運(yùn)維人員一個(gè)隨意的對(duì)DB的操作,對(duì)DB而言也許將會(huì)是災(zāi)難性的。因此,當(dāng)導(dǎo)入數(shù)據(jù)后,應(yīng)及時(shí)revoke DBA 權(quán)限。
本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)。
打開(kāi)APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
Oracle 臨時(shí)表的應(yīng)用
Ora
Oracle維護(hù)常用SQL語(yǔ)句
DBA日常維護(hù)SQL整理
Oracle學(xué)習(xí)筆記(13)用戶管理
幾條有用sql - Database - Tech - ItEye論壇
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長(zhǎng)圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服