昨晚做全库impdp导入时,发现有些表使用了xml的存放。导致导入的时候表都无法创建。
因dbca建库的只安装了jvm组件,所以需要安装XML DB组件。
安装步骤如下:
- Confirm XML DB is not already installed.
- SELECT username FROM DBA_USERS where username = 'XDB'; returns 0 rows.
- DESCRIBE RESOURCE_VIEW fails.
- As SYS,perform the XML DB installation - Note: this will not be a complete build due to Oracle Bug 9818995:
- @?/rdbms/admin/catqm.sql xdb <xml db tablespace> <xdb temp tablespace> <use secure files yes|no>
- As SYS,grant the relevent permissions to the XDB user:
- GRANT EXECUTE ON utl_file TO xdb;
- GRANT EXECUTE ON dbms_lob TO xdb;
- As SYS,ensure their are no invalid objects:
- @?/rdbms/admin/utlrp.sql
- Assuming an spfile is in use,as SYS configure the XDB dispatcher:
- ALTER SYSTEM SET DISPATCHERS="(PROTOCOL=TCP)(SERVICE=<SID>XDB)" SCOPE=both;
- If init.ora is in use,edit the init.ora file instead.
- As SYS,install the missing contents caused by Oracle Bug 9818995:
- SHUTDOWN IMMEDIATE;
- STARTUP UPGRADE
- @?/rdbms/admin/xsdbmig.sql
- SHUTDOWN IMMEDIATE;
- STARTUP
- As SYS,ensure their are no invalid objects:
- @?/rdbms/admin/utlrp.sql
- As SYS,confirm the XML DB is now fully installed by running the following query and returning the following output:
SELECT object_value FROM xdb.xs$securityclass WHERE EXTRACTVALUE(object_value,'/securityClass/@targetNamespace')='http://xmlns.oracle.com/plsql' AND EXTRACTVALUE(object_value,'/securityClass/@name')='network' / OBJECT_VALUE -------------------------------------------------------------------------------- <securityClass xmlns="http://xmlns.oracle.com/xs" xmlns:dav="DAV:" xmlns:plsql="