1.sqlplus登录
sqlplus 用户名@客户端配置名
2.查询数据库中的所有表
select * from dba_recyclebin where type='TABLE' order by droptime desc
3.删除表内容
delete from tablename where 删除条件
4.修改表名
alter table 老表名 rename to 新表名
5.查看job信息
select job,what,failures,broken from user_jobs
6.查找视图信息
select * from user_views
7.失效索引重建索引
update index indexname rebulid online
8.删除索引
drop index 索引名
9.分区中查找索引
select INDEX_NAME,PARTITION_NAME,HIGH_VALUE,STATUS from dba_ind_partitions
where index_name='indexname' or index_name = 'indexname'
10.DBA查看表分区
select * from dba_tab_partitions
11.查询分区表信息
select * from table partition(part_01)
12.索引表中查索引
select * from dba_indexes a where a.index_name = 'indexname'
13.获取无效的索引
select * from dba_indexes where status = 'unusable'
14.查看表空间
SELECT a.tablespace_name "表空间名",total/1024/1024/1024 表空间大小GB,free/1024/1024/1024 剩余表空间GB,
(total-free)/1024/1024/1024 表空间使用大小GB,
ROUND((total-free)/total,4)*100 "使用率 %"
FROM (SELECT tablespace_name,SUM(bytes) free FROM DBA_FREE_SPACE
GROUP BY tablespace_name ) a,
(SELECT tablespace_name,SUM(bytes) total FROM DBA_DATA_FILES
GROUP BY tablespace_name) b
WHERE a.tablespace_name=b.tablespace_name
15.查看表占有空间排名
select a.OWNER,
a.SEGMENT_NAME,
a.TABLESPACE_NAME,
a.SEGMENT_TYPE,
a.SUM_BYTES_GB,
b.COMPRESSION
from (select OWNER,
SEGMENT_NAME,
TABLESPACE_NAME,
SEGMENT_TYPE,
SUM_BYTES_GB
from (select OWNER,
SEGMENT_NAME,
TABLESPACE_NAME,
SEGMENT_TYPE,
round((sum(bytes) / (1024 * 1024 * 1024)), 2) SUM_BYTES_GB
from dba_segments
where TABLESPACE_NAME = 'TBS_PERFORMANCE'
group by OWNER, SEGMENT_NAME, TABLESPACE_NAME, SEGMENT_TYPE
order by SUM_BYTES_GB desc)
where rownum < 400) a,
dba_tables b
where b.TABLE_NAME(+) = a.SEGMENT_NAME
and b.OWNER(+) = a.OWNER
and b.TABLESPACE_NAME(+) = a.TABLESPACE_NAME
order by SUM_BYTES_GB desc;
16.删除表中重复行,只保留重复的一行,关键字为多个字段
delete from tablename a
where (a.fields) in
(select fileds from tablename group by 分组字段 having count(*) > 1)
and rowid not in (select min(rowid) from tablename group by 分组字段 having count(*)>1)
17.查看用户进程占用的连接数
SELECT username, machine, program, status, COUNT (machine) AS aa
FROM v$session
GROUP BY username, machine, program, status
ORDER BY aa desc;
18.启动数据库服务
lsnrctl start
sqlplus / as sysdba --startup
19.查看机器连接数
select username,machine,count(username) from v$session where username is not null group by username,machine;
20创建表连接
create public database link 连接名称 connect to 用户名 identified by 密码 using '数据库ip:端口/服务名'
create table 表名 as select * from 表名@连接名称
create database link 连接名称
connect to 用户名
using '(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = ip)(PORT = port))
)
(CONNECT_DATA =
(SID= 数据库sid)
)
)';