Why I'm not able to dump database and get error: File size limit exceeded ?

Your system administrator must have imposed limitation on your account for file size creation.. Just run ulimit command to find out file size limitation:

 

$ ulimit -a

Example of output: 
core file size          (blocks, -c) 0
data seg size           (kbytes, -d) unlimited
file size               (blocks, -f) 805696
pending signals                 (-i) 1024
max locked memory       (kbytes, -l) 32
max memory size         (kbytes, -m) unlimited
open files                      (-n) 1024
pipe size            (512 bytes, -p) 8
POSIX message queues     (bytes, -q) 819200
stack size              (kbytes, -s) 10240
cpu time               (seconds, -t) unlimited
max user processes              (-u) 32491
virtual memory          (kbytes, -v) unlimited
file locks                      (-x) unlimited
The above output clearly stat that you can create file size upto 805MB limit.
To change this limit or if you do not wish to have a limit you can edit your /etc/security/limits.conf file (login as the root):
# vi /etc/security/limits.conf

Look for your username and fsize parameter.
Delete this line or set new parameter.
For example consider following entry where I am setting new file size limit to 1 GB:

peter hard fsize 1024000

If you wish to setup limit for all users, use * on place of username like this (5GB limit):

*               hard    fsize           5000000

If you don't want to apply any limits, just delete or comment entry for your username from this file.

Save the changes. Log out and log back in for the changes to take effect.

Now your limit is 1GB file size. If you do not want any limit remove fsize from /etc/security/limits.conf.