一.修改oracle字符集.
準(zhǔn)備修改。首先必須用sys連接。
1.修改sys密碼.用其他dba權(quán)限的賬戶(hù)登陸后輸入:alter user sys identified by 新密碼;
2.連接剛剛修改的sys(要在登陸狀態(tài)下),CONNECT SYS/密碼 as sysdba;
二.開(kāi)始修改:
SQL> shutdown immediate;
SQL> startup mount;
SQL> alter system enable restricted session;
SQL> alter system set job_queue_processes=0;
SQL> alter database open;
SQL> alter database character set internal_use UTF-8;--ZHS16GBK
SQL> shutdown immediate;
SQL> startup
注意:如果沒(méi)有大對(duì)象,在使用過(guò)程中進(jìn)行語(yǔ)言轉(zhuǎn)換沒(méi)有什么影響,具體過(guò)程如下(切記設(shè)定的字符集必須是ORACLE支持,不然不能start)
數(shù)據(jù)庫(kù)服務(wù)器字符集 select * from nls_database_parameters,其來(lái)源于props$,是表示數(shù)據(jù)庫(kù)的字符集。
二.回收站:
Oracle 10G中有一個(gè)好功能,就是Recycle,這個(gè)東西可以幫助我們找回刪除掉的Table,就像Windows的回收站一樣,而且比Windows的回收站更高級(jí),就是當(dāng)表空間不夠時(shí),Oracle 會(huì)自動(dòng)去清理回收站。
網(wǎng)上有一篇文章講這個(gè)東西,大家可以參考:
http://hi.baidu.com/moses/blog/item/0d9a4b3659bd3edca3cc2bc3.html
這篇文章寫(xiě)得還不錯(cuò),不過(guò)其中有些內(nèi)容有誤,比如清除回收站內(nèi)的Table,應(yīng)該用table的原名,而不是現(xiàn)在的名字。大家仔細(xì)看就可以發(fā)現(xiàn)。
清除的方法如下:
purge table origenal_tableName;
purge index origenal_indexName;
查詢(xún)垃圾信息,可以用如下SQL語(yǔ)句:
SELECT t.object_name,t.type ,t.original_name FROM user_recyclebin t;
清空回收站:
PURGE recyclebin;
根本用不了上面那么復(fù)雜。呵呵。。。
另,刪除Table不進(jìn)入Recycle的方法:drop table tableName purge;
比如有以下誤操作:
這個(gè)時(shí)候再用SELECT語(yǔ)句查詢(xún)此表時(shí),將會(huì)提示表或視圖不存在。但可以用如下語(yǔ)句查詢(xún)到這個(gè)表還在Oracle回收站中
SELECT * FROM
user_recyclebin WHERE original_name=‘drop_test’; |
那么現(xiàn)在就可以用如下語(yǔ)句進(jìn)行恢復(fù):
FLASHBACK TABLE drop_test TO
BEFORE DROP