實踐Java
          Practice in Java
          posts - 6,  comments - 20,  trackbacks - 0
           1 select COMPCODE, 
           2        COMPNAME, 
           3         LEVEL,
           4         TOTAL,
           5         F_CAC_VAL('1' || SYS_CONNECT_BY_PATH(TOTAL, '*')) V,
           6        '1' || SYS_CONNECT_BY_PATH(TOTAL, '*') P
           7   from T_M_COMPONENT T
           8  where COMPTYPE = 0
           9  start with bompid = 117808

          10 connect by NOCYCLE prior bomid = bompid  一. 數據閃回功能
                 在ORACLE使用過程中經常會誤刪除行記錄,而且COMMIT了,怎樣找回誤刪的數據是個麻煩事.

                1.找出閃回點

          1SQL> select dbms_flashback.get_system_change_number fscn from dual;
          2 
          3FSCN
          4----------
          56603893



             2.根據閃回點追尋數據
          SQL> select * from t_sys_role as of scn 6589999;


          看看如果誤刪的數據存在這里,即可根據6589999這個點進行回閃數據

              3.恢復數據

          SQL>insert into    t_sys_role
                           
          select *  from t_sys_role as of scn 6589999
                                       
          where   roleid not in (select roleid from t_sys_role)

             4.另外一種方法
               select * from 表名 as of timestamp sysdate-1/6 
                                                                      ```````````````這里是4小時之前的數據
             

               如果表被drop了,則使用:

               flashback table 表名 to before drop;


          二.ORACLE創建用戶指令
          create temporary tablespace guhan_temp tempfile '/home/db_data/mis/temp.dbf' size 512m autoextend on next 512m;

          create tablespace mis_data datafile '/home/db_data/mis/mis_data.dbf' size 1024m autoextend on next 2048m;

          create user mis identified by mis_guhan default tablespace mis_data temporary tablespace guhan_temp;


          grant connect,resource,dba to mis; 

          三.ORACLE啟動指令
             
          1  # su - oracle //關鍵
          2  # sqlplus /nolog
          3  SQL>startup mount
          4  SQL>ALTER DATABASE OPEN
          5  SQL>STARTUP 
          6  $ lsnrctl start
          7  $ emctl start dbconsole 

           四.ORACLE數據庫的字符集轉換

          ALTER DATABASE character set INTERNAL_USE ZHS16GBK;


          五.更新記錄不存在,則插入
          1BEGIN
          2    UPDATE T_TABLE SET COL='VALUE' WHERE 1=2;
          3    IF SQL%ROWCOUNT < 1 THEN
          4       INSERT INTO T_TALBE(COL) VALUES('VALUE');
          5    END IF;
          6END;

          六.  在Redhat5.7-x64上安裝11gR1遇到的問題
              第一次安裝老有很多包找不到,裝到復制文件78%左右,出現不能編譯腳本的錯誤,手動安裝gcc也失敗,后來重裝系統,一定要安裝老的開發工具,否則找不著gcc,不能正常安裝,碰上x-server的情況,可用root執行xhost + 命令
            安裝后面出現了一個錯誤,dbms腳本錯誤,結果實例沒有配置完成,導致數據庫不能使用
            sqlplus /nolog 可以登錄并且啟動實例,但是sqlplus 帳號/密碼@實例不能登錄,tnsping是正常的,懷疑tns的oracle_sid和實例的sid可能不一樣發現原因:
              $ORACLE_HOME/dbs/init.ora 里缺少intance_name
            可能是上面的錯誤導致init.ora的參數未初始化完畢

            #su oracle
            $sqlplus /nolog
            $conn / as sysdba
            $shutdown abort
            $startup

            成功啟動,再連接 OK!

          七.樹形卷疊計算
          七. linux常用的簡單命
           1 select COMPCODE, 
           2        COMPNAME, 
           3         LEVEL,
           4         TOTAL,
           5         F_CAC_VAL('1' || SYS_CONNECT_BY_PATH(TOTAL, '*')) V,
           6        '1' || SYS_CONNECT_BY_PATH(TOTAL, '*') P
           7   from T_M_COMPONENT T
           8  where COMPTYPE = 0
           9  start with bompid = 117808
          10 connect by NOCYCLE prior bomid = bompid
              目錄授權(修改目錄所有者): chown -R oracle:dba db_data/
          八:   設置權限:chmod 777 db_data

          八:禁用exp導出權限
          sys權限進入oracle,執行
          revoke select on sys.exu8usru from public;

          posted on 2009-10-19 11:00 弦驚塞外 閱讀(504) 評論(3)  編輯  收藏

          FeedBack:
          # re: ORACLE常用技巧[未登錄]
          2009-10-20 08:37 | yt
          樓主用的ORACLE 版本是?
          我在Oracle10g下找不到 dbms_flashback  回復  更多評論
            
          # re: ORACLE常用技巧
          2009-10-20 20:11 | 弦驚塞外
          @yt
          10G
          這個要授權,或者用system登陸查詢到scn值  回復  更多評論
            
          # re: ORACLE常用技巧
          2019-05-15 18:48 | 弦驚塞外
          5.1 修改server端字符集(不建議使用)



          1. 關閉數據庫

          SQL>SHUTDOWN IMMEDIATE



          2. 啟動到Mount

          SQL>STARTUP MOUNT;

          SQL>ALTER SYSTEM ENABLE RESTRICTED SESSION;

          SQL>ALTER SYSTEM SET JOB_QUEUE_PROCESSES=0;

          SQL>ALTER SYSTEM SET AQ_TM_PROCESSES=0;

          SQL>ALTER DATABASE OPEN;




          --這里可以從父集到子集

          SQL>ALTER DATABASE CHARACTER SET ZHS16GBK;

          SQL>ALTER DATABASE NATIONAL CHARACTER SET ZHS16GBK;


          --如果是從子集到父集,需要使用INTERNAL_USE 參數,跳過超子集檢測

          SQL>ALTER DATABASE CHARACTER SET INTERNAL_USE AL32UTF8;

          SQL>ALTER DATABASE NATIONAL CHARACTER SET INTERNAL_USE AL32UTF8;





          SQL>SHUTDOWN IMMEDIATE;



          SQL>STARTUP  回復  更多評論
            

          只有注冊用戶登錄后才能發表評論。


          網站導航:
           

          <2009年10月>
          27282930123
          45678910
          11121314151617
          18192021222324
          25262728293031
          1234567

          常用鏈接

          留言簿(3)

          隨筆檔案

          相冊

          搜索

          •  

          積分與排名

          • 積分 - 6315
          • 排名 - 2842

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 惠安县| 琼中| 资中县| 沙洋县| 霍山县| 墨玉县| 浦北县| 滦平县| 盘锦市| 公主岭市| 湘潭县| 隆林| 武川县| 安丘市| 罗源县| 永康市| 巴彦县| 阿鲁科尔沁旗| 米脂县| 乌什县| 若尔盖县| 珠海市| 霍邱县| 华亭县| 光泽县| 怀安县| 万源市| 宿州市| 赤峰市| 嘉鱼县| 富蕴县| 儋州市| 额济纳旗| 敦煌市| 武城县| 长武县| 新宾| 皮山县| 科尔| 库尔勒市| 迁安市|