The table base is just a pointer variable and should contain either the base address of the FLASH vector table or the base address of the RAM vector table. At boot time the pointer points to flash. Once a RAM table has been setup (at least the 16 core vectors), the pointer can be the address of that RAM table.
Main risk of error is getting the correct alignment of the RAM table. Apparently the core does not use an adder for the calculation of a vector location, but a bit field combiner. Therefore the whole table must be aligned to a 256 byte, 512 byte or 1024 byte boundary, rounding up the size of the table in bytes (number of vectors * 4). When the table alignment is bad, the NVIC will pick lower vectors for higher interrupts, a confusion that will ruin everything else.
Except of alignment you can put the vector table where you like.