實(shí)踐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  一. 數(shù)據(jù)閃回功能
                 在ORACLE使用過程中經(jīng)常會(huì)誤刪除行記錄,而且COMMIT了,怎樣找回誤刪的數(shù)據(jù)是個(gè)麻煩事.

                1.找出閃回點(diǎn)

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



             2.根據(jù)閃回點(diǎn)追尋數(shù)據(jù)
          SQL> select * from t_sys_role as of scn 6589999;


          看看如果誤刪的數(shù)據(jù)存在這里,即可根據(jù)6589999這個(gè)點(diǎn)進(jìn)行回閃數(shù)據(jù)

              3.恢復(fù)數(shù)據(jù)

          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小時(shí)之前的數(shù)據(jù)
             

               如果表被drop了,則使用:

               flashback table 表名 to before drop;


          二.ORACLE創(chuàng)建用戶指令
          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啟動(dòng)指令
             
          1  # su - oracle //關(guān)鍵
          2  # sqlplus /nolog
          3  SQL>startup mount
          4  SQL>ALTER DATABASE OPEN
          5  SQL>STARTUP 
          6  $ lsnrctl start
          7  $ emctl start dbconsole 

           四.ORACLE數(shù)據(jù)庫的字符集轉(zhuǎn)換

          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遇到的問題
              第一次安裝老有很多包找不到,裝到復(fù)制文件78%左右,出現(xiàn)不能編譯腳本的錯(cuò)誤,手動(dòng)安裝gcc也失敗,后來重裝系統(tǒng),一定要安裝老的開發(fā)工具,否則找不著gcc,不能正常安裝,碰上x-server的情況,可用root執(zhí)行xhost + 命令
            安裝后面出現(xiàn)了一個(gè)錯(cuò)誤,dbms腳本錯(cuò)誤,結(jié)果實(shí)例沒有配置完成,導(dǎo)致數(shù)據(jù)庫不能使用
            sqlplus /nolog 可以登錄并且啟動(dòng)實(shí)例,但是sqlplus 帳號(hào)/密碼@實(shí)例不能登錄,tnsping是正常的,懷疑tns的oracle_sid和實(shí)例的sid可能不一樣發(fā)現(xiàn)原因:
              $ORACLE_HOME/dbs/init.ora 里缺少intance_name
            可能是上面的錯(cuò)誤導(dǎo)致init.ora的參數(shù)未初始化完畢

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

            成功啟動(dòng),再連接 OK!

          七.樹形卷疊計(jì)算
          七. 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
              目錄授權(quán)(修改目錄所有者): chown -R oracle:dba db_data/
          八:   設(shè)置權(quán)限:chmod 777 db_data

          八:禁用exp導(dǎo)出權(quán)限
          sys權(quán)限進(jìn)入oracle,執(zhí)行
          revoke select on sys.exu8usru from public;

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

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



          1. 關(guān)閉數(shù)據(jù)庫

          SQL>SHUTDOWN IMMEDIATE



          2. 啟動(dòng)到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 參數(shù),跳過超子集檢測(cè)

          SQL>ALTER DATABASE CHARACTER SET INTERNAL_USE AL32UTF8;

          SQL>ALTER DATABASE NATIONAL CHARACTER SET INTERNAL_USE AL32UTF8;





          SQL>SHUTDOWN IMMEDIATE;



          SQL>STARTUP  回復(fù)  更多評(píng)論
            

          只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


          網(wǎng)站導(dǎo)航:
           

          <2019年5月>
          2829301234
          567891011
          12131415161718
          19202122232425
          2627282930311
          2345678

          常用鏈接

          留言簿(3)

          隨筆檔案

          相冊(cè)

          搜索

          •  

          積分與排名

          • 積分 - 6312
          • 排名 - 2843

          最新評(píng)論

          閱讀排行榜

          評(píng)論排行榜

          主站蜘蛛池模板: 新巴尔虎左旗| 平昌县| 福贡县| 新河县| 荆州市| 澄迈县| 武川县| 建阳市| 巍山| 吉林省| 霍邱县| 翁源县| 旺苍县| 兴宁市| 思南县| 攀枝花市| 大新县| 平南县| 福州市| 运城市| 翼城县| 海丰县| 云和县| 中西区| 广东省| 乐亭县| 双流县| 鄂伦春自治旗| 甘孜| 商丘市| 晋江市| 谢通门县| 山东省| 台江县| 客服| 盐城市| 泰和县| 双峰县| 万州区| 夏津县| 利津县|