1.
刪除用戶及其用戶下面的所有對象
drop user branch cascade;
2.
刪除表空間及其表空間里的所有內容
drop tablespace center INCLUDING CONTENTS;
3. 刪除表空間同時刪除外鍵
drop tablespace center ? INCLUDING CONTENTS cascade constraints ;
4. 刪除表空間前已刪除數據文件解決方法
SQL> shutdown abort
???
// abort
中止
(
強制中止
)
SQL> startup mount
?
SQL> alter database datafile 'filename' offline drop;
?
SQL> alter database open;
?
SQL> drop tablesp
Bace tablespace_name including contents;
5.
創建表空間,指定數據文件,初始化
100M
自增加
5M
create tablespace
?
test datafile 'C:/test.dbf' size 100m autoextend on next 5m maxsize unlimited;
6.
創建用戶,指定表空間
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. 查看臨時表空間大小
?
select name,to_char(bytes/1024/1024)||'M' from v$tempfile;
10/
給用戶授權
grant dba,resource,connect
?
to test;
?
11. 用戶解鎖
ALTER USER username ACCOUNT UNLOCK;
12/
查看實例狀態及數據庫狀態
select status from v$instance;
select open_mode from v$database;
?
13.
查詢表的結構
desc table_name
select * from all_tables where table_name like '%'
14. 如何強制關閉用戶連接
首先查找目標用戶的當前進程
,
注意是
serial#
而不是
serial,
網上有的介紹漏掉了
#:
?
select sid,serial# from v$session where username='ERP';
?
使用此語句會返回一個進程列表
,
每行有兩個數字
,
然后用數字替代下面的
sid
和
serial
?
alter system kill session 'sid,serial';
?
例如
?
alter system kill session '222,123';
?
?
15. 開啟歸檔模式
alter database archivelog;
查看
archive log list
?
刪除從 7 天前到現在的全部日志
DELETE ARCHIVELOG FROM TIME 'SYSDATE-7';
刪除 7 天以前的全部日志
DELETE ARCHIVELOG ALL COMPLETED BEFORE 'SYSDATE-7'
?
查看歸檔日志狀態
select group#,sequence#,archived,status from v$log;
?
重建已歸檔日志
alter database clear logfile group 1;
重建未歸檔日志
alter database clear unarchived logfile group 1;
?
clear 不成功恢復數據庫方法
recover database until cancel;
?
清空日志開啟數據庫
alter database open resetlogs
?
alter database open noresetlogs
16.
得到觸發器、過程、函數的創建腳本?
desc user_source
user_triggers
?
17.
計算一個表占用的空間的大小
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.
如何查看最大會話數?
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
個用戶。
select sessions_current, SESSIONS_HIGHWATER from v$license;
其中 sessions_highwater 紀錄曾經到達的最大會話數
修改最大會話數 :
alter system set processes=300 scope = spfile;
19
如何查看系統被鎖的事務時間?
select * from v$locked_object ;
?
20.
怎么獲取有哪些用戶在使用數據庫
select username from v$session;
?
21.
數據表中的字段最大數是多少
?
表或視圖中的最大列數為
1000
?
22.
怎樣查得數據庫的
SID ?
select name from v$database;
也可以直接查看
init.ora
文件
?
23.
如何在
Oracle
服務器上通過
SQLPLUS
查看本機
IP
地址
?
select sys_context('userenv','ip_address') from dual;
24.
在
ORACLE TABLE
中如何抓取
MEMO
類型字段為空的數據記錄
?
select remark from oms_flowrec where trim(' ' from remark) is not null ;
25.
如何用
BBB
表的數據去更新
AAA
表的數據
(
有關聯的字段
)
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.
何查詢每個用戶的權限
?
SELECT * FROM DBA_SYS_PRIVS;
?
27.
如何將表移動表空間
?
ALTER TABLE TABLE_NAME MOVE TABLESPACE_NAME;
?
28.
如何將索引移動表空間
?
ALTER INDEX INDEX_NAME REBUILD TABLESPACE TABLESPACE_NAME;
?
29.
查詢鎖的狀況的對象有
?
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.
查詢當前用戶對象
?
SELECT * FROM USER_OBJECTS;
SELECT * FROM DBA_SEGMENTS;
?
32.
如何獲取錯誤信息
?
SELECT * FROM USER_ERRORS;
?
33.
如何獲取鏈接狀況
?
SELECT * FROM DBA_DB_LINKS;
?
34.
查看數據庫字符狀況
?
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 '
表注釋
';
注釋已創建。
SQL>comment on column
表
.
列
is '
列注釋
';
注釋已創建。
SQL> select * from user_tab_comments where comments is not null;
?
38.
如何查看各個表空間占用磁盤情況?
SQL> col tablespace format a20
SQL> select
b.file_id
文件
ID
號
,
b.tablespace_name
表空間名
,
b.bytes
字節數
,
(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
設置為
MTS
或專用模式?
#dispatchers="(PROTOCOL=TCP) (SERVICE=SIDXDB)"
加上就是
MTS
,注釋就是專用模式,
SID
是指你的實例名。
?
40.
如何才能得知系統當前的
SCN
號
?
select max(ktuxescnw * power(2, 32) + ktuxescnb) from x$ktuxe;
如何在字符串里加回車?
select 'Welcome to visit'||chr(10)||'www.CSDN.NET' from dual ;
41.
怎樣修改
oracel
數據庫的默認日期
?
alter session set nls_date_format='yyyymmddhh24miss';
OR
可以在
init.ora
中加上一行
nls_date_format='yyyymmddhh24miss'
?
42.
如何將小表放入
keep
池中
?
alter table xxx storage(buffer_pool keep);
43.
如何檢查是否安裝了某個
patch?
check that oraInventory
44.
如何使
select
語句使查詢結果自動生成序號
?
select rownum,COL from table;
45.
如何知道數據褲中某個表所在的
tablespace?
select tablespace_name from user_tables where table_name='TEST';
select * from user_tables
中有個字段
TABLESPACE_NAME
,(
oracle
)
;
select * from dba_segments where
…
;
46.
怎么可以快速做一個和原表一樣的備份表
?
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 ,
把那個
session
給殺掉,不過你要先查出她的
session id
or
把該過程重新改個名字就可以了。
49.
如何查看數據庫的狀態
?
unix
下
ps -ef | grep ora
windows
下
看服務是否起來
是否可以連上數據庫
50.
請問如何修改一張表的主鍵
?
alter table aaa
drop constraint aaa_key ;
alter table aaa
add constraint aaa_key primary key(a1,b1) ;
51.
改變數據文件的大小
?
用
ALTER DATABASE .... DATAFILE .... ;
手工改變數據文件的大小,對于原來的
數據文件有沒有損害。
52.
怎樣查看
ORACLE
中有哪些程序在運行之中?
查看
v$sessions
表
53.
怎么可以看到數據庫有多少個
tablespace?
select * from dba_tablespaces;
54.
如何修改
oracle
數據庫的用戶連接數?
修改
initSID.ora
,將
process
加大,重啟數據庫
.
55.
如何查出一條記錄的最后更新時間
?
可以用
logminer
察看
56.
內核參數的應用
?
shmmax
含義:這個設置并不決定究竟
Oracle
數據庫或者操作系統使用多少物理內存,只決定了最多可以使用的內存數目。這個設置也不影
響操作系統的內核資源。
設置方法:
0.5*
物理內存
例子:
Set shmsys:shminfo_shmmax=10485760
shmmin
含義:共享內存的最小大小。
設置方法:一般都設置成為
1
。
例子:
Set shmsys:shminfo_shmmin=1
:
shmmni
含義:系統中共享內存段的最大個數。
例子:
Set shmsys:shminfo_shmmni=100
shmseg
含義:每個用戶進程可以使用的最多的共享內存段的數目。
例子:
Set shmsys:shminfo_shmseg=20
:
semmni
含義:系統中
semaphore identifierer
的最大個數。
設置方法:把這個變量的值設置為這個系統上的所有
Oracle
的實例的
init.ora
中的最大的那個
processes
的那個值加
10
。
例子:
Set semsys:seminfo_semmni=100
semmns
含義:系統中
emaphores
的最大個數。
設置方法:這個值可以通過以下方式計算得到:各個
Oracle
實例的
initSID.ora
里邊的
processes
的值的總和(除去最大的
Processes
參數)+最大的那個
Processes
×
2
+
10
×
Oracle
實例的個數。
例子:
Set semsys:seminfo_semmns=200
semmsl:
含義:一個
set
中
semaphore
的最大個數。
設置方法:設置成為
10
+所有
Oracle
實例的
InitSID.ora
中最大的
Processes
的值。
例子:
Set semsys:seminfo_semmsl=-200
? </p
發表評論
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

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

評論