Continue to say Oracle's MTS

zhaozj2021-02-16  50

On the 9CBS, I received a MTS's mail after I received some netizens or a message, and they still have some questions about MTS. In chatting with Piner, Fenng, Biti and other netizens, they all do not agree with the MTS. He also opposed the engineers with Oracle, but in my actual application process, I have encountered some problems. But the overall MTS still makes me very satisfied, making my Oracle Server's memory utilization of Peak Time dropped from 95% to 78%, and the speed of the application is still very good. I added another addition to MTS in the form of a problem.

1. After the Oracle Server is adjusted to the MTS mode, some clients have a situation that cannot be connected to Oracle Server, and most of the report is TNS-12509, how to solve?

Answer: In the actual process, there is this situation. I summed up, mostly caused by Oracle8's client, that is, those who have a service name have to hang. World's client, actually solved Very simple, just change "SID =" configured in the TNSName.ora file in this file in this file to "Service_Name =", which is OK.

2. I used Chengdu Memu's "Tunnel Gateway" product, which was previously in the Dedicated method, but after the MTS was changed, why did the Client die not Oracle's Server?

Answer: In fact, our company also used this product and encountered this problem at the beginning of MTS application. The reason for this problem is that this product of Maipu is only returned to monitor the static end. It thinks that Oracle's listening port is the return port. It is not like this in the MTS, more connectivity, with Netstat -n The client will understand that the port returned by the MTS is dynamic, so this product of Map is not easy. The solution to the urgent eye can be like this: When configuring "service name" in the MTS client, request a Dedicate connection, which is solved with the server = dedicated option.

3. How do I track the MTS's Dispatcher and Shared Server process?

Answer: This requires a diagnostic event. The DISPATCHER diagnostic event number is 10248, and the Shared Server is 10249, as follows with Shared Server as an example, it is assumed that the process number of the operating system of S015 is 13161.

SQL> Conn Sys / Pass As Sysdbasql> ORADEBUG SETOSPID 13161 SQL> ORADEBUG TRACE_NAME - Look at the name of the tracking file SQL> ORADEBUG Event 10249 Trace Name Context Forever, Level 10

You can also add the following two lines in INIT . OA to complete the TRACE:

Event = "10248 Trace Name Context Forever, Level X" - Dispatcher Event = "10249 Trace Name Context Forever, Level X" - Shared Servers

4, how to set IPC in MTS

Answer: The following configuration sample is from metalinklistener.ora: ============= Listener = (address_list = (protocol = ipc) (kY = )) (address = (PROTOCOL = IPC) (KEY = ))) CONNECT_TIMEOUT_LISTENER = 10 STARTUP_WAIT_TIME_LISTENER = 0 SID_LIST_LISTENER = (SID_LIST = (SID_DESC = (SID_NAME = ) (ORACLE_HOME = ))) Other protocols can be used in the address list to join the address. This example is completely an IPC example tnsnames.ora: ============= = (description = (address = (protocol = ipc) (key = )) Connect_data = (SID = ))) Init.ora Entries for MTS: ================================== MTS_DISPATCHERS = "IPC, 2 "MTS_SERVERS = 1 MTS_MAX_DISPATCHERS = 6 mTS_MAX_SERVERS = 3 mTS_SERVICE = MTS_LISTENER_ADDRESS =" (ADDRESS = (PROTOCOL = IPC) (KEY = )) "5, how to look at a shared_server what is being busy?

Answer: In fact, this is the same as the Dedicated method, but also S015 as an example, its SPID is 13161, use the following SQL to check

Out:

Select A.Username, A.Machine, A.Program, A.SID, A.Serial #, A.STATUS, C.PIECE, C.SQL_TEXT FROM V $ SESSION A, V $ Process B, V $ SQLText C Where B .SPID = 13161 and b.addr = a.paddr and a.sql_address = c.address ( ) Order by C.Piece

6. I have seen a shared server in UNIX to occupy a lot of CPU resources. Through SELECT AddR from V $ process where spid = check the process of Address, and SELECT * from V $ session where paddr = Oneahy, I can't learn what I am busy with this Shared Server, what should I do? Reply:

Select Status from V $ Circuit WHERE CIRCUIT IN (SELECT CIRCUITW HDR = ) If status returns to EOF, the actual Shared Server has already died, you can clear it on the operating system Falling: EG: Oracle $ KILL-9

You don't have to worry about what a big impact will kill, after a few minutes, PMON will restart this Shared Server process to you.

7. How to restore the connection mode of Dedicate in the case of a nonwown library, and enable more Dispatcher?

Answer: 7.1 Turn off: SQL> ALTER SYSTEM SET MTS_DISPATCHERS = 'TCP, 0';

7.2 Enable more Dispatcher SQL> ALTER SYSTEM SET MTS_DISPATCHERS = 'TCP, 40';

Some content refer to Metalink Note: 47684.1

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

New Post(0)