Updating routing tables in linux
Viewing it this way makes it easier to understand how to code new routes later.For example, it’s easy to see exactly what bits go into the [email protected]: route add 22.214.171.124 reject [email protected]: route -n Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 0.0.0.0 .1 0.0.0.0 UG 0 0 0 eth0 .0 0.0.0.0 255.255.255.0 U 0 0 0 eth0 126.96.36.199 - 255.255.255.255 !With routing tables, once we identify an abusive remote IP address, we can avoid connecting at all, start ignoring their packets completely.It is instructive to first understand what the routing table does and how it can be viewed. When the kernel receives an ethernet packet on any interface, it has to decide what to do with it. Similarly when writing a packet to the network, the routing tables are used to determine which network interface that packet should be written to ( if you have multiple interfaces ).It might be possible to use V$ views to track a transaction back to the objects it affected, but it wouldn't be easy and it would almost certainly perform poorer than the trigger scheme.It turns out, if you have 10g, you can use Oracle's flashback functionality to get this information.I've found this question, where such an pseudo-column exists on a row level: How to find out when an Oracle table was updated the last time I would think something similar exists on a schema level.Can someone please point me in the right direction? The best solution I can come up with is to create a trigger on each of your tables that updates a one-row table or context with the current date/time.
Incidentally, Oracle can't keep a transaction ID per schema, as one transaction could affect multiple schemas.
If any table had any update, the application should reload all the tables into memory.
What would be the most effective way to check the whole schema for update since a given key point (time or transaction id)?
However, you'd need to enable flashback (which carries some overhead of it's own) and the query is ridiculously slow (presumably because it's not really intended for this use): This will cause your application to serialize to some degree: each statement that needs to call this procedure will need to wait until the previous one finishes.
The "last updated" table may also get out of sync, because the update on it will persist even if the update that activated the trigger is rolled back.