Design Principles and Patterns

SOLID Software Design Principles. Summary.

SOLID – an acronym, which stands for 5 components: Single Responsibility Principle. A class should have only one task (responsibility), which it takes care of. Open/Closed Principle. It should be possible to extend class functionality without modifying it. Liskov Substitution Principle. Base classes should be substitutable by their derived classes. Interface Segregation Principle. Client specific interface is better than one…

Continue Reading

Database

ORA-01555: snapshot too old: rollback segment number 91 with name “…” too small. What can be the cause?

Problem Get ORA-01555 exception during normal regular DB operations: ORA-01555: snapshot too old: rollback segment number 91 with name “_SYSSMU91_408937485$” too small Cause One of common causes could be that your UNDO tablespace is too small to serve for running DML operations. Whenever you start a DML operation, database has to save current state of related rowset for whatever time…

Continue Reading

ADF Exceptions

Remote deployment failed (oracle.jdevimpl.deploy.common.Jsr88RemoteDeployer). What can be the cause?

Problem Get following error message when trying to deploy ADF application to Weblogic application server: Remote deployment failed (oracle.jdevimpl.deploy.common.Jsr88RemoteDeployer) Cause It is a vrey generic error and many reasons for it can exist behind. Here are some of them: Weblogic server is experiencing memory issues. You can double check that by trying to execute any administration task through console. If…

Continue Reading

ADF Exceptions

oracle.jbo.expr.JIEvalException: JBO-25077: Name SearchValue not found in the given object: {}. What can be the cause?

Problem Just after adding a groofy expression as a default value for view object bind variable, I get this exception: oracle.jbo.expr.JIEvalException: JBO-25077: Name SearchValue not found in the given object: {} This exception was preceded by lower severity messages like: JBO-25186: Exception in expression “SearchTargetYearVar” of unknown type : groovy.lang.MissingPropertyException : No such property: viewObject for class: oracle.jbo.common.VariableImpl$VariableExprValueSupplier JBO-25186 [adf][oracle.jbo.script.ExprScriptException]…

Continue Reading

Database

How to shrink Oracle database “undo” tablespace data file?

Sometimes it happens that we accidentally or unconsciously run very big DML transactions in database. Especially in ones, which dedicated for development purposes. As change history must be saved somewhere to enable a rollback of transaction, memory is necessary for that. And this is purpose which undo tablespace is serving for in Oracle database. And after some huge transactions it…

Continue Reading

Database

How to drop corrupted “undo” tablespace segment of Oracle database?

Once it happened that “undo” tablespace segments got corrupted for some reason, here you’ll find a way to get rid of them. Corrupted tablespace segment status is indicated as NEEDS RECOVERY. Check how many of them you have: Steps to drop corrupted segments: Gather all segment names together and write them into system parameter _OFFLINE_ROLLBACK_SEGMENTS. Here is a statement which generates…

Continue Reading

Database

Why can’t connect to Oracle instance using “sqlplus / as sysdba” ?

Problem Trying to connect to Oracle database instance directly from server command line. Once you have access to file system, you can connect to an instance without providing sys DB user credentials: After a try get this error message: ORA-12162: TNS:net service name is incorrectly specified Solution This may hapen because of not complete database server enviroment setup. In more…

Continue Reading

ADF Exceptions

[ADF security error] Accessing the securityContext property on class oracle.adf.share.ADFContext is not permitted. What can be the reason?

Problem ADF application has view object containing bind variable based on groovy expression. The latter tries to access ADF security context. On compilation I get static type checking error: [Static type checking] – [ADF security error] Accessing the securityContext property on class oracle.adf.share.ADFContext is not permitted. Possible solution You need to switch definition type of groovy expression. Move it from…

Continue Reading