What is a Database Environment?

I am going through Relational Database Design by JLM. I have come across words like
database, data model, DBMS etc. which I am able to understand. But, I get confused when the author tries to use Database and Database Environment with supposedly different meaning (as per my understanding).
What does Database Environment make up ? I understand that data model defines relationship of the data whereas DBMS is data model specific and translated data manipulation requests and retrieves data from physical storage device(s). The author defined Database
as data and its relationship.
Where does Environment come into picture ?
This is where I got confused : underlying relationships in a database environment are independent of the data model and therefore also independent of the DBMS you are using
BTW Am I reading the right book to start with, considering am just beginning?

Both Strike Developer and EngSoonChea, its quite interesting to see that when ever Strike developer asks question nobody else but only EngSoonCheah is getting answers marked. I dont think this is mere co incidence
I can see all threads created by Strikedeveloper and only marked answer is by EngSoonCheah. Please make sure favoritism is marking answer is not allowed  by Microsoft and both of you could be banned from entering forums.
Please mark this reply as answer if it solved your issue or vote as helpful if it helped so that other forum members can benefit from it
My Technet Wiki Article
MVP

Similar Messages

  • Infinite loop during recovery of JE 4.1.10 database environment

    Hi there,
    We have a JE 4.1.10 database environment which is over 20GB in size. In order to improve performance we increased je.log.fileCacheSize so that we could cache all of the 10MB DB log file descriptors in memory and prevent JE from having to constantly open/close log files (the environment is only partially cached in memory and there are more than 2000 log files). Unfortunately, we failed to increase the file descriptor ulimit from the Linux default of 1024 and our application failed when the ulimit was reached.
    Since then we've reverted the settings and increased the JVM heap size so that we can fully cache everything in memory again. However, we are having problems recovering the DB environment. It looks like the environment recovery proceeds through the 10 recovery steps but gets stuck while loading the log file utilization meta-data:
    Stack trace #1:
    "main" prio=10 tid=0x000000005622f000 nid=0x5d94 runnable [0x00000000419fe000]
    java.lang.Thread.State: RUNNABLE
         at java.io.RandomAccessFile.seek(Native Method)
         at com.sleepycat.je.log.FileManager.readFromFileInternal(FileManager.java:1605)
         - locked <0x00002aaaf80dca88> (a com.sleepycat.je.log.FileManager$1)
         at com.sleepycat.je.log.FileManager.readFromFile(FileManager.java:1560)
         at com.sleepycat.je.log.FileManager.readFromFile(FileManager.java:1498)
         at com.sleepycat.je.log.FileSource.getBytes(FileSource.java:56)
         at com.sleepycat.je.log.LogManager.getLogEntryFromLogSource(LogManager.java:861)
         at com.sleepycat.je.log.LogManager.getLogEntry(LogManager.java:790)
         at com.sleepycat.je.log.LogManager.getLogEntryAllowInvisibleAtRecovery(LogManager.java:751)
         at com.sleepycat.je.tree.IN.fetchTarget(IN.java:1320)
         at com.sleepycat.je.tree.BIN.fetchTarget(BIN.java:1367)
         at com.sleepycat.je.dbi.CursorImpl.fetchCurrent(CursorImpl.java:2499)
         at com.sleepycat.je.dbi.CursorImpl.getCurrentAlreadyLatched(CursorImpl.java:1545)
         at com.sleepycat.je.dbi.CursorImpl.getNextWithKeyChangeStatus(CursorImpl.java:1692)
         at com.sleepycat.je.dbi.CursorImpl.getNext(CursorImpl.java:1617)
         at com.sleepycat.je.cleaner.UtilizationProfile.getFirstFSLN(UtilizationProfile.java:1262)
         at com.sleepycat.je.cleaner.UtilizationProfile.populateCache(UtilizationProfile.java:1200)
         at com.sleepycat.je.recovery.RecoveryManager.recover(RecoveryManager.java:221)
         at com.sleepycat.je.dbi.EnvironmentImpl.finishInit(EnvironmentImpl.java:549)
         - locked <0x00002aaaf8009868> (a com.sleepycat.je.dbi.EnvironmentImpl)
         at com.sleepycat.je.dbi.DbEnvPool.getEnvironment(DbEnvPool.java:237)
         at com.sleepycat.je.Environment.makeEnvironmentImpl(Environment.java:229)
         at com.sleepycat.je.Environment.<init>(Environment.java:211)
         at com.sleepycat.je.Environment.<init>(Environment.java:165)
    Stack trace #2:
    "main" prio=10 tid=0x000000005622f000 nid=0x5d94 runnable [0x00000000419fe000]
    java.lang.Thread.State: RUNNABLE
         at com.sleepycat.je.tree.IN.findEntry(IN.java:2086)
         at com.sleepycat.je.dbi.CursorImpl.searchAndPosition(CursorImpl.java:2194)
         at com.sleepycat.je.cleaner.UtilizationProfile.getFirstFSLN(UtilizationProfile.java:1242)
         at com.sleepycat.je.cleaner.UtilizationProfile.populateCache(UtilizationProfile.java:1200)
         at com.sleepycat.je.recovery.RecoveryManager.recover(RecoveryManager.java:221)
         at com.sleepycat.je.dbi.EnvironmentImpl.finishInit(EnvironmentImpl.java:549)
         - locked <0x00002aaaf8009868> (a com.sleepycat.je.dbi.EnvironmentImpl)
         at com.sleepycat.je.dbi.DbEnvPool.getEnvironment(DbEnvPool.java:237)
         at com.sleepycat.je.Environment.makeEnvironmentImpl(Environment.java:229)
         at com.sleepycat.je.Environment.<init>(Environment.java:211)
         at com.sleepycat.je.Environment.<init>(Environment.java:165)
    It looks like it is spinning in UtilizationProfile.getFirstFSLN(). Examining the syscalls using strace shows that JE is looping around the same 3 log files over and over again (note the lseek calls on fd 147):
    14719 lseek(147, 2284064, SEEK_SET) = 2284064
    14719 read(147, "\310\f9\311\v\0\330\331\"\0:\0\0\0\2{\231\302\36\27\0\340\24\0\0\33\201\230\0\340\24\0"..., 4096) = 4096
    14719 lseek(95, 3030708, SEEK_SET) = 3030708
    14719 read(95, "B\17\36\373\v\0\350<.\0B\0\0\0\2{3\323\36\27\0+\21\0\0\210\221\230\0+\21\0"..., 4096) = 2469
    14719 lseek(95, 3025672, SEEK_SET) = 3025672
    14719 read(95, "#(\2571\v\0b*.\0\202\0\0\0\2{\26\323\36\27\0\0160\0\0f\221\230\0Z\22\0"..., 4096) = 4096
    14719 lseek(74, 35084, SEEK_SET) = 35084
    14719 read(74, "\361\34s\272\v\0\300\210\0\0h\0\0\0\2{\240\323\36\27\0\346\36\0\0\215\225\230\0\350\22\0"..., 4096) = 4096
    14719 lseek(74, 90663, SEEK_SET) = 90663
    14719 read(74, "\2\16P\341\v\0#;\1\0B\0\0\0\2{\275\323\36\27\0\366/\0\0003H.\0$\3\0"..., 4096) = 4096
    14719 lseek(147, 2284064, SEEK_SET) = 2284064
    14719 read(147, "\310\f9\311\v\0\330\331\"\0:\0\0\0\2{\231\302\36\27\0\340\24\0\0\33\201\230\0\340\24\0"..., 4096) = 4096
    14719 lseek(95, 3030708, SEEK_SET) = 3030708
    14719 read(95, "B\17\36\373\v\0\350<.\0B\0\0\0\2{3\323\36\27\0+\21\0\0\210\221\230\0+\21\0"..., 4096) = 2469
    From the output of lsof we can determine the names of the log files associated with the above file descriptors, but I'm not sure if this is useful or not. We also ran DbVerifyLog against the entire DB log and it produced no results, so this indicates to me that the DB is not corrupt after all (although it could be that DbVerifyLog simply does not check the utilization profile meta data).
    I had a look at the change log for 4.1.17 but couldn't see any relevant bugs. It's probably worth noting that this DB does not use HA, duplicates, or secondary indexes.
    So I guess I have two questions:
    1) Is this a bug? Presumably the DB should recover even in the event of a human error induced failure like this?
    2) Can we recover the DB somehow, e.g. using DbDump/DbLoad?
    Let me know if you need any additional information.
    Cheers,
    Matt

    1) Is this a bug? Presumably the DB should recover even in the event of a human error induced failure like this?It is probably a bug, but it depends on exactly what happened during the original crash.
    2) Can we recover the DB somehow, e.g. using DbDump/DbLoad?If you can't open the environment, only DbDump -R (salvage mode) can be used, which requires identifying the active data by hand. Not a good option.
    Let me know if you need any additional information.Do you happen to have the original stack trace, where you ran out of FDs?
    How long did the looping go on before you killed the process?
    --mark                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           

  • Slapd database environment corrupt; wrong log files removed

    When our OSX 10.4.10 server boots up, slapd crashes out with a fatal error, followed by an unsuccessful attempt to recover the database. This is from the log:
    Sep 22 22:41:49 xyz123 slapd[428]: @(#) $OpenLDAP: slapd 2.2.19 $\n
    Sep 22 22:41:49 xyz123 slapd[428]: bdbbackinitialize: Sleepycat Software: Berkeley DB 4.2.52: (December 3, 2003)\n
    Sep 22 22:41:49 xyz123 slapd[428]: bdbdbinit: Initializing BDB database\n
    Sep 22 22:41:49 xyz123 slapd[428]: bdb(dc=xyz123,dc=mydomain,dc=com): DBENV->logflush: LSN of 3/2806706 past current end-of-log of 1/2458\n
    Sep 22 22:41:49 xyz123 slapd[428]: bdb(dc=xyz123,dc=mydomain,dc=com): Database environment corrupt; the wrong log files may have been removed or incompatible database files imported from another environment\n
    Sep 22 22:41:49 xyz123 slapd[428]: bdb(dc=xyz123,dc=mydomain,dc=com): gidNumber.bdb: unable to flush page: 0\n
    Sep 22 22:41:49 xyz123 slapd[428]: bdb(dc=xyz123,dc=mydomain,dc=com): txn_checkpoint: failed to flush the buffer cache Invalid argument\n
    Sep 22 22:41:49 xyz123 slapd[428]: bdb(dc=xyz123,dc=mydomain,dc=com): PANIC: Invalid argument\n
    Sep 22 22:41:50 xyz123 slapd[428]: bdbdbopen: dbenv_open failed: DB_RUNRECOVERY: Fatal error, run database recovery (-30978)\n
    Sep 22 22:41:50 xyz123 slapd[428]: backend_startup: bidbopen failed! (-30978)\n
    Sep 22 22:41:50 xyz123 slapd[428]: bdb(dc=xyz123,dc=mydomain,dc=com): DBENV->lockid interface requires an environment configured for the locking subsystem\n
    Sep 22 22:41:50 xyz123 slapd[428]: bdb(dc=xyz123,dc=mydomain,dc=com): DBENV->lockid interface requires an environment configured for the locking subsystem\n
    Sep 22 22:41:50 xyz123 slapd[428]: bdb(dc=xyz123,dc=mydomain,dc=com): DBENV->lockid interface requires an environment configured for the locking subsystem\n
    Sep 22 22:41:50 xyz123 slapd[428]: bdb(dc=xyz123,dc=mydomain,dc=com): DBENV->lockid interface requires an environment configured for the locking subsystem\n
    Sep 22 22:41:50 xyz123 slapd[428]: bdb(dc=xyz123,dc=mydomain,dc=com): DBENV->lock_idfree interface requires an environment configured for the locking subsystem\n
    Sep 22 22:41:50 xyz123 slapd[428]: bdb(dc=xyz123,dc=mydomain,dc=com): txn_checkpoint interface requires an environment configured for the transaction subsystem\n
    Sep 22 22:41:50 xyz123 slapd[428]: bdbdbdestroy: txn_checkpoint failed: Invalid argument (22)\n
    Sep 22 22:41:50 xyz123 slapd[428]: slapd stopped.\n
    We are able to get it running by deleting the log file at /var/db/openldap/openldap-data/log.0000000001 and then rebooting. Thereafter the slapd.log complains:
    Sep 23 20:30:30 xyz123 slapd[58]: bdb(dc=xyz123,dc=dc=mydomain,dc=com): DBENV->logflush: LSN of 1/467990 past current end-of-log of 1/226654\n
    Sep 23 20:30:30 xyz123 slapd[58]: bdb(dc=xyz123,dc=dc=mydomain,dc=com): Database environment corrupt; the wrong log files may have been removed or incompatible database files imported from another environment\n
    Sep 23 20:30:30 xyz123 slapd[58]: bdb(dc=xyz123,dc=dc=mydomain,dc=com): sn.bdb: unable to flush page: 0\n
    We've tried running db_recover -c but that hasn't worked, or at least, we perhaps didn't do it right. We don't have a backup database that predates the existence of this problem.
    I'd appreciate if anyone has help or could point us to a resource explaining what to do to get our slapd working right.

    thank you for giving us a test program. This helped tremendously to fully understand what you are doing. In 5.3 we fixed a bug dealing with the way log files are archived in an HA environment. What you are running into is the consequences of that bug fix. In the test program you are using DB_INIT_REP. This is the key to use that you want an HA environment. With HA, there is a master and some number of read only clients. By default we treat the initiating database as the master. This is what is happening in our case. In an HA (replicated) environment, we cannot archive log files until we can be assured that the clients have applied the contents of that log file. Our belief is that you are not really running in an HA environment and you do not need the DB_INIT_REP flag. In our initial testing where we said it worked for us, this was because we did not use the DB_INIT_REP flag, as there was no mention of replication being needed in the post.
    Recommendation: Please remove the use of the DB_INIT_REP flag or properly set up an HA environment (details in our docs).
    thanks
    mike

  • What are all database monitering tools available in oracle

    what are all database monitering tools available in oracle

    Monitoring Database Operations
    Monitoring and Tuning the Database
    Oracle Database Online Documentation 11g Release 2 (11.2)

  • What kind of database the SSMA uses to store metadata in the file named "source-metabase.mb" ?

    What kind of database the SSMA uses to store metadata in the file named "source-metabase.mb" ?
    I'm looking for the method to open the file and add 'cutom migration script' (some automatization).

    Hi Poman.Pokrovskij,
    When you generate SSMA Assessment Report, there are several files created and saved into Report folder under your SSMA project folder. It includes
    source-metabase.mb, project-container.mappings, preferences.prefs, and so on.
    . MD files are usually saved in plain text format including inline text symbols, defining how a text is formatted such as the indentations, its table formatting, fonts, and headers.
    SSMA provides a project setting that allow you to customize how to set customized database migration. For example, to customize data migration SQL statement, you can modify project setting by navigating to Tools and choosing Project Settings,
    then looking for the setting for
    Extended Data Migration Options and change the value to
    Show. You can select use custom select and modify the SQL statement.
    For more information about SSMA for Oracle, you can review the following articles.How To Perform Incremental Data Migration Using SSMA:
    http://blogs.msdn.com/b/ssma/archive/2010/10/04/how-to-perform-incremental-data-migration-using-ssma.aspx
    Using SSMA Project Setting to Customize Database Migration:
    http://blogs.msdn.com/b/ssma/archive/2011/03/16/using-ssma-project-setting-to-customize-database-migration.aspx?Redirected=true
    Regards,
    Sofiya Li
    Sofiya Li
    TechNet Community Support

  • What are the database resources when collecting stats using dbms_stats

    Hello,
    We have tables that contain stale stats and would want to collect stats using dbms_stats with estiamte of 30%. What are the database resources that would be consummed when dbms_stats is used on a table? Also, would the table be locked during dbms_stats? Thank you.

    1) I'm not sure what resources you're talking about. Obviously, gathering statistics requires I/O since you've got to read lots of data from the table. It requires CPU particularly if you are gathering histograms. It requires RAM to the extent that you'll be doing sorts in PGA and to the extent that you'll be putting blocks in the buffer cache (and thus causing other blocks to age out), etc. Depending on whether you immediately invalidate query plans, you may force other sessions to start doing a lot more hard parsing as well.
    2) You cannot do DDL on a table while you are gathering statistics, but you can do DML. You would generally not want to gather statistics while an application is active.
    Justin

  • What kind of database driver should use for database adapter  in BPEL?

    what kind of database driver (XA or non-XA) should use for database adapter in BPEL? I have only one database adapter and no JMS.
    Thanks
    Jo
    Edited by: 799095 on Sep 30, 2010 8:35 AM

    Hi
    It depends on wheter you need XA transaction or not.
    See http://www.theserverside.com/discussions/thread.tss?thread_id=21385 third reply.
    If you only have one database and no synchronous dependency to the caller, non-XA should be OK.
    -Johan

  • What is best devl environment

    Hi All
    I inherited a punch of code in an ear file.
    The ear file contains many jar files (each handles some modules) and 1 war file
    The users currently run the ear file in a Geronimo server
    I don’t have Geronimo for development but I use eclipse and Tomcat.
    Like the original developer, I can create each java project for each jar. Develop each jar separately, build the jars and put them back to the ear project to test with the war. This way I have to do lot of work to test the changes
    I can also create a single web project and copy code from the jar files one by one to my web project, so all the java code will be in a single war file. This will be very easy for me to test but the structure of project will be changed
    What is best development environment should I have? What is the benefits of having lot of jar projects then combine all in an ear vs. having 1 single war file
    Thank you very much

    mycoffee wrote:
    captfoss wrote:
    mycoffee wrote:
    This will be very easy for me to test but the structure of project will be changedWhy exactly is the structure of the project changing a bad thing?
    Further, why can't you use the web project for testing and then the other convoluted way for deployment? Most professional systems have a different system for testing and actual builds.Good advice
    I prefer 1 war file for easy testing, developingJust a caution: If your normal development/test environment is different from the final build/deploy environment, make sure you eventually test your code using the to-be-deployed version (before actual deployment). We don't do web apps, but we had a couple of problems in which the development testing of the server code worked because all Java class files were accessible when running from Eclipse, but the deployed version of the system failed (beta deployment, so we had time to fix it in the next beta version before full operations). From Eclipse, we run from the individual class files. The application is actually deployed in jar files, and the server jars didn't include certain packages because it was assumed that those packages were "client-only" (this particular issue was just a Date formatting method, so it had nothing actually GUI-related in it). Instead of changing the definition of the jar files, we moved the method to a package that was already included in both server and client jar files.

  • So what is the Database setting in Preference for?

    In the years of using Safari, in the Preferences it has settings for Database under Security tab. I've left it at the default 5mb. Whenever I clicked Show Database nothing was ever in there. But yesterday there were two items. I Removed them not paying any attention really. Then today another appeared named ourstage.com.
    I've never been to that site or heard of it. So I went to it. Nope nothing I've ever been to.
    So what is this database setting? Should I leave it active? What benefit does it do for Safari or me as a surfer?
    Thanks
    Using the latest Safari released, Version 5.0.3 (6533.19.4) and 10.5.6

    HI,
    http://www.apple.com/safari/features.html
    See: HTML5 Offline Support
    I have "twitter.com" on mine. That way I never have to re sign in. A "super cookie" ... Not all sites support that feature.
    Carolyn

  • Can someone explain what is the Database Instant Client

    Download 10.2.0.4 Database Instant Client for Apple Mac OS X on Intel x86
    What does the Database Instant Client contain?
    What functionality does it have?
    Does it include a 'lite' version of the database to run locally? Or is it only a set of tools that can connect to a remote (on another machine) database?

    It is only a client for connecting to databases. It is easier to install than the full client.
    It does not include a database. Check the following link :-
    http://www.oracle.com/technology/tech/oci/instantclient/index.html
    http://www.ContractOracle.com

  • What  type of  database  operations  effectd  with  Unicode  and  non  unic

    Hi  Friends,
       I want  to  know what  type of  database  operations  effects  with  Unicode  and  non Unicode  Programing  .
    Thanks,
    Ravi Kumar Mukkera

    Hi ,
    Check these links .
    http://help.sap.com/saphelp_nw04/helpdata/en/62/3f2cadb35311d5993800508b6b8b11/frameset.htm
    https://www.sdn.sap.com/irj/sdn/go/portal/prtoot/docs/library/uuid/ff99cb90-0201-0010-e389

  • What is Matrix Management Environment?

    hello
    Can somebody tell me what is Matrix Management Environment in reference to BI project?
    Thanks

    A Matrix Management Organisation can be any organisation which has both vertical & Horizontal responsibilites which are classified on the basis of Ownership, Department...etc.,
    A Typical MMO in IT can be,
    Say different Departements under CIO for a business which has two business areas chemical & pharmacy
                        IT security     IT BI      IT strategy
    Chemical        Developer1
    Pharmacy                         Developer1
    The developer 1 can belong to chemical departments but should also report to IT BI - Pharmacy for a project. This sort of sharing the resource across many departments is typically the use of matrix organisation.
    It helps in accoutability, when one business is spun out then it will be easier when we have a MMO.
    There are tons of materials on the net, just google
    Hope it helps
    Karthik

  • Distributed database environment

    In my one Jheadstart project, it will meet distributed database environment, that is some one project's application data be located in different oracle database .
    How to treat this situation, about in one project to handle distributed database environment ?
    Is the jheadstart support multi database connection ?
    or need through database link capacity to fulfill !

    Ting Rung,
    There is at least one thing that you might run into, and that is the issue of transaction management. An application module represents a 'data model' for a tak that is accomplished within one transaction. You can nest application modules, but even then will the top-level application module provide the transaction context.
    This means that all data that necessarily needs to be persisted in one transaction, needs to be represented by the same (hierarcy of) application module(s) and therefore must come from the same data source (database). Said in other words: when the customers are in one database and the orders in another, you cannot persist them in one and the same transaction.
    There are more issues related to distributed applications. I have no experience with that, so I cannot comment on that. I do know that many distributed enterprise applications make use of EJB technology. BC4J supports entity beans (to be compared with entity and view objects). It also knows EJB application modules that behave like session beans. JHeadstart does not support using EJBs, however.
    For further information about the support for EJB technology, I would like to refer you to the online help of JDeveloper.
    Jan Kettenis
    JHeadstart Team

  • What version of Database is required to using JHeadstart?

    What version of Database is required to using JHeadstart?

    Question
    ========
    1) Do you have to upgrade Forms 4.5 character mode to Forms 6i and then Forms 9i before migrating to Java, or can the migration be done directly from either Forms 4.5 or 6i ?
    Jheadstart (JDG) only uses the designer repository as input and not forms. So if you have forms generated out of the designer repository, you can use the designer forms modules as jheadstart input. If you don't, you have to reverse engineer (capture) your forms into designer first.
    2) What version of Designer is also required ?
    You need designer 6i patch 4.2, see also http://otn.oracle.com/consulting/9iServices/install.html#compatibility
    Gerrit

  • What is Oracle Database Clusturing?

    Hi Gurus
    What is Oracle Database Clusturing?
    And what is the procedure?
    Help will be highly appreciated.
    Regards
    Zahid Ali

    This will answer your first question:
    http://otn.oracle.com/pls/db92/db92.to_toc?pathname=rac.920%2Fa96597%2Ftoc.htm&remark=docindex
    This will answer your second question:
    http://otn.oracle.com/pls/db10g/db10g.to_toc?pathname=..%2F..%2Fhtml%2FB10766_08%2Ftoc.htm&remark=portal+%28Books%29
    This is for 10g.
    more at http://tahiti.oracle.com

Maybe you are looking for

  • Default customized exchange rate type

    Hi friends, I have an issue during an implementation. I want to use a customized exchange rate type for all forex transactions for only 1 company code in the system having several company codes. Please let me know how do i set the customized exchange

  • DataGrid Horizontal Scroll Problem when datagrid contains Item renderer

    I have datagrid with horizontal scroll policy enabled. Grid contains some item renderer also.One of the item renderer is datefield when i select a date from the datefield and say the adjacent cell of the grid also contain datefield itemrenderer and i

  • How to delete unwanted or duplicate pictures from photos

    Trying to organize photos into albums. In doing so want to delete duplicate photos or unwanted photos. Also since I've re-organized pictures into different albums I would like to eliminate older albums.  Is this possible and if so how. I've purchased

  • What are the two copper spots on the left side of my 8830?

    Are they charging ports for a desktop charger? can't find it in the documentation anywhere. Thanks

  • Flash CC and google display network clickTAG

    I have been trying to add a clickTAG to my advert files in Flash CC. Seems to work fine but google is rejecting the adverts as an 'unsupported format'. It appears that Google will only accept SWF files up to 10.1 and the lowest you can export in CC i