This content has been marked as final. Show 15 replies
969224 wrote:when all else fails, Read The Fine Manual
can some explain what a Server Session is?
I've been reading about Rman channels in the following link
and it talks about how each rman channel corresponds to one Server Session and I have no idea what a server session is. If any one can explain what a server session is or point me towards some good links that expalin what a server session is, that would be great.
Whenever a target server gets connected with RMAN catalog/nocatalog then it establishes a session with the RMAN executable/binary(in short rman command) That is nothing but it establishes a Server Session . So whenever a connection is made through RMAN of a Target database then it establishes a Server session.
It's very clear in the doc:
An RMAN channel represents one stream of data to a device type and corresponds to one server session. Allocation of one or more RMAN channels is necessary to >execute most backup and recovery commands. As illustrated in Figure 5-1, each channel establishes a connection from the RMAN executable to a target or auxiliary >database instance by starting a server session on the instance. The server session performs the backup, restore, and recovery operations. Only one RMAN session >communicates with the allocated server sessions.Regards,
If I understood the document correctly then
1. each connection from rman to the target database establishes a session called the server session
2. Also each rman channel establishes a connection to the target database, so each of these individual rman channels corresponds to a single server session.
channel -----> connection
connection ----> server session
=> channel -------> server session (so it's like a=b b=c => a=c right?)
I am a little confused here, if there are two channels, then there are two server sessions established right?
so if rman is taking a backup using these two channels, then would the parallelism be set to two and that two backup sets will be created?
one more question
so a server session is nothing but a result of a connection established from rman client to the target database instance. an 'n' number of channles result in 'n' number of connections, there by producing 'n' number of server sessions.
I am confused because of the word "Server" in front of the word "Session", so I was just thinkin if "Server Session" has a different sort of meaning then a normal "Session". So oracle could have called the "Server Session" an "Rman Session" or a "Reocevery Session" or some "X Session" but decided to stick with the term "Server Session" to describe the connectin between rman client and the target database right?
if there are two channels, then there are two server sessions established right?No this is not the case. Whenever a Server session is established two channels are allocated(which is by default) one is for connection and another is for communication. We can allocate n number of channels as well but the default is two.. Hope you read the docs number of times to understand.
So what you are saying is, we can allocate "n" number of channels for a single server session, but the default is 2 channels per server session right?
Exactly .. you are right..
Then why does the documentation say "An RMAN channel represents one stream of data to a device type and corresponds to one server session". Is thist talking about the RMAN channel that is only used for communication?
Its obvious that whenever a backup is taken or else restored for a server session it will be done to/from a device type (tapes/disks) . So the stream of data will be carried out a communication channel. The stream of data(backup pieces) will pass through the number of allocated channels .
The stream of data(backup pieces) will pass through the number of allocated channels.
does this mean that the parallelism is also dependent on the no. of channles allocated to the server session, and that, the no. of backup sets created will be dependent on the no. of channels you allocate to the server session?
Please read below link :
and Correlating Server Sessions with RMAN channel section part.
Thanks Girish.. That will be enough for OP to understand.
I think the link given by Girish is enough for you to understand. If that link works for you then i think you can make this thread as answered.
does this mean that the parallelism is also dependent on the no. of channles allocated to the server session, and that, the no. of backup sets created will be dependent on the no. of channels you allocate to the server session?Configuring Channel Parallelism:
Configuring parallelism for a device type specifies the number of server sessions to be used for I/O to that device type. By default, channel parallelism for each configured device is set to 1. As a rule, allocating one channel for each physical device is best. If you are backing up to only one disk location or only one tape drive, then you need only one channel.
The CONFIGURE DEVICE TYPE ... PARALLELISM integer command specifies how many channels (up to 254) RMAN should allocate for jobs on the specified device type. This command allocates three channels for jobs on device type DISK :
RMAN> CONFIGURE DEVICE TYPE DISK PARALLELISM 3;
These commands back up to a media manager using two tape drives in parallel:
RMAN> CONFIGURE DEFAULT DEVICE TYPE TO sbt; # default backup device is tape
RMAN> CONFIGURE DEVICE TYPE sbt PARALLELISM 2; # configure two tape channels
RMAN> BACKUP DATABASE; # backup goes to two tapes, in two parallel streams
Each configured sbt channel will back up roughly half the total data.