How does the Oracle Express Edition database work?

Asked

Viewed 1,231 times

3

I would like an explanation as to the operation of the database Express Edition made available by Oracle for students, because by the terminal I created a table and made an insertion and everything well , I closed the application, when I opened and made a query the data was no longer stored and the database informed that there was nothing in the table in question.
Here are two issues:
Its storage is volatile , being used only so that one can learn its commands?
I wanted an explanation about its use, and it also has a graphical interface?.

3 answers

2

Try running your command (table creation, Insert, etc.) and add to the end:

COMMIT;

Close the program and open it again and check that the data is still persisted, if the answer is yes you have to activate the implicit commit in your database.

About your question about the Express version, the answer is nay, this database works the same as the paid version for data storage.

2

Understanding the behavior of a COMMIT

Any transaction is usually initiated by an application or user. During the execution of a transaction, data changes and therefore buffer (memory) changes are generated. This memory area is defined by the log_buffer parameter. When a user or application executes a COMMIT, Oracle immediately writes the data stored in buffer (memory) to disk (redo log files) along with the data from redo to commit. Until this process is completed, (all data is recorded in the Redo Online Log Files) Oracle will not "release" the session.

Changing the behavior of a COMMIT

You can change the behavior of a COMMIT statement in 2 ways:

  1. Options via the COMMIT command itself
  2. Changing the session or Environment

Information taken from the link: http://imasters.com.br/artigo/24548/oracle/alterando-comportamento-de-transacoes-no-oracle-database-com-asynchronous-commit/

2


Oracle Express Edition is identical to Enterprise editions, having only license and capacity limitations (base size, number of users, concurrent performance, etc.).

The problem you are facing is because the default behavior of Oracle is implicitly initiate a transaction when receiving a data manipulation command (Insert, delete, update).

This transaction started implicitly needs to be explicitly closed (with a command commit or rolback), otherwise Oracle will automatically do the rollback at the end of the session (when you disconnect).

This behavior is not the standard of all Dbms. Microsoft SQL Server, for example, implicitly starts and commits a transaction to each data manipulation command, provided that the user has not explicitly started the transaction (if the user explicitly starts the transaction he also needs to commit explicitly).

Therefore, to resolve your problem, after entering a record run the command commit, so the transaction will be effective and the registration will be available to other users (other connections).

This default behavior can also be changed by server or session configuration, but is usually not a good idea.

Already the graphical interface is a tool apart from the database server and there are several available, as Oracle SQL Developer and Squirrel SQL Client.

Browser other questions tagged

You are not signed in. Login or sign up in order to post.