隨筆 - 72  文章 - 28  trackbacks - 0
          <2025年7月>
          293012345
          6789101112
          13141516171819
          20212223242526
          272829303112
          3456789

          常用鏈接

          留言簿(4)

          隨筆分類(66)

          隨筆檔案(72)

          文章檔案(19)

          收藏夾

          搜索

          •  

          最新評論

          閱讀排行榜

          評論排行榜

          oracle數據庫是重量級的,其管理非常復雜,將其在linux平臺上的啟動和關閉步驟整理一下。

          安裝完畢oracle以后,需要創建oracle系統用戶,并在/home/oracle下面的.bash_profile添加幾個環境變量:ORACLE_SID,ORACLE_BASE,ORACLE_HOME。比如:

          export ORACLE_SID=test  export ORACLE_BASE=oracle_install_dir export ORACLE_HOME=xxx

          啟動步驟:注意$代表shell命令提示符,這里的oracle是9.0以上版本。

          切換到oracle用戶下面:
          $ su - oracle

          $ sqlplus / nolog

          sql> conn / as sysdba

          sql> startup (啟動數據庫,一般不需要加參數,只要設置好環境變量)

          sql>shutdown (關閉數據庫其參數 :shutdown有四個參數,四個參數的含義如下:
          Normal 需要等待所有的用戶斷開連接
          Immediate 等待用戶完成當前的語句
          Transactional 等待用戶完成當前的事務
          Abort 不做任何等待,直接關閉數據庫
          normal需要在所有連接用戶斷開后才執行關閉數據庫任務,所以有的時候看起來好象命令沒有運行一樣!在執行這個命令后不允許新的連接
          immediate在用戶執行完正在執行的語句后就斷開用戶連接,并不允許新用戶連接。
          transactional 在擁護執行完當前事物后斷開連接,并不允許新的用戶連接數據庫。
          abort 執行強行斷開連接并直接關閉數據庫。

          sql> quit (退出sql模式)

          啟動監聽器:

          $ su - oracle
          然后切換到$oracle_home/bin下面,執行下面命令

          $lsnrctl start (啟動監聽器)
          $lsnrctl status (查看監聽器啟動狀態)
          $lsnrctl stop(關閉監聽器)

           

          經常遇到的問題:

          1)權限問題,解決方法,切換到oracle用戶;

          2)沒有關閉監聽器 ,解決方法:關閉監聽器

          3)有oracle實例沒有關閉,解決辦法:關閉oracle實例

          4)環境變量設置不全,解決辦法:修改環境變量

          posted @ 2011-09-26 14:28 kelly 閱讀(417) | 評論 (0)編輯 收藏
          導出 exp userid/pwdid@servername file=dataname.dmp
          導入 imp username/pwdid@servername file=dataname.dmp
          Oracle數據導入導出imp/exp就相當于oracle數據還原與備份。exp命令可以把數據從遠程數據庫服務器導出到本地的dmp文 件,imp命令可以把dmp文件從本地導入到遠處的數據庫服務器中。 利用這個功能可以構建兩個相同的數據庫,一個用來測試,一個用來正式使用。

          執行環境:可以在SQLPLUS.EXE或者DOS(命令行)中執行,
          DOS中可以執行時由于 在oracle 8i 中 安裝目錄\ora81\BIN被設置為全局路徑,
          該目錄下有EXP.EXE與IMP.EXE文件被用來執行導入導出。
          oracle用java編寫,SQLPLUS.EXE、EXP.EXE、IMP.EXE這兩個文件有可能是被包裝后的類文件。
          SQLPLUS.EXE調用EXP.EXE、IMP.EXE所包裹的類,完成導入導出功能。

          下面介紹的是導入導出的實例。
          數據導出:
          1 將數據庫TEST完全導出,用戶名system 密碼manager 導出到D:\daochu.dmp中
             exp system/manager@TEST file=d:\daochu.dmp full=y
          2 將數據庫中system用戶與sys用戶的表導出
             exp system/manager@TEST file=d:\daochu.dmp owner=(system,sys)
          3 將數據庫中的表inner_notify、notify_staff_relat導出
              exp aichannel/aichannel@TESTDB2 file= d:\data\newsmgnt.dmp tables=(inner_notify,notify_staff_relat) 

          4 將數據庫中的表table1中的字段filed1以"00"打頭的數據導出
             exp system/manager@TEST file=d:\daochu.dmp tables=(table1) query=\" where filed1 like '00%'\"

          上面是常用的導出,對于壓縮,既用winzip把dmp文件可以很好的壓縮。
          也可以在上面命令后面 加上 compress=y 來實現。

          數據的導入
          1 將D:\daochu.dmp 中的數據導入 TEST數據庫中。
             imp system/manager@TEST file=d:\daochu.dmp
             imp aichannel/aichannel@HUST full=y file=file= d:\data\newsmgnt.dmp ignore=y 
             上面可能有點問題,因為有的表已經存在,然后它就報錯,對該表就不進行導入。
             在后面加上 ignore=y 就可以了。
          2 將d:\daochu.dmp中的表table1 導入
          imp system/manager@TEST file=d:\daochu.dmp tables=(table1) 

          基本上上面的導入導出夠用了。不少情況要先是將表徹底刪除,然后導入。

          注意:
          操作者要有足夠的權限,權限不夠它會提示。
          數據庫時可以連上的。可以用tnsping TEST 來獲得數據庫TEST能否連上。

          附錄一:
          給用戶增加導入數據權限的操作
          第一,啟動sql*puls
          第二,以system/manager登陸
          第三,create user 用戶名 IDENTIFIED BY 密碼 (如果已經創建過用戶,這步可以省略)
          第四,GRANT CREATE USER,DROP USER,ALTER USER ,CREATE ANY VIEW ,
             DROP ANY VIEW,EXP_FULL_DATABASE,IMP_FULL_DATABASE,
              DBA,CONNECT,RESOURCE,CREATE SESSION TO 用戶名字 
          第五, 運行-cmd-進入dmp文件所在的目錄, 
              imp userid=system/manager full=y file=*.dmp
               或者 imp userid=system/manager full=y file=filename.dmp

          執行示例:
          F:\Work\Oracle_Data\backup>imp userid=test/test full=y file=inner_notify.dmp

          屏幕顯示
          Import: Release 8.1.7.0.0 - Production on 星期四 2月 16 16:50:05 2006
          (c) Copyright 2000 Oracle Corporation. All rights reserved.

          連接到: Oracle8i Enterprise Edition Release 8.1.7.0.0 - Production
          With the Partitioning option
          JServer Release 8.1.7.0.0 - Production

          經由常規路徑導出由EXPORT:V08.01.07創建的文件
          已經完成ZHS16GBK字符集和ZHS16GBK NCHAR 字符集中的導入
          導出服務器使用UTF8 NCHAR 字符集 (可能的ncharset轉換)
          . 正在將AICHANNEL的對象導入到 AICHANNEL
          . . 正在導入表                  "INNER_NOTIFY"          4行被導入
          準備啟用約束條件...
          成功終止導入,但出現警告。


          附錄二:
          Oracle 不允許直接改變表的擁有者, 利用Export/Import可以達到這一目的.
          先建立import9.par,
          然后,使用時命令如下:imp parfile=/filepath/import9.par
          例 import9.par 內容如下:
                  FROMUSER=TGPMS        
                  TOUSER=TGPMS2     (注:把表的擁有者由FROMUSER改為TOUSER,FROMUSER和TOUSER的用戶可以不同)           
                  ROWS=Y
                  INDEXES=Y
                  GRANTS=Y
                  CONSTRAINTS=Y
                  BUFFER=409600
                  file==/backup/ctgpc_20030623.dmp
                  log==/backup/import_20030623.log

          經驗證,屬合格產品!
          posted @ 2011-09-26 14:27 kelly 閱讀(371) | 評論 (0)編輯 收藏
          為換成項目自帶標志,我們僅僅需要修改一下項目根目錄下的圖標,有以下幾個方法:
          1、比如修改http://localhost:8080訪問的圖標,我們可以,修改E:\apache-tomcat-5.5.28\webapps\ROOT下的,ico文件,將該文件替換成想要的圖標即可,命名也為favicon.ico,系統會自動找到這個文件。

          2、系統部署到TOMCAT,訪問時IE欄出現TOMCAT的小貓圖標 

          同樣如果部署在webapps下面的也一樣處理。
          3、或者直接在tomcat安裝跟目錄下放一個命名為tomcat.ico文件的圖標,所有項目將引用這個圖標。(我暫時采用的這種方式)

           

          但是,如果直接替換,效果不會顯示出來,重啟tomcat也不管用,這是由于瀏覽器緩沖造成的我們把歷史記錄刪除即可。


          posted @ 2011-06-24 10:46 kelly 閱讀(1344) | 評論 (0)編輯 收藏

           

           

           

          linux安裝配置jdk1.5、tomcat5.5、eclipse3.2、Myeclipse

          linux安裝配置jdk1.5、tomcat5.5、eclipse3.2、Myeclipse5.1詳解
                包括安裝jdk1.5,tomcat5.5,eclipse3.2,Myeclipse5.1到配置搭建成功。

          第一步:下載所須要的軟件

          下載jdk1.5。
          下載tomcat5.5。
          下載eclipse3.2。
          下載Myeclipse5.1

          第二步:安裝已下載軟件
          假設你將上訴所要下載的軟件全部從光盤拷貝或者通過pc機ftp到linux服務器上傳到/home/user/Downloads目錄下。

          首先要安裝jdk1.5
                    1. 打開終端,運行命令su root 切換到超級用戶。
                    2.cd切換到/home/user/Downloads目錄下。運行命令 cp jdk-1_5_0_12-linux-i586.bin /usr/local將jdk復制到/usr/local目錄下。
                    3.cd切換到/usr/local目錄下。運行命令 chmod a+x jdk-1_5_0_12-linux-i586.bin給於相應權限。
                    4.運行命令 ./jdk-1_5_0_12-linux-i586.bin 等待,按提示安裝jdk,假設安裝在/usr/local目錄下。jdk安裝完成。

          然后安裝tomcat5.5
                        1.cd切換到/home/user/Downloads目錄下。運行命令cp apache-tomcat-5.tar.gz /usr/local將其拷貝到/usr/local目錄下。
                    2.cd切換到/usr/local目錄下。運行命令tar xvfz apache-tomcat-5.tar.gz將其在/usr/local目錄中解壓。tomcat5.5安裝完成。

          安裝eclipse3.2
                    1.cd切換到/home/user/Downloads目錄下。運行命令cp eclipse-SDK-3.2.2-linux-gtk.tar.gz /usr/local將其拷貝到/usr/local目錄下。
                    2.cd切換到/usr/local目錄下。運行命令tar xvfz eclipse-SDK-3.2.2-linux-gtk.tar.gz 將其解壓。eclipse3.2安裝完成。

          安裝Myeclipse5.1
          1.cd切換到/home/user/Downloads目錄下。運行命令cp MyEclipseEnterprise(Linux)WorkbenchInstaller_5_1_0GA_E3_2_1.bin /usr/local將其拷貝到/usr/local目錄下。
                    2.cd切換到/usr/local目錄下。運行命令chmod +x MyEclipseEnterprise(Linux)WorkbenchInstaller_5_1_0GA_E3_2_1.bin ,然后運行$./M*.bin 安裝過程中會提示選擇Eclipse安裝目錄,按照你實際的Eclipse安裝目錄進行選擇即可。Myeclipse安裝完成。
          到此步驟,安裝軟件已經完成了,但是還不能運行,還要進行配置。


          第三步:配置環境變量

                    首先運行命令 vi /etc/profile 出現profile文件源代碼。
                    按鍵盤子母“i”進入插入模式。
                    在profile文件中插入以下代碼:
                     export JAVA_HOME=/usr/local/java
                export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH
                 export CLASSPATH=.:/usr/local/java/lib:/usr/local/java/jre/lib:$CLASSPATH
                 export TOMCAT_HOME=/usr/local/tomcat
                    我得源文件代碼是這樣:
          # /etc/profile
          # System wide environment and startup programs, for login setup
          # Functions and aliases go in /etc/bashrc
          pathmunge () {
                  if ! echo $PATH | /bin/egrep -q "(^|:)$1($|:)" ; then
                     if [ "$2" = "after" ] ; then
                        PATH=$PATH:$1
                     else
                        PATH=$1:$PATH
                     fi
                  fi
          }
          # Path manipulation
          #if [ `id -u` = 0 ]; then
                  pathmunge /sbin
                  pathmunge /usr/sbin
                  pathmunge /usr/local/sbin
          #fi
          pathmunge /usr/X11R6/bin after
          unset pathmunge
          # No core files by default
          ulimit -S -c 0 > /dev/null 2>&1

          USER="`id -un`"
          LOGNAME=$USER
          MAIL="/var/spool/mail/$USER"

          HOSTNAME=`/bin/hostname`
          HISTSIZE=1000

          if [ -z "$INPUTRC" -a ! -f "$HOME/.inputrc" ]; then
              INPUTRC=/etc/inputrc
          fi

          export JAVA_HOME=/usr/local/java
          export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH
          export CLASSPATH=.:/usr/local/java/lib:/usr/local/java/jre/lib:$CLASSPATH
          export TOMCAT_HOME=/usr/local/tomcat


          export PATH USER LOGNAME MAIL HOSTNAME HISTSIZE INPUTRC

          for i in /etc/profile.d/*.sh ; do
              if [ -r "$i" ]; then
                  . $i
              fi
          done
          unset i
          export G_BROKEN_FILENAMES=true
                    黑體字部分是插入代碼。
                    插入完成后按“ESC”健。在按大寫的子母“ZZ”。保存退出。
                    環境變量配置完成后,可以做以下策試。
                    運行命令java -version,出現jdk版本和相關信息,證明jdk已經OK了。
                    cd切換到/opt/tomcat/bin目錄下,運行命令 ./startup.sh,出現如下信息:
                     Using CATALINA_BASE:   /opt/tomcat
                     Using CATALINA_HOME:   /opt/tomcat
                     Using CATALINA_TMPDIR: /opt/tomcat/temp
                     Using JRE_HOME:       /usr/java/jre1.5.0_05
                    證明安裝成功。如果以上策試沒成功的話,請仔細檢查環境變量的配置。
                    到此步驟為止,已經成功的配置完成了jdk和tomcat。該是配置我們eclipse的時候了。
          posted @ 2011-03-03 17:18 kelly 閱讀(6046) | 評論 (4)編輯 收藏

          java處理日期時間 相加減
          JAVA處理日期時間常用方法:

          1.java.util.Calendar
          Calendar 類是一個抽象類,它為特定瞬間與一組諸如 YEAR、MONTH、DAY_OF_MONTH、HOUR 等 日歷字段之間的轉換提供了一些方法,并為操作日歷字段(例如獲得下星期的日期)提供了一些方法。瞬間可用毫秒值來表示,它是距歷元(即格林威治標準時間 1970 年 1 月 1 日的 00:00:00.000,格里高利歷)的偏移量。

          例:
          Java代碼 
          1. Calendar cal = Calendar.getInstance();//使用默認時區和語言環境獲得一個日歷。   
          2. cal.add(Calendar.DAY_OF_MONTH, -1);//取當前日期的前一天.   
          3.  
          4. cal.add(Calendar.DAY_OF_MONTH, +1);//取當前日期的后一天.   
          5.  
          6. //通過格式化輸出日期   
          7. java.text.SimpleDateFormat format = new java.text.SimpleDateFormat("yyyy-MM-dd");   
          8.  
          9. System.out.println("Today is:"+format.format(Calendar.getInstance().getTime()));   
          10.  
          11. System.out.println("yesterday is:"+format.format(cal.getTime())); 


          得到2007-12-25日期:
          Java代碼 
          1. Calendar calendar = new GregorianCalendar(2007, 11, 25,0,0,0);   
          2. Date date = calendar.getTime();   
          3. System.out.println("2007 Christmas is:"+format.format(date)); 

          java月份是從0-11,月份設置時要減1.

          GregorianCalendar構造方法參數依次為:年,月-1,日,時,分,秒.

          取日期的部分:
          Java代碼 
          1. int year =calendar.get(Calendar.YEAR);   
          2.  
          3. int month=calendar.get(Calendar.MONTH)+1;   
          4.  
          5. int day =calendar.get(Calendar.DAY_OF_MONTH);   
          6.  
          7. int hour =calendar.get(Calendar.HOUR_OF_DAY);   
          8.  
          9. int minute =calendar.get(Calendar.MINUTE);   
          10.  
          11. int seconds =calendar.get(Calendar.SECOND); 


          取月份要加1.

          判斷當前月份的最大天數:
          Java代碼 
          1. Calendar cal = Calendar.getInstance();   
          2. int day=cal.getActualMaximum(Calendar.DAY_OF_MONTH);   
          3. System.out.println(day); 


          2.java.util.Date
          Java代碼 
          1. java.util.Date today=new java.util.Date();   
          2. System.out.println("Today is "+formats.format(today)); 


          取當月的第一天:
          Java代碼 
          1. java.text.SimpleDateFormat format = new java.text.SimpleDateFormat("yyyy-MM-01");   
          2. java.util.Date firstDay=new java.util.Date();   
          3. System.out.println("the month first day is "+formats.format(firstDay)); 

          取當月的最后一天:
          Java代碼 
          1.    
          2. Calendar cal = Calendar.getInstance();   
          3. int maxDay=cals.getActualMaximum(Calendar.DAY_OF_MONTH);   
          4. java.text.Format formatter3=new java.text.SimpleDateFormat("yyyy-MM-"+maxDay);   
          5. System.out.println(formatter3.format(cal.getTime())); 


          求兩個日期之間相隔的天數:
          Java代碼 
          1. java.text.SimpleDateFormat format = new java.text.SimpleDateFormat("yyyy-MM-dd");   
          2. java.util.Date beginDate= format.parse("2007-12-24");   
          3. java.util.Date endDate= format.parse("2007-12-25");   
          4. long day=(date.getTime()-mydate.getTime())/(24*60*60*1000);   
          5. System.out.println("相隔的天數="+day); 

          一年前的日期:
          Java代碼 
          1. java.text.Format formatter=new java.text.SimpleDateFormat("yyyy-MM-dd");   
          2. java.util.Date todayDate=new java.util.Date();   
          3. long beforeTime=(todayDate.getTime()/1000)-60*60*24*365;   
          4. todayDate.setTime(beforeTime*1000);   
          5. String beforeDate=formatter.format(todayDate);   
          6. System.out.println(beforeDate); 

          一年后的日期:
          Java代碼 
          1. java.text.Format formatter=new java.text.SimpleDateFormat("yyyy-MM-dd");   
          2. java.util.Date todayDate=new java.util.Date();   
          3. long afterTime=(todayDate.getTime()/1000)+60*60*24*365;   
          4. todayDate.setTime(afterTime*1000);   
          5. String afterDate=formatter.format(todayDate);   
          6. System.out.println(afterDate); 

          求10小時后的時間
          Java代碼 
          1. java.util.Calendar Cal=java.util.Calendar.getInstance();   
          2. Cal.setTime(dateOper);   
          3. Cal.add(java.util.Calendar.HOUR_OF_DAY,10);   
          4. System.out.println("date:"+forma.format(Cal.getTime())); 

          求10小時前的時間
          Java代碼 
          1. java.util.Calendar Cal=java.util.Calendar.getInstance();   
          2. Cal.setTime(dateOper);   
          3. Cal.add(java.util.Calendar.HOUR_OF_DAY,-10);   
          4. System.out.println("date:"+forma.format(Cal.getTime())); 

          3.java.sql.Date
          繼承自java.util.Date,是操作數據庫用的日期類型
          Java代碼 
          1. java.sql.Date sqlDate = new java.sql.Date(java.sql.Date.valueOf("2007-12-25").getTime()); 

          日期比較:簡單的比較可以以字符串的形式直接比較,也可使用
          java.sql.Date.valueOf("2007-03-08").compareTo(java.sql.Date.valueOf("2007-03-18"))方式來比較日期的大小.也可使用java.util.Date.after(java.util.Date)來比較.

          相差時間:
          long difference=c2.getTimeInMillis()-c1.getTimeInMillis();
          相差天數:long day=difference/(3600*24*1000)
          相差小時:long hour=difference/(3600*1000)
          相差分鐘:long minute=difference/(60*1000)
          相差秒: long second=difference/1000

          補充:
          Java代碼 
          1. DateFormat df=new SimpleDateFormat("yyyy-MM-dd EE hh:mm:ss");   
          2. System.out.println(df.format(new Date()));   
          3. Date date = new Date();   
          4. DateFormat shortDate=DateFormat.getDateTimeInstance(DateFormat.SHORT, DateFormat.SHORT);   
          5. DateFormat mediumDate =DateFormat.getDateTimeInstance(DateFormat.MEDIUM, DateFormat.MEDIUM);   
          6. DateFormat longDate =DateFormat.getDateTimeInstance(DateFormat.LONG, DateFormat.LONG);   
          7. DateFormat fullDate =DateFormat.getDateTimeInstance(DateFormat.FULL, DateFormat.FULL);   
          8.  
          9. system.out.println(shortDate.format(date));   
          10. System.out.println(mediumDate.format(date));   
          11. System.out.println(longDate.format(date));   
          12. System.out.println(fullDate.format(date));   
          13.  
          14. 08-4-15 下午3:24   
          15. 2008-4-15 15:24:31   
          16. 2008年4月15日 下午03時24分31秒   
          17. 2008年4月15日 星期二 下午03時24分31秒CST   
          18.  
          19.  
          20. Calendar c = Calendar.getInstance();   
          21.  
          22. c.add(Calendar.MONTH, 1); // 目前時間加1個月   
          23. System.out.println(df.format(c.getTime()));   
          24.  
          25. c.add(Calendar.HOUR, 3); // 目前時間加3小時   
          26. System.out.println(df.format(c.getTime()));   
          27.  
          28. c.add(Calendar.YEAR, -2); // 目前時間減2年   
          29. System.out.println(df.format(c.getTime()));   
          30.  
          31. c.add(Calendar.DAY_OF_WEEK, 7); // 目前的時間加7天   
          32. System.out.println(df.format(c.getTime()));

          posted @ 2011-02-21 12:15 kelly 閱讀(28811) | 評論 (0)編輯 收藏
          僅列出標題
          共15頁: First 上一頁 5 6 7 8 9 10 11 12 13 下一頁 Last 
          主站蜘蛛池模板: 阿瓦提县| 黄大仙区| 武穴市| 治县。| 米脂县| 伊春市| 河西区| 兖州市| 汾阳市| 玛沁县| 隆尧县| 巩义市| 四平市| 东宁县| 泰和县| 明水县| 济南市| 双流县| 宜宾县| 沂水县| 洪雅县| 嘉善县| 汤原县| 榆树市| 泾源县| 卫辉市| 新巴尔虎左旗| 和龙市| 收藏| 宁陕县| 罗源县| 大英县| 历史| 中牟县| 广南县| 绥棱县| 鲁山县| 若尔盖县| 莎车县| 鸡东县| 贵溪市|