<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    2008年3月26日

    Install Oracle 11g R2 on Ubuntu

    Ubuntu is not an official supported linux version from Oracle, so I still get some errors during the install process even with required configuration, anyway, it can work and what i'm doing here is try to setup an experiment environment, it's enough to me, any one who want to deploy Oracle in product mode should have supported linux platform like RedHat, OK, following is the steps i have to install it:

    1. If you were in multihomed enviroment, set the ORACLE_HOSTNAME variable:
        export ORACLE_HOSTNAME=machine_name.domain_name

    2. Create create OSDBA (dba) group, Oracle Inventory group (oinstall)  and a user "oracle" which has "dba" as its login group and oinstall as its 2nd group.

    3. Modify /etc/sysctl.conf, set kernel parameter:

    kernel.shmall = 2097152
    kernel
    .shmmax = 2147483648
    kernel
    .shmmni = 4096
    kernel
    .sem = 250 32000 100 128
    fs
    .file-max = 65536
    net
    .ipv4.ip_local_port_range = 1024 65000
    net
    .core.rmem_default = 1048576
    net
    .core.rmem_max = 1048576
    net
    .core.wmem_default = 262144
    net
    .core.wmem_max = 262144

    4. Modify /etc/security/limits.conf to improve the "number of process" and "number of open file"  performance for oracle:
    oracle              soft    nproc   2047
    oracle              hard    nproc   
    16384
    oracle              soft    nofile  
    1024
    oracle              hard    nofile  
    65536

    5. Modify /etc/pam.d/login, add:
    session    required     /lib/security/pam_limits.so
    session    required     pam_limits
    .so

    6. Modify /etc/profile:
    if [ $USER = "oracle" ]; then
            
    if [ $SHELL = "/bin/ksh" ]; then
                  ulimit 
    -16384
                  ulimit 
    -65536
            
    else
                  ulimit 
    -16384 -65536
            fi
    fi

    7. Change user to oracle if you haven't done it yet

    8. Create base directory, for me it's "/app/oracle"

    9. Export ORACLE_BASE, ORACLE_SID
    export ORACLE_BASE=/app/oracle
    export ORACLE_SID
    =orcl

    10.  If you're trying to install oracle with a X window:
    DISPLAY=your.ip.address:0.0 ; export DISPLAY

    11. run installer:
    ./runInstaller

    12. Oracle should start, if the installer GUI cannot be start, check the error messages, most time it's because a wrong X window configuration, if you are running X window with Xming, just like me, please do make sure to check the "No Access Control" check box in the launch, otherwise, Xming will reject the connection.

    13. Now the GUI shoudl open, like what you did in the Windows system, fullfill required value and click next, ingore all errors if there is any condition that is not match, click finish in the last step, it should start install process.

    14. After install oracle, the installer GUI will ask you to run two .sh files, run it with a root role.

    15. You can try to visit https://you.ip.address:1158/em to see is that OK for you.

    16. How to start oracle:
    export ORACLE_BASE=/app/oracle
    export ORACLE_HOME
    =/app/oracle/product/11.2.0/dbhome_1
    export ORACLE_OWNR
    =oracle
    export ORACLE_SID
    =orcl
    export PATH
    =$PATH:$ORACLE_HOME/bin


    lsnrctl start

    sqlplus 
    /nolog
    connect /as sysdba
    startup
    quit

    emctl start dbconsole


    Reference
    http://download.oracle.com/docs/cd/B19306_01/install.102/b15660/pre_install.htm#BABDFJAE

    posted @ 2010-03-16 15:57 Find it, try it, experience it 閱讀(595) | 評論 (0)編輯 收藏

    How to connect Reliance Modem AC2726 on Linux Ubuntu 9.10

    1. Type command: lsusb
    Bus 002 Device 003: ID 19d2:fff5 ONDA Communication S.p.A.
    2. Install "usb-modeswitch", then re-plugin modem again and input command "lsusb" again, you should get the following output
    Bus 002 Device 003: ID 19d2:fff1 ONDA Communication S.p.A.
    3. Notice in step #2, the product code has been changed from "fff5" to "fff1".
    4. Install package "wvdial" which is used to dail up
    5. Type command: "sudo modprobe usbserial vendor=0x19d2 product=0xfff1", don't forget the "sudo"
    6. Type command: "sudo wvdialconf", again don't forget the "sudo", this will detect your modem
    7. Modify file "/etc/wvdial.conf", following is what I have:

    [Dialer Defaults]
    Init1 
    = ATZ
    Init2 
    = ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
    Modem Type 
    = Analog Modem
    ISDN 
    = 0
    New PPPD 
    = 1
    Phone 
    = #777
    Modem = /dev/ttyUSB0
    Username 
    = yourName
    Password 
    = yourPassword
    Baud 
    = 921600
    Stupid Mode 
    = 1
    Tonline 
    = 0

    8. Repeat step #5 again and then if you with not bad luck type in command "sudo wvdial", you should connect in.
    9. If bad luck with you, click right-upper corner, there is a connection configuration menu, you can create "Mobile Broadband" connection yourself here, don't forget input the phone number "#777" (for China Telcom) and your username password, after that click connect, this works for me.
    10. Good luck with you.
    11. BTW, if it still cannot work, try to re-plug in the modem.

    posted @ 2010-03-12 18:03 Find it, try it, experience it 閱讀(398) | 評論 (0)編輯 收藏

    Oracle Tips Part Two

    1. It will not get data from DB when just open the cursor, data will be loaded as an ongoing basis.

    2. SCN: System Change Number/System Commit Number

    3. FLASH BACK AS OF SCN;

    4. You can also flash back table: FLASHBACK TABLE SOME_TABLE TO SCN :SCN_NUM;

    5. But before you do a flash back operation on a table, do make sure you have already enbale ROW MOVEMENT on that table.

    posted @ 2010-03-07 18:03 Find it, try it, experience it 閱讀(180) | 評論 (0)編輯 收藏

    Oracle Tips One

    1. Do use oracle "Bind variable", it can increase the speed by 90 percent in 10g release1.

    2. Understand how to use "lock", read never block write,  vice verse.

    3. There is a side effect from oracle regarding to the "lock", if you do want to control the access to one row at a specify time (like doing an if 'this row belong to some search condition' then 'modify this row' action), you have to write some logic yourself, for example use the "for update" statement, like: "select * from x where x.id = 1 for update", so that you can lock the row only with id equals to '1' and then modify this row, so that some orther concurrence requests should execute the same sql first, yes, with the same 'for update' statement, and because you already have locked this row(id = 1), orther requests cannot get the access to it, and you get the access control to this row.

    4. Regardint to item 3, it will not decrease the concurrence level, because first you only lock the item with id equals to 1 and there maybe thousands of items in your table, second, it will not block the read request.

    posted @ 2010-03-06 21:25 Find it, try it, experience it 閱讀(229) | 評論 (0)編輯 收藏

    算法求解!如何判斷一個單向鏈表是否有環路?

    這該死的問題讓我竟然沒有想到解決方案...腦子生銹了?呵呵,算了...

    該問題最經典的解答,簡直是一句話驚醒夢中人啊

    “用兩個指針,一個的步長為 1,另外一個的為 2,從表頭開始一起往前走,如果相遇,表明有環路,否則就是沒有了。”

    下來,不用說什么了吧,用JAVA實現的話,聲明兩個Iterator A 和 B,A 每次調用兩個NEXT,B只調用一次,如果他們能夠相遇,就是有環...我操

    posted @ 2009-03-02 14:15 Find it, try it, experience it 閱讀(629) | 評論 (0)編輯 收藏

    Something you may ingore when to use Hibernate and JPA.

    The first is about identity generator, this is something I ingored and find really interesting later when I read back the document.

        When you choose "native" (for plain hibernate) or "AUTO" (for JPA which use hibernate as provider) as identity generator, it (actually they are the same identity generator but with different name in different scope) will pick other identity generators like identity, sequence, or hilo, depending on the capabilities of the underlying database. Use this generator to keep your mapping metadata portable to different database management systems.
        If your underlying DB is oracle, it will automatically create a sequence for you which means choose the sequence as identity generator, that's really interesting, at least for me for the first time when it comes to me.

    The second is about the flush and close session operations when to use hibernate with JTA transaction.

        You should manually flush your operation by call flush method and close your session by calling close method when you try to use JTA transaction instead of hibernate Transaction API, these is because hibernate Transaction API does thoes operations automatically for you. But, with following configuration, it can also be done automatically for you by hibernate, though you are still with JTA transaction.

        hibernate.transaction.flush_before_completion=true
        hibernate.transaction.auto_close_session=true

    The third is about an interesting code snatch listed as follow:
       
    1     Session session = sessionFactory.openSession();
    2     session.beginTransaction();
    3     session.save(new Item());
    4     session.close();

        What happen if you don't commit the transaction? It's depends on the underlying DB, for oracle it will commit any uncommited transactions, but for many other DB vendors, they will roll back any pending transactions.
       

    posted @ 2008-04-03 16:32 Find it, try it, experience it 閱讀(917) | 評論 (0)編輯 收藏

    A "Hello" program on EJB3 with Jboss server 4.2.2GA (PART 3) - EJB3 Timer service.

        Timer service in EJB3 with anotation is fairly simple, I give you an example as follow, and it's really simple and self-explanation:
     1 package com.ramon.expejb3.session.impl;
     2 
     3 import javax.annotation.Resource;
     4 import javax.ejb.Stateless;
     5 import javax.ejb.Timeout;
     6 import javax.ejb.Timer;
     7 import javax.ejb.TimerService;
     8 
     9 import com.ramon.expejb3.session.Greeting;
    10 
    11 @Stateless(name = "Greeting")
    12 public class GreetingBean implements Greeting {
    13     
    14     @Resource
    15     TimerService ts;
    16 
    17     /* (non-Javadoc)
    18      * @see com.ramon.expejb3.session.Greeting#greeting(java.lang.String)
    19      */
    20     public void greeting(String name) {
    21         System.out.println("Hello " + name + ".");
    22         ts.createTimer(1 * 10005 * 1000, name);
    23         System.out.println("Create timer for " + name + ".");
    24     }
    25     
    26     @Timeout
    27     public void timeout(Timer timer) {
    28         String name = (String)timer.getInfo();
    29         System.out.println(name + " TIME OUT.");
    30         //timer.cancel();
    31     }
    32 }
    33
        It's the "GreetingBean" I introduced in part one of this series article with TimerService injected, @Resource anotation inject the time service we want, it's totally free which is supported by the J2EE container that means we do not need any further steps to get the powerful schedule service. In the line 22, I crate a new timer, I think this could be more fit if it was called Task instead, there are several "createTimer" methods with different parameters, the one I used here describe the task should be execute 1 second delay and every 5 second one time in the future, the third parameter can be anything you want to pass in to the task, it can be get back use method Timer.getInfo() like line 28 does here.
        Another important anotation here is the @Timeout anotation, this anotation tell container which method will be called when timeout for this task to be executed, you can only specify one timeout method for each Bean, if there is no @Timeout anotation at all, you will get some exception like "No timeout method specified" in Jboss server. Something funny here is that you should mark the timeout method as "public", otherwise, you will get the same error as no timeout method does, I do NOT think it's necessary, because the time out method should only be called by the container, "private" signature is enought for that, with "private" signature container still has the right to access this method with java reflection, nevertheless timer service in EJB3 is still a good tools for use.
        I summarize what good/bad for timer service in EJB3 as follow:
        Good news:
    •     It's free, it's supported by the EJB container.
    •     It's portable, it's supported by the EJB container as specified in EJB3 specification.
    •     It's easy to use, no need to learn more.
        Bad news:
    •     The feature of EJB3 timer sevice is not as powerful as some third party timer service such as Quartz, but it's enough with EJB3 for ordinary daily job.
    •     There is no UI for you to monitor the timer you created.

    posted @ 2008-03-26 13:30 Find it, try it, experience it 閱讀(1180) | 評論 (0)編輯 收藏

    <2008年3月>
    2425262728291
    2345678
    9101112131415
    16171819202122
    23242526272829
    303112345

    導航

    統計

    公告

    If there is any question you have, please don't hesitate, let me know ASAP, you can find me at kenees@gmail.com or QQ: 9808873, hope to make friends with you ;)

    常用鏈接

    留言簿(1)

    隨筆檔案

    文章檔案

    搜索

    積分與排名

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 免费高清在线爱做视频| 波多野结衣中文字幕免费视频| 天堂在线免费观看中文版| 久久综合亚洲色HEZYO社区| 久久精品私人影院免费看| 国产成人无码综合亚洲日韩 | 亚洲精品123区在线观看| 日韩不卡免费视频| 亚洲一级特黄特黄的大片| 无码国产精品一区二区免费式影视 | 国产尤物在线视精品在亚洲| 日韩免费视频在线观看| 国产偷国产偷亚洲高清人| 亚洲一区日韩高清中文字幕亚洲| 免费无码AV一区二区| 亚洲妇熟XXXX妇色黄| 222www在线观看免费| 亚洲经典千人经典日产| 亚洲国产综合无码一区二区二三区 | 久久精品蜜芽亚洲国产AV| 1000部拍拍拍18勿入免费视频软件 | 麻豆一区二区三区蜜桃免费| 亚洲一区二区三区在线播放| 久久国产免费一区二区三区| 亚洲国产成人久久综合一区| 午夜dj在线观看免费视频| 免费在线观看一区| 亚洲日韩v无码中文字幕| 91精品成人免费国产片| 色婷婷亚洲一区二区三区| 亚洲午夜国产精品无码老牛影视| 一级毛片全部免费播放| 亚洲熟妇成人精品一区| 国产亚洲大尺度无码无码专线 | 亚洲欧洲日产国产综合网| 拨牐拨牐x8免费| 中文字幕成人免费高清在线视频| 亚洲激情在线观看| 亚洲va中文字幕无码| 999国内精品永久免费视频| fc2成年免费共享视频18|