国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

您的位置:首頁技術文章
文章詳情頁

Oracle的PDB數據庫創建DIRECTORY時遇到ORA-65254問題及解決方法

瀏覽:124日期:2023-09-18 20:52:31

在Oracle 19c多租戶環境的PDB數據庫下面創建一個DIRECTORY時,遇到了“ORA-65254: invalid path specified for the directory”,下面簡單演示一下所遇到的這個案例

SQL>?CREATE?PLUGGABLE?DATABASE?PDB6?ADMIN?USER?pdbadmin?IDENTIFIED?BY?hqLDJ7236#4U8JHD??2??STORAGE?(MAXSIZE?1G?MAX_SHARED_TEMP_SIZE?2G)??3??DEFAULT?TABLESPACE?TEST?DATAFILE?'/db19c/oracle_data/PDB6/test_data_01.dbf'?SIZE?100M??4??PATH_PREFIX?='/db19c/oracle_data/PDB6/'??5??FILE_NAME_CONVERT=('/db19c/CTEST/pdbseed/','/db19c/oracle_data/PDB6/');Pluggable?database?created.SQL>?SQL>?alter?pluggable?database?pdb6?open;Pluggable?database?altered.SQL>?alter?session?set?container=PDB6;Session?altered.SQL>?CREATE?OR?REPLACE?DIRECTORY?EXP_DUMP?AS?'/db19c/exp_dump';CREATE?OR?REPLACE?DIRECTORY?EXP_DUMP?AS?'/db19c/exp_dump'*ERROR?at?line?1:ORA-65254:?invalid?path?specified?for?the?directory##注意,創建DIRECTORY時,這個目錄/db19c/exp_dump已經存在。SQL>?SQL>?!oerr?ora?6525465254,?00000,?'invalid?path?specified?for?the?directory'//?*Cause:???An?absolute?path?was?used?in?the?CREATE?DIRECTORY?statement.?//???????????Since?the?PDB?has?set?the?PATH_PREFIX?property,?only?relative//???????????path?is?allowed?for?directories.//?*Action:??Specify?a?relative?path?and?reissue?the?statement.//SQL>

如上所示,數據庫提示,出現這個錯誤的原因在于創建PDB的語句中指定了PATH_PREFIX參數,創建目錄DIRECTORY時只能使用相對路徑,而不能使用絕對路徑。其實創建PDB時,如果設置了PATH_PREFIX參數,那么這個PDB中的所有對象只能限定在PATH_PREFIX指定的路徑下,,只能指定基于PATH_PREFIX的相對路徑。官方文檔關于這個的解釋如下所示:

Restrictions on PDB File Locations

The PATH_PREFIX clause of the CREATE PLUGGABLE DATABASE statement ensures that all directory object paths associated with the PDB are restricted to the specified directory or its subdirectories. This clause also ensures that the following files associated with the PDB are restricted to the specified directory: the Oracle XML repository for the PDB, files created with a CREATE PFILE statement, and the export directory for Oracle wallets. Use this clause when you want to ensure that a PDB's files reside in a specific directory and its subdirectories. You can use this clause to specify one of the following options:

An absolute path that is used as a prefix for all file paths associated with the PDB.

The name of a directory object that exists in the CDB root (CDB$ROOT). The directory object points to the absolute path to be used for PATH_PREFIX.

NONE to indicate that there are no restrictions for the file paths. Omitting the PATH_PREFIX clause is the same as specifying NONE.

After a PDB is created, its PATH_PREFIX setting cannot be modified.

也就是說,如果我要創建一個目錄,只能使用相對路徑的目錄,而且必須在PATH_PREFIX指定的/db19c/oracle_data/PDB6/下面,想指定到其他路徑,例如/db19c/exp_dump.此時就會拋出ORA-65254錯誤。

解決方法SQL>?CREATE?OR?REPLACE?DIRECTORY?EXP_DUMP?AS?'exp_dump';Directory?created.SQL>?SET?LINESIZE?1080;SQL>?COL?OWNER?FOR?A16;SQL>?COL?DIRECTORY_NAME?FOR?A30;SQL>?COL?DIRECTORY_PATH?FOR?A64;SQL>?SELECT?*?FROM?DBA_DIRECTORIES;OWNER??????DIRECTORY_NAME???????DIRECTORY_PATH?????????????????ORIGIN_CON_ID-------?------------------?-----------------------------------?-------------SYS??????????????EXP_DUMP???/db19c/oracle_data/PDB6/exp_dump???

關于這種問題,如果在創建PDB數據庫時,不設定參數PATH_PREFIX就不會遇到這個問題。一般沒有特殊要求,也不用設定參數PATH_PREFIX。

到此這篇關于Oracle的PDB數據庫創建DIRECTORY時遇到ORA-65254的文章就介紹到這了,更多相關Oracle的PDB數據庫內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: Oracle 數據庫
主站蜘蛛池模板: 前郭尔| 佛教| 上虞市| 松江区| 白城市| 惠东县| 申扎县| 神池县| 南汇区| 青海省| 肇庆市| 武鸣县| 湖州市| 彰化市| 新兴县| 宁蒗| 巴南区| 柯坪县| 商丘市| 自贡市| 南郑县| 昌图县| 南召县| 顺昌县| 闽清县| 新干县| 栾川县| 永安市| 塘沽区| 青浦区| 桃园县| 禹州市| 石门县| 丰台区| 大姚县| 灵石县| 台山市| 嘉峪关市| 凤城市| 南部县| 乌拉特中旗|