1 / 22

Deploying Oracle Names

Deploying Oracle Names. Jeff D’Abate Sr. Database Administrator Enterprise Application Services November 19, 2004. Topic to be covered:. What is Oracle Names ? Future of Oracle Names. Design Plan for an Oracle Names implementation. Components of Oracle Names.

Download Presentation

Deploying Oracle Names

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Deploying Oracle Names Jeff D’Abate Sr. Database Administrator Enterprise Application Services November 19, 2004

  2. Topic to be covered: • What is Oracle Names ? • Future of Oracle Names. • Design Plan for an Oracle Names implementation. • Components of Oracle Names. • Installation and Verification of Oracle Names. • Operational Aspects of Oracle Names. • Miscellaneous Notes

  3. What is Oracle Names ? • Oracle Names is a distributed naming service developed for Oracle environments to help simplify the setup and administration of global, client/server computing networks. • Oracle Names uses proprietary software to store the names and addresses of all database services (connection descriptors) on a network. These may, or may not be maintained within an Oracle database. • Clients wishing to connect to a database server direct their connect requests to an Oracle Names server. Oracle Names servers resolve the name to a network address and return that information to the client.

  4. What is the future of Oracle Names ? • “In future releases, Oracle Names will not be supported as a centralized naming method.” (There is no Oracle Names in 10g) • “Because no new enhancements are being added to Oracle Names, consider using directory naming instead or migrating an existing Oracle Names configuration to directory naming” (such as Oracle Internet Directory). • “Oracle Database 10g does not support the use of Oracle Names. Neither Oracle Database 10g clients nor Oracle Databases can use Oracle Names, including by LDAP proxy, to resolve naming. Oracle8i and Oracle9i clients can still use Oracle Names to resolve naming for a 10g database.”

  5. Design Plan for an Oracle Names implementation. • For our implementation we chose the following: • A single database to maintain all database connection descriptors for naming resolution. • All database connection descriptors will be maintained at the “root” level. • The use of “checkpoint” files (without replication), for redundancy should the database not be available. • Four Names Servers running on each of our main database servers. • All clients will connect to the “primary” Names Server.

  6. What are the Components of Oracle Names ?

  7. What are the components of Oracle Names ? • Client configuration files: • names.ora • sqlnet.ora • Server configuration and log files: • names.ora • sqlnet.ora • checkpoint files • log file

  8. Components of Oracle Names • Required files on the client-side: sqlnet.ora: #=============================================================== # SQLNET.ORA Network Configuration File # # It uses the Oracle Names Server on DBSVR1 as its # primary. It will use the Oracle Names Server on # DBSVR2,3,4 if the Names Server on DBSVR1 is not # available. # # 03/30/2004 J. D'Abate #=============================================================== SQLNET.AUTHENTICATION_SERVICES= (NTS) NAMES.PREFERRED_SERVERS=  List of ALL Name Servers used for Naming Resolution. (ADDRESS_LIST= (ADDRESS=(PROTOCOL=tcp)(HOST=dbsvr1)(PORT=1575)) (ADDRESS=(PROTOCOL=tcp)(HOST=dbsvr2)(PORT=1575)) (ADDRESS=(PROTOCOL=tcp)(HOST=dbsvr3)(PORT=1575)) (ADDRESS=(PROTOCOL=tcp)(HOST=dbsvr4)(PORT=1575))) NAMES.DIRECTORY_PATH= (ONAMES)  Names Server ONLY for Naming Resolution. #NAMES.DIRECTORY_PATH= (ONAMES,TNSNAMES)  Names Server, then TNSNAMES for Naming Resolution.

  9. Components of Oracle Names • Required files on the client-side: names.ora: #========================================================================== # NAMES.ORA Network Configuration File. # # This file sets the default Oracle Name Server and location, although # it will "failover" to the Oracle Name Server running on DBPROD2,3,4 if/when # the Names Server on dbsvr1 is unavailable. # # 03/30/2004 J. D'Abate #========================================================================== NAMES.SERVER_NAME = onames_dbsvr1  Default Name Server for this client. NAMES.ADDRESSES=  Location of ALL Name Servers. (ADDRESS_LIST= (ADDRESS=(PROTOCOL=tcp)(HOST=dbsvr1)(PORT=1575)) (ADDRESS=(PROTOCOL=tcp)(HOST=dbsvr2)(PORT=1575)) (ADDRESS=(PROTOCOL=tcp)(HOST=dbsvr3)(PORT=1575)) (ADDRESS=(PROTOCOL=tcp)(HOST=dbsvr4)(PORT=1575)))

  10. Components of Oracle Names • Required files on the server-side: sqlnet.ora: #============================================================================ # SQLNET.ORA (DBSVR1) # # 03/2004 J. D'Abate #============================================================================ NAMES.DIRECTORY_PATH= (ONAMES,TNSNAMES) NAMES.PREFERRED_SERVERS= (ADDRESS_LIST= (ADDRESS=(PROTOCOL=tcp)(HOST=dbsvr1)(PORT=1575)) (ADDRESS=(PROTOCOL=tcp)(HOST=dbsvr2)(PORT=1575)) (ADDRESS=(PROTOCOL=tcp)(HOST=dbsvr3)(PORT=1575)) (ADDRESS=(PROTOCOL=tcp)(HOST=dbsvr4)(PORT=1575))) NAMESCTL.INTERNAL_ENCRYPT_PASSWORD=false NAMESCTL.SERVER_PASSWORD=quicksand NAMESCTL.NOCONFIRM=on

  11. Components of Oracle Names • Required files on the server-side: names.ora: #============================================================================ # NAMES.ORA (DBSVR1) # # # 03/2004 J. D'Abate #============================================================================ NAMES.SERVER_NAME = onames_dbsvr1.case.edu NAMES.ADDRESSES = (ADDRESS = (PROTOCOL = TCP)(HOST = dbsvr1)(PORT = 1575)) NAMES.PASSWORD=quicksand  Administrative password. NAMES.NO_MODIFY_REQUESTS=true  Disallow DB updates via this Name Server. #------------------------------------------------ # Oracle Names Server File & Directory Section: #------------------------------------------------ NAMES.LOG_DIRECTORY =/dbsvr1/oraadmin01/admin NAMES.LOG_FILE = onames_dbsvr1 NAMES.CACHE_CHECKPOINT_FILE =/dbsvr1/oraadmin01/admin/onames_dbsvr1_ckpcch.ora NAMES.CONFIG_CHECKPOINT_FILE =/dbsvr1/oraadmin01/admin/onames_dbsvr1_ckpcfg.ora NAMES.DOMAIN_CHECKPOINT_FILE =/dbsvr1/oraadmin01/admin/onames_dbsvr1_ckpdom.ora NAMES.TOPOLOGY_CHECKPOINT_FILE=/dbsvr1/oraadmin01/admin/onames_dbsvr1_ckptop.ora #--------------------------------------------- # Oracle Names Server Trace Section: #--------------------------------------------- NAMES.TRACE_DIRECTORY=/dbsvr1/oraadmin01/admin NAMES.TRACE_FILE=onames_dbsvr1.trc NAMES.TRACE_LEVEL=off NAMES.TRACE_UNIQUE=on

  12. Components of Oracle Names • Required files on the server-side: names.ora (continued): NAMES.RESET_STATS_INTERVAL = 0  Do not reset statistics. NAMES.LOG_STATS_INTERVAL=86400  Write statistics to log every 24 hours. NAMES.CACHE_CHECKPOINT_INTERVAL=600  Write CACHE to Checkpoint files every 10 minutes. NAMES.KEEP_DB_OPEN=true  Maintain connection to DB. NAMES.ADMIN_REGION =  Connection info to the Names Database. (REGION = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = dbsvr1)(PORT = 1699)) (CONNECT_DATA = (SID = onames) (Server = Dedicated) ) ) (USERID = ons) (PASSWORD = quicksand) (NAME = LOCAL_REGION) (REFRESH = 600)  Update CACHE from Database every 10 minutes. (RETRY = 60) (EXPIRE = 600) (VERSION = 134230016) )

  13. Components of Oracle Names • Log file on the server-side: onames_dbsvr1.log: 04-OCT-2004 07:40:19: NNO-00326: server statistic counter dump follows Query requests received: 163887 Messages received: 163887 Corrupted messages received: 0 Requests refused, processing disabled: 0 Messages sent: 163884 Responses sent: 163887 Alias loops detected: 0 Cache lookup requests: 164373 Names created on lookup: 219 Cache lookup failures: 6311 Cache lookup exact matches: 157843 Cache checkpoints: 575 Cache checkpoint failures: 0 Timeouts, name TTL expired: 105 Forwarding failures: 0 Timeouts, server not responding: 0 Not forwarded, no servers found: 0 Reforwarded requests expired: 0 Authoritative answers when authority: 0 Non-authoritative NACKs received: 0 Objects received with no TTL: 0 Responses received: 0 Unmatched responses received: 0 Requests received: 163887 Requests forwarded: 0 Foreign data items cached: 0 04-OCT-2004 07:40:19: NNO-00327: server statistic counter dump ends

  14. Installation and Verification of Oracle Names • Oracle Names is NOT installed with the default installation of Oracle Enterprise Server Edition. You must explicitly chose to install it from the Oracle Installer. • To validate whether Names is currently installed on your server, check your $ORACLE_HOME/bin directory for the “names” executable (or names.exe on windows). • The namesctl (Name Server Control Utility) is installed with the default Oracle client installation.

  15. Operational Aspects of Oracle Names • Oracle Names Control Utility (namesctl:) The Oracle Names Control utility enables you to administer an Oracle Names server. Important namesctl commands: • start, stop, reload • status • list_objects, timed_query • register, unregister • dump_tnsnames, dump_ldap See Oracle9i Net Services Administrator’s Guide, Chapter 5. “Configuration and Administration Tools Overview”

  16. Operational Aspects of Oracle Names • Oracle Net Manager (netmgr): A tool that combines configuration abilities with component control to provide an integrated environment for configuring and managing Oracle Net Services. You can use Oracle Net Manager to configure the following network components: Naming: Define connect identifiers and map them to connect descriptors to identify the network location and identification of a service. Oracle Net Manager supports configuration of connect descriptors in a local tnsnames.ora file, centralized LDAP-compliant directory server, or an Oracle Names server. Naming Methods: Configure the different ways in which connect identifiers are resolved into connect descriptors. Listeners: Create and configure listeners to receive client connections.

  17. Operational Aspects of Oracle Names • Our simplified approach to Oracle Names “connection descriptor” management: Instead of using the namesctl commands to register/unregister content in the Name Server, we insert/delete directly into the Oracle Name Server database. This allowed us to: • “Lockdown” the namesctl utility more securely, by disallowing updates to the Oracle Name Server database through the utility. • Centralize management of the content of the Name Server by inserting and deleting rows directly to the ONS.ONRS_REGION table. You can still use the namesctl “register” connection descriptors into the Names Server database, unless you have set NAMES.NO_MODIFY_REQUESTS=true.

  18. Operational Aspects of Oracle Names • Steps to manually add a database connection descriptor: Step 1: Insert the new connection descriptor into the ONS.ONRS_REGION table of your Name Server database: insert into ONS.ONRS_REGION values('(root)',‘DB123','(DATA_LIST=(FLAGS=0x1)(DATA=(TYPE=a.smd.)(DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = dbsvr1)(PORT = 1523))) (CONNECT_DATA = (SID = db123) (SERVER = DEDICATED)))))'); Step 2: Restart all of your Name Servers (which will reload its CACHE from the ONS.ONRS_REGION table). namesctl restart onames_dbsvr1.case.edu namesctl restart onames_dbsvr2.case.edu namesctl restart onames_dbsvr3.case.edu namesctl restart onames_dbsvr4.case.edu

  19. Operational Aspects of Oracle Names • Steps to manually delete a database connection descriptor: Step 1: Delete the connection descriptor from the ONS.ONRS_REGION table of your Name Server database: delete from ONS.ONRS_REGION where name_p = ‘DB123'; Step 2: Restart all of your Name Servers (which will reload its CACHE from the ONS.ONRS_REGION table – less the deleted row). namesctl restart onames_dbsvr1.case.edu namesctl restart onames_dbsvr2.case.edu namesctl restart onames_dbsvr3.case.edu namesctl restart onames_dbsvr4.case.edu

  20. Operational Aspects of Oracle Names • To manually add or delete a database connection descriptor via namesctl: • Adding: NAMESCTL> REGISTER DB123 -t oracle_database –d(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=dbsvr1)(PORT=1523)) (CONNECT_DATA=(SERVICE_NAME=db123))) • Deleting: NAMESCTL> UNREGISTER DB123 -t oracle_database -d(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=dbsvr1)(PORT=1523)) (CONNECT_DATA=(SERVICE_NAME=db123))) • Remember: You can always use Oracle Net Manager to manage entries in your • Oracle Names Environment.

  21. Miscellaneous Notes: • Beware: Some applications don’t play “nicely” with Oracle Name Server, and will force you to use TNSNAMES. • Metalink Note: 149108.1 (Good source of info) • Quickstart Guide: “Setup and Configuration of Oracle Names 8i Using a Region Database.”

  22. If you have any questions, please feel free to contact me. • Jeff D’Abate • jeffrey.dabate@case.edu • jeff@dabate.com • Thank You !

More Related