Hi!
Package/procedure navigation is already in Oracle plugin TODO list.
Execute script feature is a little bit more complicated.
Yes, currently DBeaver tokenizes script with ";" character and executes each statement separately. This approach allows user to see execution progress and reexecute script from any position. But, you are right, it fails to execute complex SQL statements (like CREATE/ALTER TRIGGER etc) which contains delimiters themselves. There are two possible solutions:
1. Try to parse SQL script correctly and execute complex statements one by one. It is really not an easy task to implement and it has serious disadvantage: if script contains some specific constructions (e.g. for Oracle SQLPlus ) then script will be broken.
2. Execute whole script as a single statement. Disadvantages: no execution progress and hard to understand error position if script fails. Moreover some database drivers doesn't support scripts execution so this feature will driver-dependent.
I think finally we'll make some compromise solution.
Note: you may execute scripts using SQLPlus tool (accessible from context/main menu for Oracle databases)