兩個誤解了的問題

2021-09-30 05:38:30 字數 1027 閱讀 6007

第乙個問題:

我原本以為當create 了使用者,並且為該使用者指定了預設的表空間,使用imp時,資料肯定會存到該使用者的預設表空間中的,但其實不然。詳細描述如下:我用a使用者匯出了dmp檔案,a使用者的預設表空間是users ,我想把a使用者的資料imp到b使用者中,而b的預設表空間是tablespace_b,這樣,當我匯入a使用者的資料到b使用者時,此時b使用者的資料是存在a的預設表空間users中的,遇到這種問題,解決的方法有三個:

1、使用alter 語句將b的表挪到b的預設表空間中。

2、使用expdp 生成dmp檔案,然後impdp 時通過使用remap_tablespace:users:tablespace_b ,這樣實現表空間的對映。

3、使用plsqldeveloper 匯出全部的物件的sql,講sql中表空間的名字改為tablespace_b,或者是匯出時選擇不包含儲存資訊,將這個sql檔案在b使用者下執行,然後匯入是使用ignore=y ,這樣資料也會存到b的預設表空間中。

對上述問題的補充:出現上述問題的原因是因為在匯入a使用者的資料時,a使用者的預設表空間b使用者是可見的,這種情況多發生在同庫不同使用者之間;如果在不同庫間匯入時,如果b使用者發現不了a使用者的預設表空間,即a、b是不同庫的,在b使用者所在的庫中是不存在a使用者的預設的表空間的,那麼資料會被正確的匯入到b使用者的預設的表空間中。因此得出的結論是:imp匯入時搜尋表空間的順序是:首先搜尋匯出的資料中指定的表空間,如果找不到才會匯入到匯入使用者的預設表空間中!

第二個問題:

我原本以為含有blob型別的表在表空間不同時是不能實現exp,imp的,實際不然。源資料所在的資料庫版本10.1,目的資料庫版本為10.2,想通過10.2 的客戶端exp出10.1 上的,不可能的,根本不讓鏈結。我嘗試了用9i的客戶端,匯出,但是含有blob型別的資料根本導不出來,更別談匯入。後來嘗試用10.1 的客戶端能完全的匯出 ,在目的資料庫上新建使用者,然後匯入,blob型別的表能夠成功匯入,一點問題沒有。

總結:

有些時候可能自己認為完全正確的東西,實際上不是那樣的,blob型別的換表空間匯入在9i之前是不可以的,但是在10g及之後的版本中已經改好了。

nginx關於reload的兩個錯誤解決方法

重新啟動伺服器,訪問web服務發現無法瀏覽啦 登陸伺服器之後進到nginx使用.nginx s reload重新讀取配置檔案,發現報nginx error open usr local nginx logs nginx.pid failed 2 no such file or directory 錯...

兩個奇怪的神級錯誤解決

目前啊,只知道解決方法,不知道具體原因。1 本週裝了公司的產品,裝的時候就費盡周折。解決 tomcat伺服器中的專案有衝突,解壓乙個新的伺服器,裝上,解決 2 產品用著用著忽然間400錯誤,眾所周知,找不到鏈結,找不到神馬鏈結啊!根本沒有動專案啊!重灌產品,不管用。重灌伺服器,不管用。各種重灌。解決...

P V 的兩個問題

有兩類程序 a 和 b,乙個資源 t。兩類不能同時使用乙個資源 t。可以有至多 n 個 a 同時使用 t,或者至多 m 個 b 同時使用 t。semaphore cnta 0 semaphore cntb 0 semaphore mutext 1 semaphore mutexa 1 semapho...