Solved

Change Oracle 9i tns listener used port 8080 to another port

Posted on 2004-09-08
18
12,205 Views
Last Modified: 2008-01-09
On an server where I run Oracle 9i, I also need to run other server applications.
Those are using port 8080 and a couple of other, that I saw are already used by the unavoidable tns listener of Oracle on that machine.
What is the easiest way to have the listener using another port than 8080, but also other ports like 9090 ?
0
Comment
Question by:LeTay
  • 5
  • 4
  • 3
  • +2
18 Comments
 
LVL 8

Expert Comment

by:Pierrick LOUBIER
ID: 12007690
Edit the file listener.ora located in <ORACLE_HOME>/network/admin :

LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS_LIST =
        (ADDRESS = (PROTOCOL = TCP)(HOST = <server_name>)(PORT = 9090))
      )
    )
  )

You must also update TNSNAMES.ORA on all clients.
0
 
LVL 8

Expert Comment

by:Pierrick LOUBIER
ID: 12007709
And don't forget to bounce the service for changes to take effect...
0
 
LVL 8

Expert Comment

by:Pierrick LOUBIER
ID: 12007767
Here's a detailed note from Metalink dealing with creation of multiple listeners : http://metalink.oracle.com/metalink/plsql/ml2_documents.showDocument?p_database_id=NOT&p_id=232010.1

This could help you to make a progressive migration of your clients.
0
 

Author Comment

by:LeTay
ID: 12007851
Not that I think.
The current listener.ora contains the right default port 1521.
But looking with tcpview tool, I see that it is also listening on other ports like 2481, 2482, 4351, 4419 and the one I need for something else : 8080 and 9090 !
So ?
0
 
LVL 8

Expert Comment

by:Pierrick LOUBIER
ID: 12008091
So you mean change range of ports allowed for established connections ?
Follow this link http://asktom.oracle.com/pls/ask/f?p=4950:8:::::F4950_P8_DISPLAYID:21685475744243
0
 
LVL 23

Expert Comment

by:seazodiac
ID: 12009137
LeTay,

TCPview tool will display all the ports that are listened on this Server that could be by many applications.

are you sure 8080 and 9090 are listened by Oracle TNS listener? they usually don't go that higher in ports.


can you elaborate what exactly you want to do...?

based on the above posts, I am not the ONLY on got confused...
0
 
LVL 7

Expert Comment

by:BobMc
ID: 12012285
Oracle 9 comes with XDB configured by default on port 8080, you will need to remove the service from the dispatchers initialisation parameter in your init.ora and bounce the instance.

Are you running 9iAS /apache - it has a hanit of reserving ports - check your *.conf files

HTH
Bob
0
PRTG Network Monitor: Intuitive Network Monitoring

Network Monitoring is essential to ensure that computer systems and network devices are running. Use PRTG to monitor LANs, servers, websites, applications and devices, bandwidth, virtual environments, remote systems, IoT, and many more. PRTG is easy to set up & use.

 
LVL 47

Expert Comment

by:schwertner
ID: 12013628
LeTay,
In Windows the listener listens on one port (1521 by default) but redirects every session to other ports. This is the reason for so many ports Oracle listens.
Sometimes one needs to reduce the listening ports (firewall, etc.)
In this special case you have to use the Windows option "USE_SHARED_SOCKET".

The net8 connection to a Windows NT/2000 database server normally redirects the port number to a random number when a user process connects to a ORACLE shadow process. It does not use the TCP/IP port sharing like on UNIX systems where the clients only need to know the TNS listener port.
In order to make Oracle connection to work in a firewall environment, the customers had to get a firewall that has a SQL*Net proxy built in or  with the newest TCP/IP Socket implementation of Windows NT 4.0 (available with  Service Pack#3) and Windows 2000 this can now be handled by the use of the  parameter "USE_SHARED_SOCKET".
0
 

Author Comment

by:LeTay
ID: 12013710
Ports 8080 and 9090 are clearly being listened (not established) by the tnslsnr.exe.
tcpview show the process name and the original executable without any doubt.
I find that strange anyway if, as BobMc says, this should be listened by XDB
I will have a look at that XDB...
0
 
LVL 47

Expert Comment

by:schwertner
ID: 12014783
Oracle can use more then one listener on the box. Check how many listeners do you have.
0
 

Author Comment

by:LeTay
ID: 12014802
Only one listener, as far as I could see
0
 
LVL 8

Expert Comment

by:Pierrick LOUBIER
ID: 12014967
Please post TCPView output. Here's a part of mine :

TNSLSNR.EXE:1012      TCP      <server_name>:1521                  <server_name>:0                  LISTENING      
TNSLSNR.EXE:1012      TCP      <server_name>.<domain_name>:1521      <client>:3697                  TIME_WAIT      
TNSLSNR.EXE:1012      TCP      <server_name>.<domain_name>:1521      <client>:1532                  TIME_WAIT      
TNSLSNR.EXE:1012      TCP      <server_name>.<domain_name>:1521      <client>:1542                  TIME_WAIT      
TNSLSNR.EXE:1012      TCP      <server_name>.<domain_name>:1521      <client>:1450                  TIME_WAIT      
TNSLSNR.EXE:1012      TCP      <server_name>.<domain_name>:1521      <server_name>.<domain_name>:1289      ESTABLISHED      
TNSLSNR.EXE:1012      TCP      <server_name>.<domain_name>:1521      <server_name>.<domain_name>:1401      ESTABLISHED      
TNSLSNR.EXE:1012      TCP      <server_name>.<domain_name>:1521      <server_name>.<domain_name>:1523      ESTABLISHED      
TNSLSNR.EXE:1012      TCP      <server_name>.<domain_name>:1521      <server_name>.<domain_name>:1742      ESTABLISHED      
TNSLSNR.EXE:1012      TCP      <server_name>.<domain_name>:1521      <server_name>.<domain_name>:2335      ESTABLISHED      
TNSLSNR.EXE:1012      TCP      <server_name>.<domain_name>:1521      <client>:1629                  TIME_WAIT      
TNSLSNR.EXE:1012      TCP      <server_name>.<domain_name>:1521      <client>:1631                  TIME_WAIT      
TNSLSNR.EXE:1012      TCP      <server_name>.<domain_name>:1521      <client>:1645                  TIME_WAIT      
TNSLSNR.EXE:1012      TCP      <server_name>.<domain_name>:1521      <client>:1650                  TIME_WAIT      
TNSLSNR.EXE:1012      TCP      <server_name>.<domain_name>:1521      <client>:1373                  TIME_WAIT      
TNSLSNR.EXE:1012      TCP      <server_name>.<domain_name>:1521      <client>:1375                  TIME_WAIT      
TNSLSNR.EXE:1012      TCP      <server_name>.<domain_name>:1521      <client>:1664                  TIME_WAIT      
TNSLSNR.EXE:1012      TCP      <server_name>.<domain_name>:1521      <client>:1685                  TIME_WAIT      
0
 
LVL 23

Expert Comment

by:seazodiac
ID: 12015369
Bobmc is right , XDB by default is using 8080.

And you can do this to confirm:

in dos window:


C:\>lsnrctl status


for example in mine it will show this:


Listening Endpoints Summary...
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=dbspare.rockefeller.edu)(PORT=1529)))
  (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1)))
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=dbspare.rockefeller.edu)(PORT=8080))(Presentation=HTTP)(Session=RAW))
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=dbspare.rockefeller.edu)(PORT=2100))(Presentation=FTP)(Session=RAW))
0
 

Author Comment

by:LeTay
ID: 12017051
Here is the relevant part of tcpview on that server (named radon)
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
oracle.exe:1316      TCP      radon:1053      radon:0      LISTENING      
oracle.exe:1316      TCP      radon:1058      radon:0      LISTENING      
oracle.exe:1316      TCP      radon:1060      radon:0      LISTENING      
oracle.exe:1316      TCP      radon:1061      radon:0      LISTENING      
oracle.exe:1316      TCP      radon.zav.st.com:1053      radon.zav.st.com:1521      ESTABLISHED      
oracle.exe:1316      TCP      radon.zav.st.com:1169      radon:0      LISTENING      
oracle.exe:1316      TCP      radon.zav.st.com:1169      zavnt202.zav.st.com:3510      ESTABLISHED      
oracle.exe:1316      TCP      radon.zav.st.com:1189      radon:0      LISTENING      
oracle.exe:1316      TCP      radon.zav.st.com:1189      zavnt202.zav.st.com:3780      ESTABLISHED      
oracle.exe:1376      TCP      radon:1052      radon:0      LISTENING      
oracle.exe:1376      TCP      radon:1054      radon:0      LISTENING      
oracle.exe:1376      TCP      radon:1057      radon:0      LISTENING      
oracle.exe:1376      TCP      radon:1059      radon:0      LISTENING      
oracle.exe:1376      TCP      radon.zav.st.com:1052      radon.zav.st.com:1521      ESTABLISHED      
oracle.exe:1376      TCP      radon.zav.st.com:1072      radon:0      LISTENING      
oracle.exe:1376      TCP      radon.zav.st.com:1072      zavnt201.zav.st.com:2636      ESTABLISHED      
oracle.exe:1376      TCP      radon.zav.st.com:1145      radon:0      LISTENING      
oracle.exe:1376      TCP      radon.zav.st.com:1145      zavnt201.zav.st.com:2762      ESTABLISHED      
TNSLSNR.EXE:1288      TCP      radon:1521      radon:0      LISTENING      
TNSLSNR.EXE:1288      TCP      radon:2481      radon:0      LISTENING      
TNSLSNR.EXE:1288      TCP      radon:2481      radon:0      LISTENING      
TNSLSNR.EXE:1288      TCP      radon:2482      radon:0      LISTENING      
TNSLSNR.EXE:1288      TCP      radon:2482      radon:0      LISTENING      
TNSLSNR.EXE:1288      TCP      radon:8080      radon:0      LISTENING      
TNSLSNR.EXE:1288      TCP      radon:8080      radon:0      LISTENING      
TNSLSNR.EXE:1288      TCP      radon:9090      radon:0      LISTENING      
TNSLSNR.EXE:1288      TCP      radon:9090      radon:0      LISTENING      
TNSLSNR.EXE:1288      TCP      radon.zav.st.com:1521      radon.zav.st.com:1052      ESTABLISHED      
TNSLSNR.EXE:1288      TCP      radon.zav.st.com:1521      radon.zav.st.com:1053      ESTABLISHED
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
And here lsnrctl status
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Listening Endpoints Summary...
  (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\\.\pipe\EXTPROC0ipc)))
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=radon)(PORT=1521)))
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=164.129.144.27)(PORT=8080))(PRESENTATION=http://admin)(SESSION=RAW))
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=164.129.144.27)(PORT=8080))(PRESENTATION=http://admin)(SESSION=RAW))
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcps)(HOST=164.129.144.27)(PORT=9090))(PRESENTATION=http://admin)(SESSION=RAW))
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=164.129.144.27)(PORT=2481))(PRESENTATION=GIOP)(SESSION=RAW))
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcps)(HOST=164.129.144.27)(PORT=9090))(PRESENTATION=http://admin)(SESSION=RAW))
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcps)(HOST=164.129.144.27)(PORT=2482))(PRESENTATION=GIOP)(SESSION=RAW))
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=164.129.144.27)(PORT=2481))(PRESENTATION=GIOP)(SESSION=RAW))
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcps)(HOST=164.129.144.27)(PORT=2482))(PRESENTATION=GIOP)(SESSION=RAW))
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
We can indeed see that the listener is ... listening on 8080, 9090 etc, but the listener.ora configuration file does not contains any settings of that kind.
I supposed that these are pure default value.
Now where and how to change them, no idea. That's really my original question.
0
 
LVL 23

Accepted Solution

by:
seazodiac earned 500 total points
ID: 12017148
Here is How to:


Changing XML DB Default Ports


The following section describes the syntax that can be used to alter XML DB configuration information from within SQL*Plus. Ensure that you are logged into the database from a DBA account. In the following example, the default HTTP/WebDAV and FTP ports are changed from 8080 and 2100 to 8081 and 2111 respectively:
  SQL> -- Change the HTTP/WEBDAV port from 8080 to 8081
  SQL> call dbms_xdb.cfg_update(updateXML(
    2        dbms_xdb.cfg_get()
    3      , '/xdbconfig/sysconfig/protocolconfig/httpconfig/http-port/text()'
    4      , 8081))
    5  /

  Call completed.


  SQL> -- Change the FTP port from 2100 to 2111
  SQL> call dbms_xdb.cfg_update(updateXML(
    2         dbms_xdb.cfg_get()
    3       , '/xdbconfig/sysconfig/protocolconfig/ftpconfig/ftp-port/text()'
    4       , 2111))
    5  /

  Call completed.


  SQL> COMMIT;

  Commit complete.


  SQL> EXEC dbms_xdb.cfg_refresh;

  PL/SQL procedure successfully completed.


  SQL> -- Verify the change
  SQL> set long 100000
  SQL> set pagesize 9000
  SQL> SELECT dbms_xdb.cfg_get FROM dual;

CFG_GET
--------------------------------------------------------------------------------
<xdbconfig xmlns="http://xmlns.oracle.com/xdb/xdbconfig.xsd" xmlns:xsi="http://w
ww.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.oracle.com/x
db/xdbconfig.xsd                                     http://xmlns.oracle.com/xdb
/xdbconfig.xsd">
  <sysconfig>
    <acl-max-age>900</acl-max-age>
    <acl-cache-size>32</acl-cache-size>
    <invalid-pathname-chars>,</invalid-pathname-chars>
    <call-timeout>300</call-timeout>
    <max-session-use>100</max-session-use>
    <default-lock-timeout>3600</default-lock-timeout>
    <resource-view-cache-size>1048576</resource-view-cache-size>
    <protocolconfig>
      <common>
        <extension-mappings>
          <mime-mappings>
            <mime-mapping>
              <extension>au</extension>
              <mime-type>audio/basic</mime-type>
            </mime-mapping>
            <mime-mapping>
              <extension>avi</extension>
              <mime-type>video/x-msvideo</mime-type>
            </mime-mapping>
            <mime-mapping>
              <extension>bin</extension>
              <mime-type>application/octet-stream</mime-type>
            </mime-mapping>
            <mime-mapping>
              <extension>bmp</extension>
              <mime-type>image/bmp</mime-type>
            </mime-mapping>
            <mime-mapping>
              <extension>doc</extension>
              <mime-type>application/msword</mime-type>
            </mime-mapping>
            <mime-mapping>
              <extension>eml</extension>
              <mime-type>message/rfc822</mime-type>
            </mime-mapping>
            <mime-mapping>
              <extension>gif</extension>
              <mime-type>image/gif</mime-type>
            </mime-mapping>
            <mime-mapping>
              <extension>htm</extension>
              <mime-type>text/html</mime-type>
            </mime-mapping>
            <mime-mapping>
              <extension>html</extension>
              <mime-type>text/html</mime-type>
            </mime-mapping>
            <mime-mapping>
              <extension>jpe</extension>
              <mime-type>image/jpeg</mime-type>
            </mime-mapping>
            <mime-mapping>
              <extension>jpeg</extension>
              <mime-type>image/jpeg</mime-type>
            </mime-mapping>
            <mime-mapping>
              <extension>jpg</extension>
              <mime-type>image/jpeg</mime-type>
            </mime-mapping>
            <mime-mapping>
              <extension>jsp</extension>
              <mime-type>text/html</mime-type>
            </mime-mapping>
            <mime-mapping>
              <extension>mid</extension>
              <mime-type>audio/mid</mime-type>
            </mime-mapping>
            <mime-mapping>
              <extension>mov</extension>
              <mime-type>video/quicktime</mime-type>
            </mime-mapping>
            <mime-mapping>
              <extension>movie</extension>
              <mime-type>video/x-sgi-movie</mime-type>
            </mime-mapping>
            <mime-mapping>
              <extension>mp3</extension>
              <mime-type>audio/mpeg</mime-type>
            </mime-mapping>
            <mime-mapping>
              <extension>mpe</extension>
              <mime-type>video/mpg</mime-type>
            </mime-mapping>
            <mime-mapping>
              <extension>mpeg</extension>
              <mime-type>video/mpg</mime-type>
            </mime-mapping>
            <mime-mapping>
              <extension>mpg</extension>
              <mime-type>video/mpg</mime-type>
            </mime-mapping>
            <mime-mapping>
              <extension>msa</extension>
              <mime-type>application/x-msaccess</mime-type>
            </mime-mapping>
            <mime-mapping>
              <extension>msw</extension>
              <mime-type>application/x-msworks-wp</mime-type>
            </mime-mapping>
            <mime-mapping>
              <extension>pcx</extension>
              <mime-type>application/x-pc-paintbrush</mime-type>
            </mime-mapping>
            <mime-mapping>
              <extension>pdf</extension>
              <mime-type>application/pdf</mime-type>
            </mime-mapping>
            <mime-mapping>
              <extension>ppt</extension>
              <mime-type>application/vnd.ms-powerpoint</mime-type>
            </mime-mapping>
            <mime-mapping>
              <extension>ps</extension>
              <mime-type>application/postscript</mime-type>
            </mime-mapping>
            <mime-mapping>
              <extension>qt</extension>
              <mime-type>video/quicktime</mime-type>
            </mime-mapping>
            <mime-mapping>
              <extension>ra</extension>
              <mime-type>audio/x-realaudio</mime-type>
            </mime-mapping>
            <mime-mapping>
              <extension>ram</extension>
              <mime-type>audio/x-realaudio</mime-type>
            </mime-mapping>
            <mime-mapping>
              <extension>rm</extension>
              <mime-type>audio/x-realaudio</mime-type>
            </mime-mapping>
            <mime-mapping>
              <extension>rtf</extension>
              <mime-type>application/rtf</mime-type>
            </mime-mapping>
            <mime-mapping>
              <extension>rv</extension>
              <mime-type>video/x-realvideo</mime-type>
            </mime-mapping>
            <mime-mapping>
              <extension>sgml</extension>
              <mime-type>text/sgml</mime-type>
            </mime-mapping>
            <mime-mapping>
              <extension>tif</extension>
              <mime-type>image/tiff</mime-type>
            </mime-mapping>
            <mime-mapping>
              <extension>tiff</extension>
              <mime-type>image/tiff</mime-type>
            </mime-mapping>
            <mime-mapping>
              <extension>txt</extension>
              <mime-type>text/plain</mime-type>
            </mime-mapping>
            <mime-mapping>
              <extension>url</extension>
              <mime-type>text/plain</mime-type>
            </mime-mapping>
            <mime-mapping>
              <extension>vrml</extension>
              <mime-type>x-world/x-vrml</mime-type>
            </mime-mapping>
            <mime-mapping>
              <extension>wav</extension>
              <mime-type>audio/wav</mime-type>
            </mime-mapping>
            <mime-mapping>
              <extension>wpd</extension>
              <mime-type>application/wordperfect5.1</mime-type>
            </mime-mapping>
            <mime-mapping>
              <extension>xls</extension>
              <mime-type>application/vnd.ms-excel</mime-type>
            </mime-mapping>
            <mime-mapping>
              <extension>xml</extension>
              <mime-type>text/xml</mime-type>
            </mime-mapping>
            <mime-mapping>
              <extension>zip</extension>
              <mime-type>application/x-zip-compressed</mime-type>
            </mime-mapping>
          </mime-mappings>
          <lang-mappings>
            <lang-mapping>
              <extension>en</extension>
              <lang>english</lang>
            </lang-mapping>
          </lang-mappings>
          <charset-mappings/>
          <encoding-mappings>
            <encoding-mapping>
              <extension>gzip</extension>
              <encoding>zip file</encoding>
            </encoding-mapping>
            <encoding-mapping>
              <extension>tar</extension>
              <encoding>tar file</encoding>
            </encoding-mapping>
          </encoding-mappings>
        </extension-mappings>
        <session-pool-size>50</session-pool-size>
        <session-timeout>6000</session-timeout>
      </common>
      <ftpconfig>
        <ftp-port>2111</ftp-port>
        <ftp-listener>local_listener</ftp-listener>
        <ftp-protocol>tcp</ftp-protocol>
        <session-timeout>6000</session-timeout>
      </ftpconfig>
      <httpconfig>
        <http-port>8081</http-port>
        <http-listener>local_listener</http-listener>
        <http-protocol>tcp</http-protocol>
        <session-timeout>6000</session-timeout>
        <server-name>XDB HTTP Server</server-name>
        <max-header-size>16384</max-header-size>
        <max-request-body>2000000000</max-request-body>
        <servlet-realm>Basic realm="XDB"</servlet-realm>
        <webappconfig>
          <welcome-file-list>
            <welcome-file>index.html</welcome-file>
            <welcome-file>index.htm</welcome-file>
          </welcome-file-list>
          <error-pages/>
          <servletconfig>
            <servlet-mappings>
              <servlet-mapping>
                <servlet-pattern>/Test</servlet-pattern>
                <servlet-name>TestServlet</servlet-name>
              </servlet-mapping>
              <servlet-mapping>
                <servlet-pattern>/oradb/*</servlet-pattern>
                <servlet-name>DBURIServlet</servlet-name>
              </servlet-mapping>
            </servlet-mappings>
            <servlet-list>
              <servlet>
                <servlet-name>TestServlet</servlet-name>
                <servlet-language>Java</servlet-language>
                <display-name>XDB Test Servlet</display-name>
                <description>A servlet to test the internals of the XDB Servlet API</description>
                <servlet-class>xdbtserv</servlet-class>
                <servlet-schema>xdb</servlet-schema>
              </servlet>
              <servlet>
                <servlet-name>DBURIServlet</servlet-name>
                <display-name>DBURI</display-name>
                <servlet-language>C</servlet-language>
                <description>Servlet for accessing DBURIs</description>
                <security-role-ref>
                  <role-name>authenticatedUser</role-name>
                  <role-link>authenticatedUser</role-link>
                </security-role-ref>
              </servlet>
            </servlet-list>
          </servletconfig>
        </webappconfig>
      </httpconfig>
    </protocolconfig>
  </sysconfig>
</xdbconfig>


0

Featured Post

PRTG Network Monitor: Intuitive Network Monitoring

Network Monitoring is essential to ensure that computer systems and network devices are running. Use PRTG to monitor LANs, servers, websites, applications and devices, bandwidth, virtual environments, remote systems, IoT, and many more. PRTG is easy to set up & use.

Join & Write a Comment

Cursors in Oracle: A cursor is used to process individual rows returned by database system for a query. In oracle every SQL statement executed by the oracle server has a private area. This area contains information about the SQL statement and the…
Background In several of the companies I have worked for, I noticed that corporate reporting is off loaded from the production database and done mainly on a clone database which needs to be kept up to date daily by various means, be it a logical…
This video explains at a high level with the mandatory Oracle Memory processes are as well as touching on some of the more common optional ones.
This video shows how to set up a shell script to accept a positional parameter when called, pass that to a SQL script, accept the output from the statement back and then manipulate it in the Shell.

707 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

14 Experts available now in Live!

Get 1:1 Help Now