If you are loading data into a table then queries against that table must be stopped.
If you are inserting into that table, queries can continue.
There is a technique that has been around for a long time that you might look at….
Have two tables. Query against one while loading the second. This requires a table with the value in it as to which table to use. This “switch table” must then be referenced by the query and let it drive access to the correct table.
one example (and there are probably better ones.) …
FROM TABLE1, SWITCH_TABLE
WHERE SWITCH_TABLE.COL =’1′
FROM TABLE2, SWITCH_TABLE
WHERE SWITCH_TABLE.COL = 2