Many real world problems can be modeled as large-scale global optimization (LSGO) problems which are very challenging due to their high nonlinearity, high dimensionality and too many local optimal solutions, especially for non-separable LSGO problems. In this paper, a two phase hybrid algorithm is proposed which is suitable for both non-separable and separable (fully and partially separable) LSGO problems. In the first phase, we design a self-adaptive discrete scan algorithm which can quickly and roughly scan the search space, locate promising areas and find good points to start with. The algorithm first converts the continuous search space into discrete one in order to save computational resources, and then dynamically restricts the upper and lower bounds of the search space so that the search can focus on the smaller and more promising region. In this way, it can effectively mitigate the premature convergence and save computational resources as well. In the second phase, we first design a new contribution-based decomposition method (CBD) for the most challenging non-separable LSGO problems, and then propose a self-adaptive decomposition method, in which two decomposition methods (FBG for fully and partially separable problems and CBD for non-separable problems) are automatically chosen. The parameters can also be self-adaptively changed to fit different problems and different stages of the optimization process. Based on these techniques, a two-phase hybrid algorithm (TPHA) is proposed for LGSO problems. Experiments are conducted on 15 most difficult LSGO problems in CEC' 2013 benchmark suite and on a real world problem, and TPHA is compared with the best and the state-of-the-art algorithms on these test problems. The results indicate the proposed TPHA is more effective than the compared state-of-the-art algorithms.