Χρησιμοποιώντας sys_context τη λειτουργία μπορούμε να λάβουμε το όνομα κεντρικού υπολογιστή και τη διεύθυνση IP της τρέχουσας συνεδρίας SQL> επιλέξτε sys_context('userenv','host') από το dual. SYS_CONTEXT('USERENV','HOST') -------------------------------------------------------------- ΟΜΆΔΑ ΕΡΓΑΣΊΑΣ\IBM-L3YMBNP SQL> επιλέξτε sys_context('userenv','ip_address') από το dual. SYS_CONTEXT('USERENV','IP_ADDRESS') -----------------------------------------------------------
127.0.0.1 Με sys_context μπορούμε να λάβουμε μόνο τις πληροφορίες της τρέχουσας συνεδρίας, τι γίνεται αν θέλουμε να λάβουμε άλλες συνεδρίες; Αυτή τη στιγμή, χρησιμοποιούμε utl_inaddr πακέτο για να το αποκτήσουμε SQL> επιλέξτε utl_inaddr.get_host_address('IBM-L3YMBNP') από το dual. UTL_INADDR. GET_HOST_ADDRESS(στο εξής: IBM-L3YMBNP) -------------------------------------------------------------------
9.181.142.152 Και μπορούμε επίσης να λάβουμε IP για το SINA και άλλους ιστότοπους SQL> επιλέξτε utl_inaddr.get_host_address('www.sina.com.cn') από το dual. UTL_INADDR. GET_HOST_ADDRESS(στο εξής: WWW. SINA.COM. (') ---------------------------------------------------------------------
218.30.108.55 Η αρχή είναι να αποκτήσετε πρώτα τον διακομιστή επίλυσης ονομάτων τομέα (resolv.conf) και, στη συνέχεια, να καθορίσετε τη σειρά επίλυσης με βάση το αρχείο host.conf, επειδή η προεπιλογή είναι να δώσετε προτεραιότητα στην ανάλυση του αρχείου hosts και, στη συνέχεια, να συνεχίσετε να διαβάζετε το αρχείο /etc/hosts. Εάν το αρχείο hosts έχει σχέση ανάλυσης, επιστρέφει πληροφορίες. Εάν δεν υπάρχει, συνεχίστε να ζητάτε από τον διακομιστή DNS να λάβει τη διεύθυνση ανάλυσης και εάν δεν μπορεί, θα προκύψει σφάλμα SQL> επιλέξτε utl_inaddr.get_host_address('www.a.com') από το dual. επιλέξτε utl_inaddr.get_host_address('www.a.com') από το dual * Το ERROR βρίσκεται στη γραμμή 1:
ORA-29257: 未知的主机 www.a.com
ORA-06512: 在"SYS.UTL_INADDR", line 35
ORA-06512: 在"SYS.UTL_INADDR", line 40
ORA-06512: 在line 1 Αυτό είναι βασικά. |