淺述Oracle用戶表空間關(guān)系
本文將談?wù)凮racle用戶表空間關(guān)系,這在Oracle中比較重要。希望本文能對大家了解Oracle用戶表空間關(guān)系有更多的幫助。
一個用戶可以使用一個或多個表空間,一個表空間也可以供多個用戶使用。用戶和表空間沒有隸屬關(guān)系,表空是一個用來管理數(shù)據(jù)存儲邏輯概念,表空間只是和數(shù)據(jù)文件發(fā)生關(guān)系,數(shù)據(jù)文件是物理的,一個表空間可以包含多個數(shù)據(jù)文件,而一個數(shù)據(jù)文件只能隸屬一個表空間。
用戶屬于數(shù)據(jù)庫實例的,在一個實例下不能同名用戶。但在一Oracle服務(wù)器,可以創(chuàng)建多個實例,只要你的機(jī)器配置夠用就可以。因為一個實例啟動起碼需要100多兆內(nèi)存的。所以在一Oracle服務(wù)器上可以存在多個同名用戶,他們是屬于不同數(shù)據(jù)庫實例,他們對應(yīng)使用的表空間在不同的實例上。
查詢表空間和用戶之間的關(guān)系:
- SELECT FROM DBA_SEGMENTS WHERE TABLESPACE_NAME=?
Oracle用戶表空間關(guān)系FAQ:
在Oracle中建立了一個用戶UB,它的默認(rèn)表空間是TSA,在數(shù)據(jù)庫用了一段時間后,發(fā)現(xiàn)原來搞錯了,把默認(rèn)表空間改成TSB。現(xiàn)在想問幾個問題:
1.數(shù)據(jù)究竟放在那個表空間上了?
更改以前的放在tsa里面,后來的放在tsb里面
2.我想把數(shù)據(jù)都放回表空間TSB上可以嗎?
將表b存放在tsa里面 --alter table b move tablespace tsb;
3.怎樣才知道數(shù)據(jù)表放在哪個表空間上?select table_name,TABLESPACE_NAME from user_tables;
4.我用Exp 來導(dǎo)出UB這個用戶,能把它所有數(shù)據(jù)都導(dǎo)出嗎?可以。