1.
刪除用戶及其用戶下面的所有對(duì)象
drop user branch cascade;
2.
刪除表空間及其表空間里的所有內(nèi)容
drop tablespace center INCLUDING CONTENTS;
3. 刪除表空間同時(shí)刪除外鍵
drop tablespace center ? INCLUDING CONTENTS cascade constraints ;
4. 刪除表空間前已刪除數(shù)據(jù)文件解決方法
SQL> shutdown abort
???
// abort
中止
(
強(qiáng)制中止
)
SQL> startup mount
?
SQL> alter database datafile 'filename' offline drop;
?
SQL> alter database open;
?
SQL> drop tablesp
Bace tablespace_name including contents;
5.
創(chuàng)建表空間,指定數(shù)據(jù)文件,初始化
100M
自增加
5M
create tablespace
?
test datafile 'C:/test.dbf' size 100m autoextend on next 5m maxsize unlimited;
6.
創(chuàng)建用戶,指定表空間
create user test identified by pwd default tablespace test;
7.
改變用戶表空間
alter user test default tablespace tablespace_name;
8. 查看各表空間大小
select
?
b.file_name
物理文件名
,
b.tablespace_name
表空間
,
b.bytes/1024/1024
大小
M,
(b.bytes-sum(nvl(a.bytes,0)))/1024/1024
?
已使用
M,
substr((b.bytes-sum(nvl(a.bytes,0)))/(b.bytes)*100,1,5)
?
利用率
?
from dba_free_space a,dba_data_files b
?
where a.file_id=b.file_id
?
group by b.tablespace_name,b.file_name,b.bytes
?
order by b.tablespace_name
?
9. 查看臨時(shí)表空間大小
?
select name,to_char(bytes/1024/1024)||'M' from v$tempfile;
10/
給用戶授權(quán)
grant dba,resource,connect
?
to test;
?
11. 用戶解鎖
ALTER USER username ACCOUNT UNLOCK;
12/
查看實(shí)例狀態(tài)及數(shù)據(jù)庫(kù)狀態(tài)
select status from v$instance;
select open_mode from v$database;
?
13.
查詢表的結(jié)構(gòu)
desc table_name
select * from all_tables where table_name like '%'
14. 如何強(qiáng)制關(guān)閉用戶連接
首先查找目標(biāo)用戶的當(dāng)前進(jìn)程
,
注意是
serial#
而不是
serial,
網(wǎng)上有的介紹漏掉了
#:
?
select sid,serial# from v$session where username='ERP';
?
使用此語(yǔ)句會(huì)返回一個(gè)進(jìn)程列表
,
每行有兩個(gè)數(shù)字
,
然后用數(shù)字替代下面的
sid
和
serial
?
alter system kill session 'sid,serial';
?
例如
?
alter system kill session '222,123';
?
?
15. 開(kāi)啟歸檔模式
alter database archivelog;
查看
archive log list
?
刪除從 7 天前到現(xiàn)在的全部日志
DELETE ARCHIVELOG FROM TIME 'SYSDATE-7';
刪除 7 天以前的全部日志
DELETE ARCHIVELOG ALL COMPLETED BEFORE 'SYSDATE-7'
?
查看歸檔日志狀態(tài)
select group#,sequence#,archived,status from v$log;
?
重建已歸檔日志
alter database clear logfile group 1;
重建未歸檔日志
alter database clear unarchived logfile group 1;
?
clear 不成功恢復(fù)數(shù)據(jù)庫(kù)方法
recover database until cancel;
?
清空日志開(kāi)啟數(shù)據(jù)庫(kù)
alter database open resetlogs
?
alter database open noresetlogs
16.
得到觸發(fā)器、過(guò)程、函數(shù)的創(chuàng)建腳本?
desc user_source
user_triggers
?
17.
計(jì)算一個(gè)表占用的空間的大小
select owner,table_name,
NUM_ROWS,
BLOCKS*AAA/1024/1024 "Size M",
B
EMPTY_BLOCKS,
LAST_ANALYZED
from dba_tables
where table_name='XXX';
Here: AAA is the value of db_block_size ;
XXX is the table name you want to check
?
18.
如何查看最大會(huì)話數(shù)?
SELECT * FROM V$PARAMETER WHERE NAME LIKE 'proc%';
SQL>
SQL> show parameter processes
NAME TYPE VALUE
------------------------------------ ------- ------------------------------
aq_tm_processes integer 1
db_writer_processes integer 1
job_queue_processes integer 4
log_archive_max_processes integer 1
processes integer 200
這里為
200
個(gè)用戶。
select sessions_current, SESSIONS_HIGHWATER from v$license;
其中 sessions_highwater 紀(jì)錄曾經(jīng)到達(dá)的最大會(huì)話數(shù)
修改最大會(huì)話數(shù) :
alter system set processes=300 scope = spfile;
19
如何查看系統(tǒng)被鎖的事務(wù)時(shí)間?
select * from v$locked_object ;
?
20.
怎么獲取有哪些用戶在使用數(shù)據(jù)庫(kù)
select username from v$session;
?
21.
數(shù)據(jù)表中的字段最大數(shù)是多少
?
表或視圖中的最大列數(shù)為
1000
?
22.
怎樣查得數(shù)據(jù)庫(kù)的
SID ?
select name from v$database;
也可以直接查看
init.ora
文件
?
23.
如何在
Oracle
服務(wù)器上通過(guò)
SQLPLUS
查看本機(jī)
IP
地址
?
select sys_context('userenv','ip_address') from dual;
24.
在
ORACLE TABLE
中如何抓取
MEMO
類型字段為空的數(shù)據(jù)記錄
?
select remark from oms_flowrec where trim(' ' from remark) is not null ;
25.
如何用
BBB
表的數(shù)據(jù)去更新
AAA
表的數(shù)據(jù)
(
有關(guān)聯(lián)的字段
)
UP2003-10-17 AAA SET BNS_SNM=(SELECT BNS_SNM FROM BBB WHERE AAA.DPT_NO=BBB.DPT_NO) WHERE BBB.DPT_NO IS NOT NULL;
?
26.
何查詢每個(gè)用戶的權(quán)限
?
SELECT * FROM DBA_SYS_PRIVS;
?
27.
如何將表移動(dòng)表空間
?
ALTER TABLE TABLE_NAME MOVE TABLESPACE_NAME;
?
28.
如何將索引移動(dòng)表空間
?
ALTER INDEX INDEX_NAME REBUILD TABLESPACE TABLESPACE_NAME;
?
29.
查詢鎖的狀況的對(duì)象有
?
V$LOCK, V$LOCKED_OBJECT, V$SESSION, V$SQLAREA, V$PROCESS ;
30.
查詢鎖的表的方法
:
SELECT S.SID SESSION_ID, S.USERNAME, DECODE(LMODE, 0, 'None', 1, 'Null', 2, 'Row-S (SS)', 3, 'Row-X (SX)', 4, 'Share',
5, 'S/Row-X (SSX)', 6, 'Exclusive', TO_CHAR(LMODE)) MODE_HELD, DECODE(REQUEST, 0, 'None', 1, 'Null', 2, 'Row-S (SS)',
3, 'Row-X (SX)', 4, 'Share', 5, 'S/Row-X (SSX)', 6, 'Exclusive', TO_CHAR(REQUEST)) MODE_REQUESTED,
O.CCBZZP||'.'||O.OBJECT_NAME||' ('||O.OBJECT_TYPE||')', S.TYPE LOCK_TYPE, L.ID1 LOCK_ID1, L.ID2 LOCK_ID2 FROM V$LOCK L,
SYS.DBA_OBJECTS O, V$SESSION S WHERE L.SID = S.SID AND L.ID1 = O.OBJECT_ID ;
?
31.
查詢當(dāng)前用戶對(duì)象
?
SELECT * FROM USER_OBJECTS;
SELECT * FROM DBA_SEGMENTS;
?
32.
如何獲取錯(cuò)誤信息
?
SELECT * FROM USER_ERRORS;
?
33.
如何獲取鏈接狀況
?
SELECT * FROM DBA_DB_LINKS;
?
34.
查看數(shù)據(jù)庫(kù)字符狀況
?
SELECT * FROM NLS_DATABASE_PARAMETERS;
SELECT * FROM V$NLS_PARAMETERS;
?
35.
查詢表空間信息
?
SELECT * FROM DBA_DATA_FILES;
?
36. ORACLE
的
INTERAL
用戶要口令
?
修改
SQLNET.ORA
SQLNET.AUTHENTICATION_SERVICES=(NTS)
?
37.
如何給表、列加注釋?
SQL>comment on table
表
is '
表注釋
';
注釋已創(chuàng)建。
SQL>comment on column
表
.
列
is '
列注釋
';
注釋已創(chuàng)建。
SQL> select * from user_tab_comments where comments is not null;
?
38.
如何查看各個(gè)表空間占用磁盤情況?
SQL> col tablespace format a20
SQL> select
b.file_id
文件
ID
號(hào)
,
b.tablespace_name
表空間名
,
b.bytes
字節(jié)數(shù)
,
(b.bytes-sum(nvl(a.bytes,0)))
已使用
,
sum(nvl(a.bytes,0))
剩余空間
,
sum(nvl(a.bytes,0))/(b.bytes)*100
剩余百分比
from dba_free_space a,dba_data_files b
where a.file_id=b.file_id
group by b.tablespace_name,b.file_id,b.bytes
order by b.file_id
?
39.
如把
ORACLE
設(shè)置為
MTS
或?qū)S媚J剑?
#dispatchers="(PROTOCOL=TCP) (SERVICE=SIDXDB)"
加上就是
MTS
,注釋就是專用模式,
SID
是指你的實(shí)例名。
?
40.
如何才能得知系統(tǒng)當(dāng)前的
SCN
號(hào)
?
select max(ktuxescnw * power(2, 32) + ktuxescnb) from x$ktuxe;
如何在字符串里加回車?
select 'Welcome to visit'||chr(10)||'www.CSDN.NET' from dual ;
41.
怎樣修改
oracel
數(shù)據(jù)庫(kù)的默認(rèn)日期
?
alter session set nls_date_format='yyyymmddhh24miss';
OR
可以在
init.ora
中加上一行
nls_date_format='yyyymmddhh24miss'
?
42.
如何將小表放入
keep
池中
?
alter table xxx storage(buffer_pool keep);
43.
如何檢查是否安裝了某個(gè)
patch?
check that oraInventory
44.
如何使
select
語(yǔ)句使查詢結(jié)果自動(dòng)生成序號(hào)
?
select rownum,COL from table;
45.
如何知道數(shù)據(jù)褲中某個(gè)表所在的
tablespace?
select tablespace_name from user_tables where table_name='TEST';
select * from user_tables
中有個(gè)字段
TABLESPACE_NAME
,(
oracle
)
;
select * from dba_segments where
…
;
46.
怎么可以快速做一個(gè)和原表一樣的備份表
?
create table new_table as (select * from old_table);
47.
怎么在
sqlplus
下修改
procedure?
select line,trim(text) t from user_source where name =
’
A
’
order by line;
48.
怎樣解除
PROCEDURE
被意外鎖定
?
alter system kill session ,
把那個(gè)
session
給殺掉,不過(guò)你要先查出她的
session id
or
把該過(guò)程重新改個(gè)名字就可以了。
49.
如何查看數(shù)據(jù)庫(kù)的狀態(tài)
?
unix
下
ps -ef | grep ora
windows
下
看服務(wù)是否起來(lái)
是否可以連上數(shù)據(jù)庫(kù)
50.
請(qǐng)問(wèn)如何修改一張表的主鍵
?
alter table aaa
drop constraint aaa_key ;
alter table aaa
add constraint aaa_key primary key(a1,b1) ;
51.
改變數(shù)據(jù)文件的大小
?
用
ALTER DATABASE .... DATAFILE .... ;
手工改變數(shù)據(jù)文件的大小,對(duì)于原來(lái)的
數(shù)據(jù)文件有沒(méi)有損害。
52.
怎樣查看
ORACLE
中有哪些程序在運(yùn)行之中?
查看
v$sessions
表
53.
怎么可以看到數(shù)據(jù)庫(kù)有多少個(gè)
tablespace?
select * from dba_tablespaces;
54.
如何修改
oracle
數(shù)據(jù)庫(kù)的用戶連接數(shù)?
修改
initSID.ora
,將
process
加大,重啟數(shù)據(jù)庫(kù)
.
55.
如何查出一條記錄的最后更新時(shí)間
?
可以用
logminer
察看
56.
內(nèi)核參數(shù)的應(yīng)用
?
shmmax
含義:這個(gè)設(shè)置并不決定究竟
Oracle
數(shù)據(jù)庫(kù)或者操作系統(tǒng)使用多少物理內(nèi)存,只決定了最多可以使用的內(nèi)存數(shù)目。這個(gè)設(shè)置也不影
響操作系統(tǒng)的內(nèi)核資源。
設(shè)置方法:
0.5*
物理內(nèi)存
例子:
Set shmsys:shminfo_shmmax=10485760
shmmin
含義:共享內(nèi)存的最小大小。
設(shè)置方法:一般都設(shè)置成為
1
。
例子:
Set shmsys:shminfo_shmmin=1
:
shmmni
含義:系統(tǒng)中共享內(nèi)存段的最大個(gè)數(shù)。
例子:
Set shmsys:shminfo_shmmni=100
shmseg
含義:每個(gè)用戶進(jìn)程可以使用的最多的共享內(nèi)存段的數(shù)目。
例子:
Set shmsys:shminfo_shmseg=20
:
semmni
含義:系統(tǒng)中
semaphore identifierer
的最大個(gè)數(shù)。
設(shè)置方法:把這個(gè)變量的值設(shè)置為這個(gè)系統(tǒng)上的所有
Oracle
的實(shí)例的
init.ora
中的最大的那個(gè)
processes
的那個(gè)值加
10
。
例子:
Set semsys:seminfo_semmni=100
semmns
含義:系統(tǒng)中
emaphores
的最大個(gè)數(shù)。
設(shè)置方法:這個(gè)值可以通過(guò)以下方式計(jì)算得到:各個(gè)
Oracle
實(shí)例的
initSID.ora
里邊的
processes
的值的總和(除去最大的
Processes
參數(shù))+最大的那個(gè)
Processes
×
2
+
10
×
Oracle
實(shí)例的個(gè)數(shù)。
例子:
Set semsys:seminfo_semmns=200
semmsl:
含義:一個(gè)
set
中
semaphore
的最大個(gè)數(shù)。
設(shè)置方法:設(shè)置成為
10
+所有
Oracle
實(shí)例的
InitSID.ora
中最大的
Processes
的值。
例子:
Set semsys:seminfo_semmsl=-200
? </p
- 2010-02-08 15:20
- 瀏覽 335
- 評(píng)論(0)
- 分類: 企業(yè)架構(gòu)
- 相關(guān)推薦
發(fā)表評(píng)論
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號(hào)聯(lián)系: 360901061
您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對(duì)您有幫助就好】元

評(píng)論