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.找出閃回點
1
SQL> select dbms_flashback.get_system_change_number fscn from dual;
2
3
FSCN
4
----------
5
6603893
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;
五.更新記錄不存在,則插入
1
BEGIN
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;
6
END;
六. 在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
弦驚塞外 閱讀(498)
評論(3) 編輯 收藏