Have a question to rr or any replay debuging tool, does it still work if the program has database access while the replaying machine doesn't have or not have the same database?
Yes, it records all syscall return values, so the replay doesn't actually need to perform them. This means that IO (GUIs, network accesses, etc.) shouldn't happen on replay, in general. (The replay does show stdout/stderr data, so perhaps those are special-cased?)