本文內容來至
如果dual表不在了,也可以用下面的方法恢復:(藉此做個記錄)
可以通過執行以下步驟來進行恢復。可以用sys使用者登陸。
sql> create pfile='dualfile.bak' from spfile
sql> shutdown immediate
在dualfile.bak檔案中最後加入一條:replication_dependency_tracking = false
重新啟動資料庫:
sql> startup pfile='dualfile.bak'
sql> create table "sys"."dual"
( "dummy" varchar2(1) )
pctfree 10 pctused 4;
sql> insert into dual values('x');
sql> commit;
sql> grant select on dual to public;
授權成功。
sql> select * from dual;d-
xsql> shutdown immediate
資料庫已經關閉。
已經解除安裝資料庫。
oracle 例程已經關閉。
sql> startup
oracle 例程已經啟動。
dual表給弄壞了,drop操作看來是要用到dual表的,解決的步驟如下(主要是把dual表修復了一下):
1.先建立了乙個自定義的dual表暫時頂替
sys@test>create table my_dual as select dummy from dual;
table created.
sys@test>select * from my_dual;d-
x2.建立臨時dual表的同義詞,並賦給所有使用者select的許可權
sys@test>create public synonym dual for my_dual;
synonym created.
sys@test>grant select on my_dual to public;
grant succeeded.
3.刪除dual表
sys@test>drop table sys.dual;
table dropped.
4.重建dual表
sys@test>create table dual as select * from dual;
table created.
5.刪除在臨時dual表上建立的同義詞
sys@test>drop public synonym dual;
synonym dropped.
sys@test>select * from dual;d-
x6.建立dual表的同義詞,並賦給所有使用者select的許可權
sys@test>create public synonym dual for sys.dual;
synonym created.
sys@test>grant select on dual to public;
grant succeeded.
刪除表空間沒有問題了
sys@test>drop tablespace temp01 including contents and datafiles;
tablespace dropped.
看樣在dual表在oracle資料庫中還是很重要的
Oracle中dual表的用途
dual是乙個虛擬表,用來構成select的語法規則,oracle保證dual裡面永遠只有一條記錄。我們可以用它來做很多事情,如下 1 檢視當前使用者,可以在 sql plus中執行下面語句 select user from dual 2 用來呼叫系統函式 select to char sysdat...
oracle中dual表的用法
dual是乙個虛擬表,用來構成select的語法規則,oracle保證dual裡面永遠只有一條記錄。我們可以用它來做很多事情,如下 1 檢視當前使用者,可以在 sql plus中執行下面語句 select user from dual 2 用來呼叫系統函式 select to char sysdat...
oracle中奇妙的dual表
dual是乙個虛擬表,用來構成select的語法規則,oracle保證dual裡面永遠只有一條記錄。我們可以用它來做很多事情,如下 1 檢視當前使用者,可以在 sql plus中執行下面語句 select user from dual 2 用來呼叫系統函式 select to char sysdat...