Monday, March 5, 2018

How to restart Oracle

Shutdown

$ sqlplus '/ as sysdba'
SQL> shutdown

Options:
shutdown - waits for sessions end
shutdown immediate - rollbacks and ends sessions (waits for rollback finish)
shutdown abort - kills everything - usually database has to perform some recovery on startup.

Startup

$ sqlplus '/ as sysdba'
SQL> startup

References:
https://dba.stackexchange.com/questions/42774/how-to-quickly-startup-shutdown-oracle-11
https://docs.oracle.com/cd/E17781_01/server.112/e18804/startup.htm#ADMQS124
https://www.cyberciti.biz/faq/how-do-i-start-oracle-service-in-unix/

Monday, February 5, 2018

How to enable Tomcat to list files

It is called Directory Listing.

Tomcat default web.xml must be changed: $CATALINA_BASE/conf/web.xml

<servlet>
        <servlet-name>default</servlet-name>
        <servlet-class>
          org.apache.catalina.servlets.DefaultServlet
        </servlet-class>
        <init-param>
            <param-name>debug</param-name>
            <param-value>0</param-value>
        </init-param>
        <init-param>
            <param-name>listings</param-name>
            <param-value>true</param-value>
        </init-param>
        <load-on-startup>1</load-on-startup>
    </servlet>


Reference: https://tomcat.apache.org/tomcat-7.0-doc/default-servlet.html

Friday, January 26, 2018

Create and extract a .tar.gz archive using command line


To create a tar.gz archive from a given folder you can use the following command:

tar -zcvf tar-archive-name.tar.gz source-folder-name

This will compress the contents of source-folder-name to a tar.gz archive named tar-archive-name.tar.gz

To extract a tar.gz compressed archive you can use the following command:

tar -zxvf tar-archive-name.tar.gz

This will extract the archive to the folder tar-archive-name.

To Preserve permissions:

tar -pcvzf tar-archive-name.tar.gz source-folder-name

Switch the ‘c’ flag to an ‘x’ to extract (uncompress):

tar -pxvzf tar-archive-name.tar.gz

Reference:
https://popoleodesigns.com/create-and-extract-a-tar-gz-archive-using-command-line/

Friday, January 19, 2018

How do I find all files containing specific text on Linux?

grep -rnw '/path/to/somewhere/' -e 'pattern'  
or

    grep -r YOUR_PATTERN .
or
find /path/to/somewhere -type f -exec grep -H 'text-to-find-here' {} \;

Reference:
https://stackoverflow.com/questions/16956810/how-do-i-find-all-files-containing-specific-text-on-linux

Wednesday, December 26, 2012

1Z0-895 Java Platform, Enterprise Edition 6 Enterprise JavaBeans Developer Certified Expert Exam


I passed in Oracle EJB Developer certification.

I studied the book EJB 3 In Action (http://www.amazon.com/EJB-3-Action-Debu-Panda/dp/1933988347). No need to study JPA chapters. The problem with this book is that it is about EJB 3 only, so it is necessary to study EJB 3.1 topics in another sources. This book is not so good, but it is starting point.

After reading the book I started doing mocks. I used Enthuware (http://enthuware.com/index.php/mock-exams/oracle-certified-expert/oceejbd-ejb-6). It is excellent and very similar as the exam.

As doubts were emerging during the mock I studied JSR 318 (http://jcp.org/en/jsr/detail?id=318). The JSR is not good to be used as initial source of learning, it is not a teaching document, but it is the best source of information.

The study method I have adopted is to learn by repetition. I did the initial mock and four standards mocks. For every mock, I did it by the first time, after reviewed all questions and then retraced the mock. The first time the grade was always low, but repeating grade was high.

The time it takes to make the mock by the first time is around 2 hours. The review needs 3 to 4 hours because that's when you really study. Repeating the mock takes 1 hour because you are already dominating the subject. It is important not to memorize the answers, but rather try to explain them.

To cover all topics of exam is necessary to make all the 4 standards mocks because the distribution of the questions is not 100%.

When finished doing the mocks, redid the questions I never hit (neither the first nor the repetition) for all mocks. It has a feature for this in Enthuware software.

I passed with 90% and I was pleased with the time spent to study.

Good luck in your studies.

How to limit the number of records returned in a SQL query


There is no a SQL standard to limit the number of records returned in a query, ie, each vendor implements this functionality in its own way.

Here's a summary on how to do this for some vendors:

DB2 -- select * from table fetch first 10 rows only 
Informix, InterBase/Firebird, SKIP  -- select first 10 * from table 
Microsoft SQL Server and Access -- select top 10 * from table 
MySQL, PostgreSQL, SQLite, HSQL/H2 -- select * from table limit 10 
Oracle -- select * from table where rownum <= 10

Oracle Note:
If the query has "group by" or "order by" rownum must be supplied:

Ex:
SELECT a, b, c
FROM
( SELECT a, b, c, ROWNUM rn
FROM
( SELECT a, b, c FROM RECORD 
WHERE AVAIL='Y"
ORDER BY DATE DESC
)
WHERE ROWNUM <= 25
)
WHERE rn >= 21;

References:



Wednesday, March 14, 2012

How to encrypt using MD5 with a Java code example

Using the code bellow it is possible to generate a MD5 Hash related to strings:


    public static String encrypt(String sign) {   
    
        try {   
           java.security.MessageDigest md =   
              java.security.MessageDigest.getInstance("MD5");   
           md.update(sign.getBytes());   
           byte[] hash = md.digest();   
           StringBuffer hexString = new StringBuffer();   
           for (int i = 0; i < hash.length; i++) {   
              if ((0xff & hash[i]) < 0x10)   
                 hexString.append(   
                    "0" + Integer.toHexString((0xFF & hash[i])));   
              else   
                 hexString.append(Integer.toHexString(0xFF & hash[i]));   
           }   
           sign = hexString.toString();   
        }   
        catch (Exception nsae) {   
           nsae.printStackTrace();   
        }   
        return sign;   
     }  


Here you have a MD5 Hash Generator online:
http://www.miraclesalad.com/webtools/md5.php