Some problems in Oracle

zhaozj2021-02-16  51

Some problems in Oracle

In Oracle Management and Applications, there is inevitable problems. Typically, Oracle displays the error label and short description, we can deal with the problem according to the displayed information. However, sometimes the information displayed is rare, and there is a bit of trouble. This article discusses such a few questions, and proposes a solution according to some information and experience.

First, ORA-00604 Error Occurred At Recursive Sql Level

This information indicates that an error occurs when the internal SQL statement is executed in the database. For example, insert a row of data in a table, but there is no scalable space. Oracle is going to find, where can be built next to extend space, how much it is, but there is no success. Generally, when an ORA-00604 error occurs, it is also accompanied by other errors, such as ORA-1547, and the like.

First, you should check the warning file alertsid.log to find information about ORA-600 class.

The most common cause of this error is that the parameter Open_Cursors value in the database file INITSID.ORA is too small. You can modify the INITSID.ORA file, the value of Open_Cursors is generally 255. After the modification, it is down on Oracle and then restart.

You can also set and start the event tracking function of the database. Plus a line in INITSID.ORA:

Event = "00604 TRACE Name Errorstack"

Down and restart Oracle so that this event tracks the parameters. Thus, when an ORA-604 error occurs, the information is saved in the trace file.

Other reasons for ORA-604 errors may be:

- INITSID.ORA, parameter DC_FREE_EXTENTS or ROW_CACHE_ENQUEES is too low. The value of these two parameters can be appropriately increased depending on the operating system and the database, and the Oracle is restarted and restarted.

- Operation beyond space (with ORA-1547 errors). At this time, add a new file to the table space, that is, add the size of the table space.

- reached Max_EXTENTS (with ORA-1556 error). If this is to modify the table, allow more extensions. Please find the maximum maximum value of MAX_EXTENTS from the technical manual. If the maximum is reached, you must use the Compress Extents option to remove the table (export), and then import the (import) database.

Second, ORA-03106 Fatal Two-Task Communication Protocol Error

This information indicates that an error has occurred when Oracle is working in network communication. For example, when the client application uses the SQL * NET to access the server database, Oracle displays ORA-03106 errors.

First, the compatibility between the customer application and the database server should be checked, which is the most common reason for ORA-03106 error. It has been discovered that developer / 2000 V1.3 previews are not compatible with Oracle V8.0.5 for Digital UNIX; Oracle V7.0.1.6 for Scounix is ​​not compatible with Oracle V8.0.5 for Digital Unix, and so on. Check the NLS (character set) compatibility between the customer application and the database server. Previous years, the Chinese character set on the computer is typically set to zHS16CGB231280, which is generally set to zHS16GBK in recent years, and the settings under the English operating system are generally US7ASCII. It is best to set the character set to the same when the system is installed, which is also convenient for the discharge and import of data between the database. If the database link has not been unconnected, the ORA-03106 error is displayed, then it may be a problem with SQL * NET. To use the database link, the value of the global_names in both database files in INITSID.ORA should be false. The files on the server TNSNames.ora have the other party's database alias, which is the alias used when establishing the database link. In the CLUSTER system, especially in the two-machine, people often write only database homologs with machine virtual addresses in TNSNames.ora, and forget to write to the authenticity of the machine's true address. The database involved in the actual application should be written to TNSNames.ora.

In addition, the value of Open_LINKS in INITSID.ORA is generally defaults to 4, and the value needs to be appropriately added when the application uses multiple database links.

You can also set and start the event tracking function of the SQL * NET to obtain the information generated when an ORA-03106 error is generated, and there is a targeted solving problem.

In the comparative extreme case, the problem indicates that the shared memory segment used by Oracle has collapsed. It may be necessary to use the Abort option to drop the database and release all Semaphores (UNIX). Because Oracle uses Semaphores to control the synchronization of all background processes. Semaphores is also used to control dual tasks between user processes and shadow processes. Since the problem involved in this case is more complicated, the entire machine system can be removed and restarted.

Third, remove the data from Oracle8 and import Oracle7

DMP files from Oracle7 can be imported in Oracle8; but from Oracle8, the DMP file cannot be imported into Oracle7. If you use Oracle7 utilities, you cannot uninvil the data of Oracle8. This is very inconvenient for users who apply multiple versions of Oracle.

In fact, Oracle8 has considered this. In the server directory $ Oracle_home / rdbms / admin, there is a file catexp7.sql, which is used to solve this problem. First, in the Oracle8's server, log in Oracle with the SYS account, then run this catexp7.sql file. The Oracle system then establishes some unloading views, making the Oracle8 database as if it is an Oracle7 database. At this time, you can use the Oracle7 utility directly to unload the Oracle8 data, and then you can smoothly import oracle7.

When using the Oracle7 utility directly unloading Oracle8 data, some things that belong to Oracle8 feature are unloaded. Specifically, you can refer to the relevant technical manual, such as "Oracle8 Utilities".

Four, ORA-27101 Shared Memory Realm Does Not Exist

When the above error message appears, it is generally accompanied by an error message: ORA-01034: Oracle Not Available. The reason is to use different Oracle_home on the same server. This problem is often on the Oracle8.1.7 server version. First check the file initsid.ora and listener.ora, see the correct or not, oracle_sid and oracle_home settings, Oracle8.1.7 is started and runs with this parameter value. In the UNIX environment, the meaning of letters is different, this should be noted. If Oracle_Home points to version 8.1.7, the database is built with version 8.1.6 or 8.1.5, or this error message may also occur.

In a Windows system, if the machine name or IP address is modified, the machine name or IP address used when starting is started, and this type of error will occur if the IP address is not a real machine name or IP address. You can view file ORADIM.LOG under Directory Database, determine the reason according to the content.

On the server involved in domain, including Windows and UNIX, depending on the system settings, you may need to add a domain name when using the machine name.

转载请注明原文地址:https://www.9cbs.com/read-24983.html

New Post(0)