Connect to Teradata Virtual Machine Guest from Windows Host

2015-05-18 teradatateradata-tool

In my previous posts about Querying Teradata and SQL Server, I logged into the virtual machine graphic interface to manage the database. However, I constantly found it is resource intensive as there is only 4GB memory in my laptop. Instead, I will use text mode to start the virtual machine and connect through SQL Assistant in Windows master machine.

Prerequisites

Install Virtual Machine

Install Teradata Express 15.0.0.8 by Using VMware Player 6.0 in Windows

Follow the above post to setup your Teradata virtual machine if you have not done that.

Install Windows Client Tools and Utilities

Download and install ‘Teradata Tools and Utilities - Windows Installation Package’:

http://downloads.teradata.com/download/tools/teradata-tools-and-utilities-windows-installation-package

This includes SQL Assistant, load & unload utilities, database management, administration and drivers, and much more to be used to connect to your Teradata Express database instance.

/project/teradata/resources/4A55DFEF-AD00-5DC7-8B1E-385E68E2259D.webp

Change the startup mode

If you want to startup SUSE Linux without GUI, find file ‘/etc/inittab’ and  you will see this line id:5:initdefault

Change the value 5 to 3 ; after you change it, the  line will look like this id:3:initdefault:

When you reboot, the default is the text startup mode.

/project/teradata/resources/3BADF0C2-BE7F-539E-AC77-897724301564.webp

Configure the VM Settings

You can now only allocate the smaller size memory to your virtual machine. In my case, I allocated 1536 MB.

/project/teradata/resources/AECC57CC-30E2-5B20-82A1-F3298453DBAD.webp

For network connections, you can choose NAT.

/project/teradata/resources/EFA66EFC-61C7-5D3A-BFB7-7A68D705D26A.webp

After configuration, start the VM.

Input root Password

Input the default password ‘root’ if you have not changed it.

/project/teradata/resources/D3EB06B1-9404-5F57-BADA-338EC9829168.webp

Check IP Addresses

When starting with level 3, you should be able to see the IP address of the VM:

/project/teradata/resources/20D12BB9-D756-56B1-9A6A-0508C63BF07E.webp

Alternatively, use IP ADDR command to check you IP:

/project/teradata/resources/A9C36B5C-AE88-57D0-BED6-76A2C7B1AA9A.webp

In my case, the IP assigned by the virtual DHCP is 192.168.121.128.

Make sure you can ping the VM successfully in the host.

/project/teradata/resources/DE484D86-1B8B-5E03-9E8E-0B07678D977A.webp

Check Teradata status

Use command ‘pdestate –a’ to check the status of Teradata services. Ensure the status is running (PDE state is RUN/STARTED).

Running the command multiple times, you can notice the status change:

  • PDE state is START/STARTTPA
  • PDE state is START/STARTED
  • DBS state is 1/1 DBS Startup – Initializing DBS Vprocs
  • DBS state is 1/1 DBS Startup – Initializing DBS Configuration
  • DBS state is 1/5 Logons are enabled – The system is quiescent
  • ..
  • DBS state is is 4 Logons are enabled – Users are logged on

Sometimes I found the service cannot be started because of insufficient memory allocated. If that is the case, allocate more memory to your VM.

Connect in Windows host

Open Teradata SQL Assistant in Windows host machine.

/project/teradata/resources/F1AF0A94-EB88-5BE5-9428-BC52764311CC.webp

Choose Teradata.Net as the driver.

Input the following parameters:

Server: 192.168.121.128 (IP address of the virtual machine)

User: dbc

Password: dbc

/project/teradata/resources/B6855AF5-9E3A-52F1-95CE-50771659610B.webp

Click OK to connect. Once it is done, you can view the objects in DBC database.

/project/teradata/resources/216D8F60-4115-51C2-8E96-E262E4A0B2F7.webp

Error about login

If you encountered the following error, it is probably because the service is not started yet.

---------------------------Teradata SQL Assistant--------------------------- [115025] Could not resolve Data Source=192.168.121.128 to an available node after 1 attempts.

[10061] System.Net.Sockets.SocketException (0x80004005): No connection could be made because the target machine actively refused it 192.168.121.128:1025

at System.Net.Sockets.Socket.EndConnect(IAsyncResult asyncResult)

at Teradata.Client.Provider.WpTcpTransport.WaitOnSockets(List`1 sockets, UtlStopwatchWrapper timer, Int32 timeout, Int32 lccTimeout, TdErrorCollection errors)---------------------------OK   ---------------------------

Query the Database

If you have been following my tutorial about Querying Teradata and SQL Server, you can now use SQL Assistant in the host system to query the data.

DATABASE    TD_MS_SAMPLE_DB;
SELECT    Emp.EmployeeID,
    Emp.EmployeeName,
    Dept.DepartmentName
    FROM TD_MS_SAMPLE_DB.Employee Emp
    INNER JOIN Department Dept
    ON Dept.DepartmentID = Emp.DepartmentID
    ORDER BY Emp.EmployeeID;

You will get the following result:

/project/teradata/resources/101C08F0-75EC-5FE5-8163-4016AE9FEBE8.webp

Start/Stop Service

If your VM accidently stopped, you can restart it using the following command.

/etc/init.d/tpa start

Read the official article for more details:

http://www.info.teradata.com/HTMLPubs/DB_TTU_14_00/index.html#page/Database_Management/B035_1093_111A/ch11.030.01.html

PDE state is DOWN/HARDSTOP

The PDE state in my VM stays at DOWN/HARDSTOP though I restarted the TPA service several times.

Look into the log and then I found out the reason.

/less /var/log/messages

/project/teradata/resources/59C15B82-E9B2-5AE2-AA12-2B6E5CEBB397.webp

The culprit was found out:

PdeMain NOT started, PANIC-LOOP-DETECTED. Please delete file “/var/opt/teradata/tdtemp/PanicLoopDetected”, after resolving the panic issue.

I used the command ‘rm /var/opt/teradata/tdtemp/PanicLoopDetected’. The issue was then fixed.

/project/teradata/resources/0725B160-2871-5649-8257-3ED024ADAA2A.webp

Love GUI more?

You can change back to GUI mode. Input YaST command.

Select ‘System Services (Runlevel)’

/project/teradata/resources/98D394B5-8379-5B79-9D18-ED22416FEB43.webp

Change the default runlevel after booting back to 5./project/teradata/resources/F4247297-8522-5805-B878-67FCBE3FAD30.webp

Definitely, you can also directly modify the file ‘/etc/inittab’ as we did previously.