一、使用offline數據文件的方法
10余年的奎屯網站建設經驗,針對設計、前端、開發、售后、文案、推廣等六對一服務,響應快,48小時及時工作處理。網絡營銷推廣的優勢是能夠根據用戶設備顯示端的尺寸不同,自動調整奎屯建站的顯示方式,使網站能夠適用不同顯示終端,在瀏覽器中調整網站的寬度,無論在任何一種瀏覽器上瀏覽網站,都能展現優雅布局與設計,從而大程度地提升瀏覽體驗。成都創新互聯公司從事“奎屯網站設計”,“奎屯網站推廣”以來,每個客戶項目都認真落實執行。
非歸檔模式使用:alter database datafile '...' offline drop;
歸檔模式使用: alter database datafile '...' offline;
說明:
1) 以上命令只是將該數據文件OFFLINE,而不是在數據庫中刪除數據文件。該數據文件的信息在控制文件種仍存在。查詢v$datafile,仍顯示該文件。
2) 歸檔模式下offline和offline drop效果是一樣的
3) offline后,存在此datafile上的對象將不能訪問
4) noarchivelog模式下,只要online redo日志沒有被重寫,可以對這個文件recover后進行online操作
實際使用案例:
直接刪除數據文件后無法進入系統的解決方案
正常情況下,刪除表空間的正確方法為:
DROP TABLESPACE tablespace_name INCLUDING CONTENTS AND DATAFILES;
如果沒有通過以上命令刪除而直接刪除了數據文件,將導致數據庫無法打開。
如果直接刪除了數據文件
普通用戶登錄時,則報錯:
ORA-01033: ORACLE initialization or shutdown in progress
sys用戶可以正常登錄
但進行操作時(SELECT count(1) FROM user_tables),則會報錯:
ORA-01219: 數據庫未打開: 僅允許在固定表/視圖中查詢
如果執行命令alter database open以打開數據庫時,又報如下錯:
ORA-01157: 無法標識/鎖定數據文件 12 - 請參閱 DBWR 跟蹤文件
ORA-01110: 數據文件 12: 'E:/ORACLE/PRODUCT/10.2.0/ORADATA/ORCL/TSTEST001.DBF'
說明數據庫沒找到這個數據文件
因為數據文件在沒有被offline的情況下物理刪除了,導致oracle的數據不一致,因此啟動失敗.
通過以下方法即可解決
解決方法:
sqlplus sys/orcl@orcl as sysdba;
SQL alter database datafile 'E:/ORACLE/PRODUCT/10.2.0/ORADATA/ORCL/TSTEST001.DBF' offline drop;
SQL alter database open;
SQL drop tablespace CTBASEDATA;
二、Oracle 10G R2開始,可以采用:Alter tablespace tablespace_name drop datafile file_name;來刪除一個空數據文件,并且相應的數據字典信息也會清除:
sys@ORCLselect file_id,file_name,tablespace_name from dba_data_files
2 where tablespace_name='USERS';
FILE_ID FILE_NAME TABLESPACE_NAME
------- -------------------------------------------- ------------------
4 /u01/app/oracle/oradata/orcl/users01.dbf USERS
sys@ORCLalter tablespace users add datafile
2 '/u01/app/oracle/oradata/orcl/users02.dbf' size 5M autoextend off;
Tablespace altered.
sys@ORCLselect file_id,file_name,tablespace_name from dba_data_files
2 where tablespace_name='USERS';
FILE_ID FILE_NAME TABLESPACE_NAME
------- -------------------------------------------- -------------------
4 /u01/app/oracle/oradata/orcl/users01.dbf USERS
9 /u01/app/oracle/oradata/orcl/users02.dbf USERS
sys@ORCLdrop table test;
Table dropped.
sys@ORCLcreate table test tablespace users
2 as
3 select * from dba_objects;
Table created.
sys@ORCLselect SEGMENT_NAME,FILE_ID,BLOCKS from dba_extents
2 where file_id=9;
SEGMENT_NAME FILE_ID BLOCKS
------------------------------ ---------- ----------
TEST 9 8
TEST 9 8
TEST 9 8
TEST 9 8
TEST 9 8
TEST 9 8
TEST 9 8
TEST 9 8
TEST 9 8
TEST 9 8
TEST 9 8
TEST 9 8
TEST 9 8
TEST 9 8
TEST 9 8
TEST 9 128
TEST 9 128
17 rows selected.
sys@ORCLalter table test move tablespace PERFSTAT; --把表移動到其它表空間
Table altered.
sys@ORCLselect SEGMENT_NAME,FILE_ID,BLOCKS from dba_extents
2 where file_id=9;
no rows selected
sys@ORCLalter tablespace users drop datafile
2 '/u01/app/oracle/oradata/orcl/users02.dbf';
Tablespace altered.
sys@ORCLselect file_id,file_name,tablespace_name from dba_data_files
2 where tablespace_name='USERS';
FILE_ID FILE_NAME TABLESPACE_NAME
------- -------------------------------------------- ---------------------
4 /u01/app/oracle/oradata/orcl/users01.dbf USERS
三、oracle 10g可以刪除臨時表空間的文件
alter database tempfile '/home/oracle/temp01.dbf' drop including datafiles;
其實很簡單的,在軟件界面上就可以執行的,點擊刪除憑證就可以了,不建議到數據庫里操作,這樣麻煩而且風險很大,憑證主表是gl_voucher,子表是gl_detail。
用Oracle自帶的卸載程序不能從根本上卸載Oracle,從而為下次的安裝留下隱患,那么怎么才能完全卸載Oracle呢?
那就是直接注冊表清除,步驟如下:
1、 開始-設置-控制面板-管理工具-服務
停止所有Oracle服務。
OracleOraDb11g_home1TNSListener:專門支持遠程訪問oracle數據庫(用Java程序訪問oracle,每次啟動此服務需要1秒鐘左右,) OracleServiceXE:“XE”是數據庫名稱。是oracle核心服務,關系到oracle數據庫的整個運行,必須保證這個服務開啟,如果停止就無法連接到oracle服務器。啟動這個服務大概需要2分鐘,如果是自動啟動,你會發現你的電腦會比之前大概慢2分鐘。
2、 (忽略)開始-程序-Oracle - OraDb11g_home1-Oracle安裝產品- Universal Installer
卸裝所有Oracle產品,但Universal Installer本身不能被刪除[如果第二步執行失敗,跳到第三步,大部份第二步是失敗的]
3、 運行regedit,選擇HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE,按del鍵刪除這個入口。
4、 運行regedit,刪除以下這三個位置中的所有Oracle入口。
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\【下】所有Oracle刪除
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\Services\【下】所有Oracle刪除
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet003\Services\【下】所有Oracle刪除
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\【下】所有Oracle刪除
5、 運行regedit,
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Eventlog\Application\【下】所有Oracle刪除,
刪除所有Oracle入口。
6、 開始-設置-控制面板-系統-高級-環境變量
刪除環境變量CLASSPATH和PATH中有關Oracle的設定
7、 從桌面上、STARTUP(啟動)組、程序菜單中,刪除所有有關Oracle的組和圖標
8、 刪除e:/oracleDB目錄
9、 【重新啟動計算機】,重起后才能完全刪除Oracle所在目錄
10、 刪除與Oracle有關的文件,選擇Oracle所在的缺省目錄C:\Oracle,刪除這個入
口目錄及所有子目錄,并從Windows目錄(一般為C:\WINDOWS)下刪除oralce文件等等。
11、 在運行框中輸入“win.ini”,回車。WIN.INI文件中若有[ORACLE]的標記段,刪除該段
12、 【如有必要】,刪除所有Oracle相關的ODBC的DSN
13、 到事件查看器中,刪除Oracle相關的日志
說明:
如果有個別DLL文件無法刪除的情況,則不用理會,重新啟動,開始新的安裝,
安裝時,選擇一個新的目錄,則,安裝完畢并重新啟動后,老的目錄及文件就可以刪除掉了
刪除表還是?
如果是刪除表,2種方式
delete是行級刪除,刪除行
truncate tablename是清空表
如果要刪除表 drop tablename
當前文章:oracle怎么刪除憑證 刪除憑據刪除所有證書后果
路徑分享:http://m.kartarina.com/article14/hgeoge.html
成都網站建設公司_創新互聯,為您提供動態網站、網站排名、網站建設、虛擬主機、網站營銷、ChatGPT
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯