Ingres For Oracle Users


Published on

A look at how an Oracle user can understand and get up to speed on the Ingres Database

Published in: Technology, Economy & Finance
No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide
  • Ingres Corporation Presentation Jun 3, 2009 Confidential — © Ingres 2008
  • Ingres For Oracle Users

    1. 1. <ul><li>Ingres for Oracle Experienced Users </li></ul>Slide
    2. 2. Audience <ul><li>People who “learned” on Oracle </li></ul><ul><li>Oracle DBAs </li></ul><ul><li>PL/SQL Developers </li></ul><ul><li>Developers of applications that were on Oracle </li></ul><ul><li>NOT for: </li></ul><ul><ul><li>Ingres experienced people </li></ul></ul><ul><ul><li>Other database DBAs and developers </li></ul></ul>Slide
    3. 3. Who am I? <ul><li>Product manager at Ingres </li></ul><ul><li>Father, adventurer and husband </li></ul><ul><li>NOT an Ingres Expert! </li></ul><ul><ul><li>Light development and DBA activities on test and production systems… I leave it to the experts, but needed to know! </li></ul></ul><ul><li>Long time Oracle user, developer and DBA </li></ul><ul><ul><li>Came to the table with notions of “the way things work” </li></ul></ul><ul><ul><li>Started on Oracle 6 </li></ul></ul><ul><ul><li>Production DBA on 7.3-10g </li></ul></ul><ul><ul><li>Developed and managed dev teams on Oracle using variety of tech stacks </li></ul></ul><ul><ul><li>OCP on versions 7, 8 and 8i </li></ul></ul>Slide
    4. 4. What they have in Common <ul><li>Enterprise class databases </li></ul><ul><ul><li>Large global customers supported 24x7 </li></ul></ul><ul><ul><li>Enterprise experience from the front line to the CEO </li></ul></ul><ul><ul><li>Proven Track Record of mission-critical large application deployments </li></ul></ul><ul><ul><li>Superb recoverability </li></ul></ul><ul><ul><li>Superb scalability </li></ul></ul><ul><ul><li>Superb standards support </li></ul></ul>Slide
    5. 5. Ingres Installation <ul><li>Oracle </li></ul><ul><li>Oracle Home </li></ul><ul><li>Ingres </li></ul><ul><li>Ingres Install </li></ul>Slide <ul><li>Both used as a unit for patching and upgrading </li></ul><ul><li>Can have multiple per OS instance </li></ul><ul><li>Each have a unique identifier </li></ul>
    6. 6. Ingres… The Database <ul><li>Oracle “Database” </li></ul><ul><li>Many databases Per Install/Home </li></ul><ul><li>One big clump, separation by “Schema” or user </li></ul><ul><li>Ingres “Database” </li></ul><ul><li>Many per Install and Instance! </li></ul><ul><li>Databases separated from system tablespace via iidbdb, cross db users </li></ul>Slide
    7. 7. Ingres and Users <ul><li>Oracle User </li></ul><ul><li>Typically internally defined </li></ul><ul><li>Optionally OS user driven </li></ul><ul><li>Specific to db Instance </li></ul><ul><li>DBAs defined via roles/privs (“shadow” DBAs) </li></ul><ul><li>Ingres </li></ul><ul><li>Typically OS user driven </li></ul><ul><li>Optionally internally defined </li></ul><ul><li>Cross db or even Install </li></ul><ul><li>DBA defined at createdb </li></ul><ul><li>Optionally GRANT DB_ADMIN ON DATABASE <dbname> TO <user> from iidbdb </li></ul>Slide
    8. 8. Ingres Connectivity <ul><li>Oracle </li></ul><ul><li>TNS Name/Service Name </li></ul><ul><li>Instance/Listener Process driven </li></ul><ul><li>Ingres </li></ul><ul><li>Vnode </li></ul><ul><li>Install-driven [II] </li></ul>Slide
    9. 9. Ingres Backup and Recovery <ul><li>Oracle </li></ul><ul><li>Cold Backup </li></ul><ul><li>Hot Backup </li></ul><ul><li>Exp/imp </li></ul><ul><li>Archive Log Mode </li></ul><ul><ul><li>By instance </li></ul></ul><ul><li>Ingres </li></ul><ul><li>OS Backup of Locs and II_SYSTEM </li></ul><ul><li>ckpdb </li></ul><ul><li>Unloaddb/copydb </li></ul><ul><li>Journaling turned on </li></ul><ul><ul><li>Per db, always iidbdb @ install </li></ul></ul>Slide
    10. 10. Ingres Startup and shutdown <ul><li>Oracle sqlplus < startup </li></ul><ul><li>Privileged SQL Driven </li></ul><ul><li>Service on Windows </li></ul><ul><li>Per Database </li></ul><ul><li>Ingres ingstart </li></ul><ul><li>CLI/Tool Driven </li></ul><ul><li>Service on Window </li></ul><ul><li>Across databases Before even create or recover </li></ul>Slide
    11. 11. Ingres Configuration <ul><li>“ init.ora” </li></ul><ul><li>Changed via OEM and sqlplus </li></ul><ul><li>config.dat </li></ul><ul><li>Changed via terminal application or Windows application </li></ul><ul><li>Changes tracked via config.log </li></ul><ul><li>cbf </li></ul>Slide
    12. 12. Ingres Inside <ul><li>Oracle DBA Views </li></ul><ul><li>USER_* </li></ul><ul><li>DBA_* </li></ul><ul><li>V$ views </li></ul><ul><li>Ingres Standard Catalogs </li></ul><ul><li>Standard Catalogs </li></ul><ul><ul><li>iitables,iicolumns, etc. </li></ul></ul><ul><li>iidbdb Standard Catalogs </li></ul><ul><li>imadb database </li></ul>Slide
    13. 13. Ingres Procedural Language <ul><li>Oracle PL/SQL </li></ul><ul><li>Triggers </li></ul><ul><li>Stored Procedures </li></ul><ul><li>Ingres Procedures </li></ul><ul><li>Rules or Triggers </li></ul><ul><li>Database Procedures </li></ul><ul><li>No “Packages” </li></ul>Slide
    14. 14. Ingres SQL <ul><li>Oracle </li></ul><ul><li>ANSI Standard outer </li></ul><ul><li>Outer Joins via (+) </li></ul><ul><li>decode </li></ul><ul><li>nvl </li></ul><ul><li>/ </li></ul><ul><li>Explain plan </li></ul><ul><li>Ingres </li></ul><ul><li>ANSI Standard outer join syntax </li></ul><ul><li>case </li></ul><ul><li>ifnull </li></ul><ul><li>g </li></ul><ul><li>QEP </li></ul>Slide
    15. 15. Ingres Journal Analyzer <ul><li>Oracle LogMiner </li></ul><ul><li>Used to make sense out of cryptic data in redo and archive logs </li></ul><ul><li>Ingres Journal Analyzer </li></ul><ul><li>Used to make sense out of cryptic data in the Transaction Log File and Journal Files </li></ul>Slide
    16. 16. Getting things done
    17. 17. Ingres: Connectivity Tools <ul><li>Oracle </li></ul><ul><li>SQL*Plus </li></ul><ul><li>Oracle Developer </li></ul><ul><li>Huge selection of 3 rd Party “stuff” </li></ul><ul><li>Ingres </li></ul><ul><li>sql or isql </li></ul><ul><li>Ingres CAFE </li></ul><ul><li>Eclipse with the DTP </li></ul><ul><ul><li>Java IDE with integrated SQL and Stored procedure development </li></ul></ul><ul><li>Any JDBC, .NET, Python, or Perl IDE </li></ul><ul><li>SQuirrelSQL </li></ul><ul><li>Ingres Visual Tools </li></ul><ul><ul><li>Exhaustive windows toolset </li></ul></ul>Slide
    18. 18. How to connect, really… <ul><li>Terminal Connectivity </li></ul><ul><li>Users: Ingres and others </li></ul><ul><li>Setting my environment </li></ul><ul><li>Termcap and TERM_INGRES </li></ul><ul><ul><li>Windows has shortcuts and GUI Tools </li></ul></ul><ul><li>Ingstart </li></ul><ul><li>What is my listen address (vnode)? </li></ul><ul><ul><li>What port am I on?  grep NTWK errlog.log </li></ul></ul><ul><li>Database? </li></ul><ul><ul><li>System databases </li></ul></ul><ul><ul><ul><li>iidbdb </li></ul></ul></ul><ul><ul><ul><li>imadb </li></ul></ul></ul><ul><ul><li>Infodb CLI </li></ul></ul><ul><li>Impersonating users… the ubiquitous -u </li></ul>Slide
    19. 19. How to connect, really… via JDBC <ul><li>Classpath </li></ul><ul><ul><li>$II_SYSTEM/ingres/lib/iijdbc.jar </li></ul></ul><ul><ul><li>Copy the file to your classpath will work too </li></ul></ul><ul><li>Class: com.ingres.jdbc.IngresDriver </li></ul><ul><li>Connection String </li></ul><ul><ul><li>jdbc:ingres://localhost:II7/demodb </li></ul></ul><ul><li>Username </li></ul><ul><ul><li>OS User to connect </li></ul></ul><ul><ul><li>Impersonating other users as “ingres” or the sysadmin user in JDBC </li></ul></ul><ul><ul><ul><li>Append ;dbms_user=mydbuser to your connect string </li></ul></ul></ul>Slide
    20. 20. What happened? Log files and configuration <ul><li>ingstop -show </li></ul><ul><li>Alert Log = Errlog.log and more </li></ul><ul><ul><li>$II_SYSTEM/ingres/files </li></ul></ul><ul><ul><ul><li>errlog.log – system events and errors </li></ul></ul></ul><ul><ul><ul><li>iircp.log – recovery/logging errors </li></ul></ul></ul><ul><ul><ul><li>iiacp.log – archiver errors </li></ul></ul></ul><ul><ul><ul><li>ckpdb.log – backup and recovery logs </li></ul></ul></ul><ul><ul><ul><li>config.log – configuration changes logged </li></ul></ul></ul><ul><li>What version and patches? </li></ul><ul><ul><li>$II_SYSTEM/ingres/version.rel </li></ul></ul><ul><li>Configuration </li></ul><ul><ul><li>$II_SYSTEM/ingres/files/config.dat </li></ul></ul>Slide
    21. 21. Changing Configuration via shell script <ul><li>iisetres </li></ul><ul><li>iigetres </li></ul><ul><li>Warnings! </li></ul><ul><ul><li>manual changes don’t show in config.log </li></ul></ul><ul><ul><li>Don’t change config.dat by hand </li></ul></ul><ul><ul><ul><li>Dependent changes will not occur </li></ul></ul></ul><ul><li>When? </li></ul><ul><ul><li>Initial setup of installs and databases. </li></ul></ul><ul><ul><li>Pull out relevant config for use in scripting </li></ul></ul>Slide
    22. 22. Cautions: Locking <ul><li>Reads DO lock by default </li></ul><ul><ul><li>Append “;CURSOR=READONLY ” to your JDBC connection string </li></ul></ul><ul><ul><li>Run the following at a SQL Prompt: </li></ul></ul><ul><ul><ul><li>set lockmode session where readlock = nolock; </li></ul></ul></ul><ul><ul><ul><li> </li></ul></ul></ul><ul><ul><li>Does not preclude inserts, updates and deletes </li></ul></ul><ul><li>Learn more about Ingres Locking at </li></ul><ul><li>My Finding </li></ul><ul><ul><li>In Oracle, where you manage redo and undo, in Ingres you manage logging and locking </li></ul></ul>Slide
    23. 23. Cautions: Tables and being a DBA <ul><li>From the Ingres documentation </li></ul><ul><ul><li>“ The new table is owned by the user who creates it. The owner of the table is allowed to perform certain operations on the table that other users are not. For example, only the owner (or a user with the security privilege impersonating the owner) can alter or drop a table.” </li></ul></ul>Slide
    24. 24. Learn More <ul><li>This is NOT the full picture! </li></ul><ul><li>Ingres Community – </li></ul><ul><ul><li>Wiki </li></ul></ul><ul><ul><li>Forums </li></ul></ul><ul><ul><li>Documentation – </li></ul></ul><ul><ul><li>Tech Blog </li></ul></ul><ul><ul><ul><li> </li></ul></ul></ul>Slide
    25. 25. JDBC Resources <ul><li> </li></ul><ul><li> </li></ul>Slide
    26. 26. Learn More <ul><li>Ingres Education: In depth Instructor-Led Training for DBAs, Developers, Performance Tuning and more </li></ul><ul><li>Webinars and Whitepapers on </li></ul>Slide
    27. 27. Enterprise Access for Migration from Oracle <ul><li>Make your life easy… </li></ul><ul><li>Enterprise Access provides an Oracle Gateway </li></ul><ul><ul><li>Access Oracle data directly from Ingres </li></ul></ul><ul><ul><li>Commercial Product </li></ul></ul><ul><ul><ul><li>Worth the cost in time and effort to enable migrations, data type mappings, etc. </li></ul></ul></ul>Slide