DBA常用sql语句_第1页
DBA常用sql语句_第2页
DBA常用sql语句_第3页
DBA常用sql语句_第4页
DBA常用sql语句_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、Sql语句自收集一、 表的操作1. 查当前用户下所有的表: select * from tab; 或者:select * from user_tables select * from tab where tabtype = TABLE 查其他用户的表select * from all_tables WHERE OWNER = XXX2. 查看数据库的版本信息:select * from v&version;3. 创建一个用户:create user test1 identified by test1;4. 授予该用户权限:grant connect, resource to test1;5.

2、修改用户口令 格式 alter user 用户名 identified by 新密码;SQL alter user system identified by manager;6. 解锁被锁定的oracle用户SQL alter user test account unlock;7. 创建表:create table test(id number, name varchar2(20);8. 插入数据:insert into test values(001, Perter);9. 更新数据:update test set name=Jack where id=001;10. 删除数据:delete

3、 from test where id=001;11. 更改表的结构:alter table test modify(name char(10);12. 查询字符集:select property_name,property_value from database_properties;或者select userenv(language) from dual;或者:Select * from v$NLS_PARAMETERS WHERE PARAMETER=NLS_CHARACTERSET;二、 表空间相关查询1. 查询所有用户默认表空间Select username,default_tabl

4、espace from dba_users;2. 查询某一个用户(例如scott)的默认表空间以及临时表空间Select username,default_tablespace,temporary_tablespace from dba_users where username=SCOTT; 注:用户名必须是大写。3. 查看某个用户(SCOTT)的系统权限select * from user_sys_privs; /查看当前用户所有权限 select * from user_tab_privs; /查看所用用户对表的权限4. 查看某一个用户使用了哪些表Select t.table_name,t

5、.tablespace_name from dba_all_tables t where t.owner=SCOTT;查询某个表属于哪个表空间:select tablespace_name from user_tables where table_name=TEST1;5. 查看当前用户有哪些表:Select table_name from user_tables;查看所有用户的表名:Select table_name from all_tables;6. 查询当前系统中的所有用户Select * from all_users;7. 查询当前用户连接Select count(*) from v

6、$session;8. 查看当前用户权限Select * from session_privs;9. 总结性查看用户,权限,角色,对象等查询方法1、查看所有用户:select * from dba_user;select * from all_users;select * from user_users;2、查看用户系统权限:select * from dba_sys_privs;select * from all_sys_privs;select * from user_sys_privs;3、查看用户对象权限:select * from dba_tab_privs;select * fro

7、m all_tab_privs;select * from user_tab_privs; 4、查看所有角色:select * from dba_roles;5、查看用户所拥有的角色:select * from dba_role_privs;select * from user_role_privs;6、查看角色所拥有的权限:select * from role_sys_privs;select * from role_tab_privs;7、查看所有系统权限select * from system_privilege_map;8、查看所有对象权限select * from table_pri

8、vilege_map;10. 查看表空间及其大小select t.tablespace_name, round(sum(bytes/(1024*1024),0) ts_size from dba_tablespaces t, dba_data_files d where t.tablespace_name = d.tablespace_name group by t.tablespace_name;查看表空间剩余空间大小:select sum(bytes)/(1024*1024) as free_space,tablespace_name from dba_free_space group b

9、y tablespace_name;查看表空间使用情况以及剩余大小SELECT A.TABLESPACE_NAME,A.BYTES/1024/1024 TOTAL,B.BYTES/1024/1024 USED, C.BYTES FREE, (B.BYTES*100)/A.BYTES % USED,(C.BYTES*100)/A.BYTES % FREE FROM SYS.SM$TS_AVAIL A,SYS.SM$TS_USED B,SYS.SM$TS_FREE C WHERE A.TABLESPACE_NAME=B.TABLESPACE_NAME AND A.TABLESPACE_NAME=C

10、.TABLESPACE_NAME;11. 查看表空间物理文件的名称及大小select tablespace_name, file_id, file_name,round(bytes/(1024*1024),0) total_space from dba_data_files order by tablespace_name;具体查看某个表空间中有哪些数据文件(例如SYSTEM表空间)select file_name, bytes from dba_data_files where tablespace_name=SYSTEM;12. 查看数据库总大小:查看占文件系统的空间。例如表空间的大小是1

11、0g,使用了1g,这种统计按照10g来算的select sum(bytes)/1024/1024/1024 GB from dba_data_files;只查看数据量占有大小:select sum(bytes)/1024/1024/1024 from dba_segments;或者拿两个视图的值相减,dba_data_files和dba_free_space视图,如下:13. 如何杀掉吊死session(1) 找出吊死sessionSelect sid,serial#,program,machine,lockwait from v$session; 杀死sessionSvrmgrlalter

12、system kill session init1,init2;& 说明:其中init1为sid,init2为serial#。14. 查询数据库中各个表空间的碎片大小select tablespace_name,count(*) chunks,max(bytes/1024/1024) max_chunk from dba_free_space group by tablespace_name;其中, CHUNKS 列表示表空间中有多少可用的空闲块(每个空闲块是由一些连续的 Oracle 数据块组成),如果这样的空闲块过多,比如均到每个数据文件上超过了 100 个, 那么该表空间的碎片状况就比较

13、严重了, 可以尝试用以下的 SQL 命令进行表空间相邻碎片的接合:alter tablespace 表空间名 coalesce;然后再执行查看表空间碎片的 SQL 语句, 看表空间的碎片有没有减少。如果没有效果,并且表空间的碎片已经严重影响到了数据库的运行,则考虑对该表空间进行重建。MAX_CHUNK 列的结果是表空间上最大的可用块大小,如果该表空间上的对 象所 需分配 的 空间 (NEXT 值 ) 大 于可 用块的 大 小 的 话 , 就 会 提示ORA-1652、ORA-1653、ORA-1654 的错误信息,DBA 应该及时对表空间的空间进行扩充,以避免这些错误发生。对表空间的扩充对表空

14、间的数据文件大小进行扩展,或向表空间增加数据文件.15. 检查job运行情况:select job,log_user,last_date,failures from dba_jobs;如果 F AILURES 列是一个大于 0 的数的话,说明 JOB 运行失败,要进一步的检查。16. 查看每天的归档量大小SELECT SUM(BLOCKS *BLOCK_SIZE )/1024/1024 AS Size(M),TRUNC(completion_time)FROM v$archived_logGROUP BY TRUNC(completion_time);查看归档目录总大小:select sum(

15、a.BLOCK_SIZE*a.BLOCKS)/1024/1024 from v$archived_log a where a.DELETED=NO;17. 归档日志的删除操作show parameter db_recovery_file_dest_size;select sum(a.BLOCK_SIZE*a.BLOCKS)/1024/1024 from v$archived_log a where a.DELETED=NO;参见下帖5楼:删除归档日志RMANconnect target /RMANlist archivelog all;RMANlist copy of archivelog u

16、ntil time SYSDATE-10;RMANlist copy of archivelog from time SYSDATE-10RMANlist copy of archivelog from time SYSDATE-10 until time SYSDATE-2;RMANlist copy of archivelog from sequence 1000;RMANlist copy of archivelog until sequence 1500;RMANlist copy of archivelog from sequence 1000 until sequence 1500

17、;RMANdelete archivelog all;RMANdelete archivelog until time SYSDATE-10;RMANdelete archivelog from time SYSDATE-10RMANdelete archivelog from time SYSDATE-10 until time SYSDATE-2;RMANdelete archivelog from sequence 1000;RMANdelete archivelog until sequence 1500;RMANdelete archivelog from sequence 1000 until sequence 1500;RMANcrosscheck archivelog all;RMAN delete expired archivelog all;Note : Also, you can use noprom

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论