Donnerstag, 7. Mai 2015

Oracle External Tables / SQL Loader - Probleme mit Symlinks - KUP-04027

Oracle verbietet per Default die Nutzung von Smbolic Links (Symlinks) für den Zugriff über den ORACLE_LOADER Access Driver.

Man erhält dann eine Meldung: KUP-04027

Ist man sich des Risikos bewusst, der bei der Verwendung von Symlinks besteht, so kann man in der Definition der externen Tabelle die Direktive
DISABLE_DIRECTORY_LINK_CHECK
einsetzen.

Dann funktionieren auch Zugriffe auf verlinkte Verzeichnisse und Dateien.

Man beachte (oder neuere Version):
http://docs.oracle.com/cd/B28359_01/server.111/b28319/et_params.htm#g1031955


Beispiel

-- df Systemkommando als Preprocessor benutzen um Filesystemgröße in der DB direkt abzufragen

CREATE OR REPLACE directory os_tools AS '/oracle/scripts';

-- df -lk
CREATE TABLE system.oscmd_df
(
df_device VARCHAR2(30),
df_size NUMBER,
df_used NUMBER,
df_available NUMBER,
df_pct VARCHAR(3),
df_mount VARCHAR(128)
)
ORGANIZATION EXTERNAL
(
TYPE ORACLE_LOADER
DEFAULT DIRECTORY os_tools
ACCESS PARAMETERS (
records delimited BY newline
preprocessor os_tools:'ex_df.sh'
DISABLE_DIRECTORY_LINK_CHECK
NOLOGFILE
NOBADFILE
skip 1 fields terminated BY whitespace ldrtrim )
LOCATION(os_tools:'ex_df.sh')
)
/

/oracle/scripts% cat ex_df.sh
#!/bin/bash
/bin/df -lk
exit

/oracle/scripts% ls -la ex_df.sh
-rwxr-xr-- 1 oracle dba 30 May 7 10:50 ex_df.sh


> SELECT
RPAD(DF_MOUNT,32) "Mountpoint",
ROUND(DF_SIZE /1024/1024,1) "Size (GB)",
ROUND(DF_AVAILABLE/1024/1024,1) "Available (GB)",
DF_PCT "Used%"
FROM
system.oscmd_df

Mountpoint                        Size (GB) Available (GB) Used%
-------------------------------- ---------- -------------- -----
/                                      19,7            9,9 48%   
/dev                                    3,8            3,8 1%    
/dev/shm                                 21             21 1%    
/schlumpf                              59,1           47,2 20%   
/schnubbeldidup/sapdata               108,3            8,7 92%   

Keine Kommentare:

Kommentar veröffentlichen