Oracle常用SQL语句

Oracle常用SQL语句
Oracle常用SQL语句

Oracle常用SQL语句

——shirley 1.1. 创建表空间

create tablespace 表空间名

logging

datafile ‘数据文件存放目录\数据文件名.dbf’

size 500m ----初始大小

autoextend on ----扩展方式

next 500m maxsize 2048m ----每次扩展500MB,最大2048MB

extent management local;

说明:

1)第一: CREA TE TABLESPACE 表空间名

对表空间的命名,遵守Oracle 的命名规范就可了.

ORACLE可以创建的表空间有三种类型:

(1)TEMPORARY: 临时表空间,用于临时数据的存放,创建临时表空间的语法如下:

CREA TE TEMPORARY TABLESPACE "SAMPLE"......

(2)UNDO : 还原表空间. 用于存入重做日志文件,创建还原表空间的语法如下:

CREA TE UNDO TABLESPACE "SAMPLE"......

(3)用户表空间: 最重要,也是用于存放用户数据表空间

可以直接写成: CREA TE TABLESPACE "SAMPLE"

TEMPORARY和UNDO 表空间是ORACLE 管理的特殊的表空间.只用于存放系统相关数据.

2)第二,有NOLOGGING 和LOGGING 两个选项,

NOLOGGING: 创建表空间时,不创建重做日志.

LOGGING 和NOLOGGING正好相反, 就是在创建表空间时生成重做日志.

用NOLOGGING时,好处在于创建时不用生成日志,这样表空间的创建较快,但是没能日志,数据丢失后,不能恢复,但是一般我们在创建表空间时,是没有数据的,按通常的做法,是建完表空间,并导入数据后,是要对数据做备份的,所以通常不需要表空间的创建日志,因此,在创建表空间时,选择NOLOGGING,以加快表空间的创建速度.

3)第三: DA TAFILE 用于指定数据文件的具体位置和大小.

如: DA TAFILE 'D:\ORACLE\ORADA TA\ORA92\LUNTAN.ora' SIZE 5M

说明文件的存放位置是'D:\ORACLE\ORADA TA\ORA92\LUNTAN.ora' , 文件的大小为5M.如果有多个文件,可以用逗号隔开:

DA TAFILE 'D:\ORACLE\ORADA TA\ORA92\LUNTAN.ora' SIZE 5M,

'D:\ORACLE\ORADA TA\ORA92\dd.ora' SIZE 5M

但是每个文件都需要指明大小.单位以指定的单位为准如5M 或500K.

对具体的文件,可以根据不同的需要,存放大不同的介质上,如磁盘阵列,以减少IO竟争.

指定文件名时,必须为绝对地址,不能使用相对地址.

4)第四: EXTENT MANAGEMENT LOCAL 存储区管理方法

在Oracle 8i以前,可以有两种选择,一种是在字典中管理(DICTIONARY),另一种是本地管理(LOCAL ),从9I开始,只能是本地管理方式.因为LOCAL 管理方式有很多优点.

在字典中管理(DICTIONARY): 将数据文件中的每一个存储单元作为一条记录,所以在做DM操作时,就会产生大量的对这个管理表的Delete和Update操作.做大量数据管理时,将会产生很多的DM操作,严得的影响性能,同时,长时间对表数据的操作,会产生很多的磁盘碎片,这就是为什么要做磁盘整理的原因.本地管理(LOCAL): 用二进制的方式管理磁盘,有很高的效率,同进能最大限度的使用磁盘. 同时能够自动跟踪记录临近空闲空间的情况,避免进行空闲区的合并操作。

1.2. 创建用户

create user 用户名identified by 密码default tablespace 表空间名;

1.3. 分配用户权限

grant resource,connect,dba to 用户名; --授予resource,connect,dba权限

grant unlimited tablespace to用户名; --授予不限制的表空间

grant select any table to用户名; --授予查询任何表

grant select any dictionary to用户名--授予查询任何字典

1.4. 查询用户是否具有删除表空间的权限

select https://www.360docs.net/doc/a115854069.html,ername,a1.privilege from dba_sys_privs a1 , user_role_privs a2

where a1.privilege = 'DROP TABLESPACE'

and a1.grantee =a2.granted_role

1.5. 收回权限

revoke all on test_table from 属主--收回test_table表的所有权限

revoke dba from userid; --收回某某用户的dba权限

1.6. 删除用户

drop user 用户名cascade;

1.7. 删除表空间

drop tablespace 表空间名including contents and datafiles;

drop tablespace表空间名including contents and datafiles cascade constraints;

1.8. 查询表空间的数据文件所在路径

select * from dba_data_files

1.9. 显示所有表空间的数据库文件存取位置

Select a.TS# ,https://www.360docs.net/doc/a115854069.html, , https://www.360docs.net/doc/a115854069.html, from v$tablespace a,v$datafile b where a.TS# = b.TS#;

1.10. 导出远程数据库到本地

exp 用户名/用户密码@本地net服务名rows=y indexes=y compress=n buffer=65536 feedback=100000 file=导出的备份文件名.dmp log=导出日志文件名.log

1.11. 导入本地数据库

imp用户名/用户密码@本地net服务名fromuser=用户名touser=用户名rows=y indexes=y commit=y buffer=65536 feedback=100000 ignore=n file=待导入的备份文件名.dmp log=导入日志文件名.log

1.1

2. 导入、导出单个表

导入:

想从备份的dmp文件中导入某些表的时候,可以用如下imp命令,格式:

imp username/password@本地net服务名file=xxx.dmp fromuser=xx touser=xx tables=(tablename)

username:登陆数据库的用户名

password:登陆数据库的密码

本地net服务名:连接服务器的本地net服务名

file:你的dmp文件的路径

fromuser,touser:从一个用户导入到另外一个用户

tables:从dmp文件中导入的表名,多个表间用逗号隔开

导出:

exp username/password@本地net服务名tables=(tbname) file=xxx.dmp

1.13. 扩展数据文件大小

alter database datafile '数据文件存放目录\数据文件名.dbf' resize xxxxM;

1.14. 增加数据文件

Alter tablesapce 表空间名add datafile '数据文件存放目录\数据文件名.dbf' size xxxxM; 1.15. 查询每个表空间的活动连接数

select count(*) from v$session;

Select count(*) from v$session where status='ACTIVE';

select username,count(username) from V$SESSION where username is not null group by username;

1.16. 修改密码:

在command窗口下,输入SQL> alter user "USER_NAME" identified by "PASS WORD";

1.17. 查询出表空间中的所有索引,并生成可执行的SQL语

Select 'create index ' || t.index_name || ' on ' || t.table_name || '(' || wmsys.wm_concat(column_name) || ');' from user_ind_columns t, user_indexes i

Where t.index_name = i.index_name

and t.table_name = i.table_name

and i.index_name not like 'PK_%'

group by t.index_name,t.table_name;

1.18. 查询触发器

(1)select * from sysobjects where xtype='TR' and parent_obj=object_id('表名')

(2)select * from sysobjects where xtype='TR'

1.19. 如保查找机器上ORACLE的用户名和密码:

1)打开:D:\oracle\product\10.2.0\db_1\NETWORK\ADMIN\sqlnet.ora

增加或修改配置项:SQLNET.AUTHENTICA TION_SERVICES= none

改为:SQLNET.AUTHENTICA TION_SERVICES= (NTS)--让ORACLE通过本机验证进行授权使用。

2)以sysdba身份登录: sqlplus / as sysdba;

3)创建用户或者对已有用户进行授权。查找dba用户select * from v$pwfile_users;

ORACLE常用SQL语句大全

ORACLE常用SQL语句大全 一、基础 1、说明:创建数据库 CREATE DATABASE database-name 2、说明:删除数据库 drop database dbname 3、说明:备份sql server --- 创建备份数据的 device USE master EXEC sp_addumpdevice 'disk', 'testBack', 'c:/mssql7backup/MyNwind_1.dat' --- 开始备份 BACKUP DATABASE pubs TO testBack 4、说明:创建新表 create table tabname(col1 type1 [not null] [primary key],col2 type2 [not nul l],..) 根据已有的表创建新表: A:select * into table_new from table_old (使用旧表创建新表) B:create table tab_new as select col1,col2… from tab_old definition only<仅适用于Oracle> 5、说明:删除表 drop table tablename

6、说明:增加一个列,删除一个列 A:alter table tabname add column col type B:alter table tabname drop column colname 注:DB2DB2中列加上后数据类型也不能改变,唯一能改变的是增加varchar类型的长度。 7、添加主键: Alter table tabname add primary key(col) 删除主键: Alter table tabname drop primary key(col) 8、创建索引:create [unique] index idxname on tabname(col….) 删除索引:drop index idxname 注:索引是不可更改的,想更改必须删除重新建。 9、创建视图:create view viewname as select statement 删除视图:drop view viewname 10、几个简单的基本的sql语句 选择:select * from table1 where 范围 插入:insert into table1(field1,field2) values(value1,value2) 删除:delete from table1 where 范围 更新:update table1 set field1=value1 where 范围 查找:select * from table1 where field1 like ’%value1%’ ---like的语法很精妙,查资料! 排序:select * from table1 order by field1,field2 [desc] 总数:select count as totalcount from table1 求和:select sum(field1) as sumvalue from table1 平均:select avg(field1) as avgvalue from table1 最大:select max(field1) as maxvalue from table1 最小:select min(field1) as minvalue from table1 11、几个高级查询运算词 A:UNION 运算符 UNION 运算符通过组合其他两个结果表(例如 TABLE1 和 TABLE2)并消去表中任何重复行而派生出一个结果表。当 ALL 随 UNION 一起使用时(即 UNION ALL),不消除重复行。两种情况下,派生表的每一行不是来自 TABLE1 就是来自 TABLE2。 B:EXCEPT 运算符 EXCEPT 运算符通过包括所有在 TABLE1 中但不在 TABLE2 中的行并消除所有重复行而派生出一个结果表。当ALL 随 EXCEPT 一起使用时 (EXCEPT ALL),不消除重复行。 C:INTERSECT 运算符 INTERSECT 运算符通过只包括 TABLE1 和 TABLE2 中都有的行并消除所有重复行而派生出一个结果表。当 ALL 随 INTERSECT 一起使用时 (INTERSECT ALL),不消除重复行。 注:使用运算词的几个查询结果行必须是一致的。 12、使用外连接

oracle中常用函数大全

oracle中常用函数大全 1、数值型常用函数 函数返回值样例显示 ceil(n) 大于或等于数值n的最小整数select ceil(10.6) from dual; 11 floor(n) 小于等于数值n的最大整数select ceil(10.6) from dual; 10 mod(m,n) m除以n的余数,若n=0,则返回m select mod(7,5) from dual; 2 power(m,n) m的n次方select power(3,2) from dual; 9 round(n,m) 将n四舍五入,保留小数点后m位select round(1234.5678,2) from dual; 1234.57 sign(n) 若n=0,则返回0,否则,n>0,则返回1,n<0,则返回-1 select sign(12) from dual; 1 sqrt(n) n的平方根select sqrt(25) from dual ; 5 2、常用字符函数 initcap(char) 把每个字符串的第一个字符换成大写select initicap('mr.ecop') from dual; Mr.Ecop lower(char) 整个字符串换成小写select lower('MR.ecop') from dual; mr.ecop replace(char,str1,str2) 字符串中所有str1换成str2 select replace('Scott','s','Boy') from dual; Boycott substr(char,m,n) 取出从m字符开始的n个字符的子串select substr('ABCDEF',2,2) from dual; CD length(char) 求字符串的长度select length('ACD') from dual; 3 || 并置运算符select 'ABCD'||'EFGH' from dual; ABCDEFGH 3、日期型函数 sysdate当前日期和时间select sysdate from dual;

oracle的Select语句

oracle的Select语句 select 查询的一般格式是 select {[distinct|all] columns | *} //1 选择列 from {tables | views | other select} //2 数据来源 where conditions //3 选择条件 group by columns //4 分组 having conditions //5 选择 order by columns //6 排序 一、选择列 1. select后面出现的内容可以是from后面的数据来源中的列,也可以是*,也可以是常量或者T-SQL函数。 2. 如果列名很长,或者多个表的列名有冲突,可以使用as来定义别名。 二、数据来源 1. 数据来源可以是表,视图,还可以是其他的select语句(即,行集)。 2. from子句中可以包含连接说明,即inner join,outer join这样的内容。这个内容参见下面的内容。 3. 可以在from子句中为表,视图,或者其他select语句的结果指定别名,但是不要用as。 三、where子句 1. 多个条件之间可以用and 或者or连接。 2. null值查询要使用is null,或者is not null,而不是=null或者<>null 3. like是进行模式匹配的一种方式,列的数据类型可以是任何字符或者日期数据。它的否定形式是not like。%和_是通配符,一个表示0或多个任意字符,一个表示一个任意字符。但是这两个字符如果不出现在like后面的模式中,就是两个普通字符。 4. text列的where条件只能是like,is null,patindex。 5. 如果要在like中匹配普通字符%和_,可以使用escape定义一个转义字符,这个转义字符可以随意指定。然后将这个转义字符放在一个通配符或者单引号之前,就表示这个通配符或者单引号是一个普通的字符。 6. in ,not in,between and,not between and.“between a and b”将会包括a和b在内。in可以转换为一个连接,但是not in不能。 7. where exists R.当且仅当R非空时,条件exists R为真。其否定形式是where not exists R. 8. where s <| >| = | <>| >=|<= all/any R.否定形式是在s前对整个表达式加not. 四、连接查询 两张表的连接可以用from子句的ansi连接语法或者where子句中的sql连接语法实现。ansi 连接语法格式为From table1 join_type table2 on(conditions) join_type table3 on(conditions)。 连接有等值连接,笛卡尔积(交叉连接),自然连接,theta连接,外部链接五种。 1 等值连接 select students.* , stu_course.* from students inner join stu_course on(students.id = stu_course.studentid)--31条记录,stu_course的记录数目

oracle命令行大全

SQL*PLUS命令的使用大全 Oracle的sql*plus是与oracle进行交互的客户端工具。在sql*plus中,可以运行sql*plus命令与sql*plus 语句。 我们通常所说的DML、DDL、DCL语句都是sql*plus语句,它们执行完后,都可以保存在一个被称为sql buffer的内存区域中,并且只能保存一条最近执行的sql语句,我们可以对保存在sql buffer中的sql 语句进行修改,然后再次执行,sql*plus一般都与数据库打交道。 除了sql*plus语句,在sql*plus中执行的其它语句我们称之为sql*plus命令。它们执行完后,不保存在sql buffer的内存区域中,它们一般用来对输出的结果进行格式化显示,以便于制作报表。 下面就介绍一下一些常用的sql*plus命令: 1. 执行一个SQL脚本文件 SQL>start file_name SQL>@ file_name 我们可以将多条sql语句保存在一个文本文件中,这样当要执行这个文件中的所有的sql语句时,用上面的任一命令即可,这类似于dos中的批处理。 2. 对当前的输入进行编辑 SQL>edit 3. 重新运行上一次运行的sql语句 SQL>/ 4. 将显示的内容输出到指定文件 SQL> SPOOL file_name 在屏幕上的所有内容都包含在该文件中,包括你输入的sql语句。 5. 关闭spool输出 SQL> SPOOL OFF 只有关闭spool输出,才会在输出文件中看到输出的内容。 6.显示一个表的结构 SQL> desc table_name 7. COL命令: 主要格式化列的显示形式。 该命令有许多选项,具体如下: COL[UMN] [{ column|expr} [ option ...]] Option选项可以是如下的子句: ALI[AS] alias CLE[AR] FOLD_A[FTER] FOLD_B[EFORE] FOR[MA T] format

Oracle-SQL简单查询语句处理

Oracle-SQL简单查询语句处理笔记一 数据处理及进展–数据:是指所有能输入到计算机中并被计算机程序处理的符号的总称。 数据处理:是指对各种形式的数据进行收集、储存、加工和传播的一系列活动的综合。 其目的是从大量的、原始的数据中抽取、推导出对人们有价值的信息。 数据处理的3个阶段: ?人工管理阶段 ?文件系统阶段 ?数据库系统阶段 关系型数据库 ?数据模型–是数据库系统中,用于抽象、表示、处理现实世界中数据的一种形式架构。 ?数据模型三层次 概念模型:是现实世界到信息世界的第一层抽象,常用E-R 图表示。逻辑模型:是用户从数据库所看到的模型,是具体的DBMS 所支持的数据模型,常用的包括层次模型、网状模型、关系模型。

物理模型:是面向计算机物理表示的模型,描述了数据在储存介质上的组织结构,它不但与具体的DBMS有关,而且 V1.0 还与操作系统和硬件有关 关系型数据库 ?关系模型 关系模型有关系数据结构、关系操作集合和关系完整性约束三部分组成的。 关系数据结构:在关系模型中,现实世界的实体以及实体间的各种联系均用关系来表示。 在用户看来,关系就是一张由行和列组成的二维数据表。 关系操作:包括:选择、投影、连接、增加、删除、修改等。 关系完整性约束:包括实体完整性、参照完整性和用户定义的完整性。 算术运算符? 算术运算符优先级 乘除优先于加减 相同优先权的表达式按照从左至右的顺序依次计算 括弧可以提高优先权,并使表达式的描述更为清晰 空值NULL

?空值NULL –空值是指一种无效的、未赋值、未知的或不可用的值。 空值不同于零或者空格。 列别名 好处:方便查看 用来重新命名列的显示标题,如果SELECT语句中包含计算列,通常使用列别名来重新定义列标题。 ?使用列别名的方法 方式1:列名列别名 方式2:列名 AS 列别名 ?以下三种情况列别名两侧需要添加双引号 列别名中包含有空格 列别名中要求区分大小写 列别名中包含有特殊字符 连接操作符使用 || 去连接,相当于java中的 + 号呢。 消除重复行使用DISTINCT 关键字 习题整理一:简单的查询语句(查询oracle已经创建的表格,使用用户scott普通用户登陆) 说明:

oracle 经典SQL语句大全

一、基础 1、说明:创建数据库 CREATE DATABASE database-name 2、说明:删除数据库 drop database dbname 3、说明:备份sql server --- 创建备份数据的 device USE master EXEC sp_addumpdevice 'disk', 'testBack', 'c:\mssql7backup\MyNwind_1. dat' --- 开始备份 BACKUP DATABASE pubs TO testBack 4、说明:创建新表 create table tabname(col1 type1 [not null] [primary key],col2 type2 [not null],..) 根据已有的表创建新表: A:create table tab_new like tab_old (使用旧表创建新表) B:create table tab_new as select col1,col2… from tab_old definition only 5、说明:删除新表 drop table tabname 6、说明:增加一个列 Alter table tabname add column col type 注:列增加后将不能删除。DB2中列加上后数据类型也不能改变,唯一能改变的是增加varchar类型的长度。 7、说明:添加主键:Alter table tabname add primary key(col) 说明:删除主键: Alter table tabname drop primary key(col) 8、说明:创建索引:create [unique] index idxname on tabname(col….) 删除索引:drop index idxname 注:索引是不可更改的,想更改必须删除重新建。 9、说明:创建视图:create view viewname as select statement 删除视图:drop view viewname 10、说明:几个简单的基本的sql语句 选择:select * from table1 where 范围 插入:insert into table1(field1,field2) values(value1,value2) 删除:delete from table1 where 范围 更新:update table1 set field1=value1 where 范围 查找:select * from table1 where field1 like ’%value1%’ ---like的语法很精妙,查资料! 排序:select * from table1 order by field1,field2 [desc] 总数:select count as totalcount from table1

Oracle查询语句基本命令一

oracle查询语句大全--基本命令大全一 1.create user username identified by password;//建用户名和密码oracle ,oracle 2.grant connect,resource,dba to username;//授权grant connect,resource,dba,sysdba to username; 3.connect username/password//进入。 4.select table_name,column_name from user_tab_columns where table_name='mview_log';//查询表中的表名,字段名等等。 5. 如何执行脚本SQL文件? SQL>@PATH/filename.sql; 6.Oracle oledb 提供者在command中执行多条SQL语句与SQL SERVER有少许差别,SQL Server只需使用";"分割多条SQL语句,而Oracle需要遵守ORACLE调用规范,即除分号分割外,还需以begin /end;包围语句体. 使用C#描述应如下所示: https://www.360docs.net/doc/a115854069.html,mandText = "begin INSERT INTO GROUP_INFO (GROUP_ID, GROUP_NAME) V ALUES (1, \'2\'); INSERT INTO GROUP_INFO(GROUP_ID, GROUP_NAME) V ALUES (2, \'2\'); end;"; 7.查询用户下的表的信息select distinct table_name from user_tab_columns; 8.如何搜索出前N条记录?Select a.*,rownum from (select * from cardkind order by cardkind ) a where rownum show user 3、查看系统拥有哪些用户SQL> select * from all_users; 4、新建用户并授权 SQL> create user a identified by a;(默认建在SYSTEM表空间下) SQL> grant connect,resource to a; 5、连接到新用户SQL> conn a/a

Oracle常用的45个查询语句

日期/时间 相关查询 1、获取当前月份的第一天 运行这个命令能快速返回当前月份的第一天。你可以用任何的日期值替换 “SYSDATE”来指定查询的日期。 1 SELECT TRUNC (SYSDATE, 'MONTH') "First day of current month " 2 FROM DUAL; 2、获取当前月份的最后一天 这个查询语句类似于上面那个语句,而且充分照顾到了闰年,所以当二月份有 29 号,那么就会返回 29/2 。你可以用任何的日期值替换 “SYSDATE”来指定查询的日期。 view source print? 1 SELECT TRUNC (LAST_DAY (SYSDATE)) "Last day of current mont h" 2 FROM DUAL; 3、获取当前年份的第一天 每年的第一天都是1 月1日,这个查询语句可以使用在存储过程中,需要对当前年份第一天做一些计算的时候。你可以用任何的日期值替换 “SYSDATE”来指定查询的日期。 1 SELECT TRUNC (SYSDATE, 'YEAR') "Year First Day" FROM DUAL; 4、获取当前年份的最后一天 类似于上面的查询语句。你可以用任何的日期值替换 “SYSDATE”来指定查询的日期。 view source print? 1 SELECT ADD_MONTHS (TRUNC (SYSDATE, 'YEAR'), 12) - 1 "Year Last Day" FROM DUAL 5、 获取当前月份的天数 这个语句非常有用,可以计算出当前月份的天数。你可以用任何的日期值替换 “SYSDATE”来指定查询的日期。 view source print? 1 SELECT CAST (TO_CHAR (LAST_DAY (SYSDATE), 'dd') AS INT) num ber_of_days 2 FROM DUAL; 6、获取当前月份剩下的天数 下面的语句用来计算当前月份剩下的天数。你可以用任何的日期值替换 “SYSDATE”来指定查询的日期。 1 SELECT SYSDATE, 2 LAST_DAY (SYSDATE) "Last",

Oracle表及字段查询语句

下面为您介绍的语句用于实现Oracle查询用户所有表,如果您对o r a c l e查询方面感兴趣的话,不妨一看。 select * from all_tab_comments 查询所有用户的表,视图等 select * from user_tab_comments 查询本用户的表,视图等 select * from all_col_comments 查询所有用户的表的列名和注释. select * from user_col_comments 查询本用户的表的列名和注释 select * from all_tab_columns 查询所有用户的表的列名等信息(详细但是没有备注). select * from user_tab_columns 查询本用户的表的列名等信息(详细但是没有备注). 一般使用 1: select t.table_name,https://www.360docs.net/doc/a115854069.html,ments from user_tab_comments t 一般使用 2: select r1, r2, r3, r5

from (select a.table_name r1, a.column_name r2, https://www.360docs.net/doc/a115854069.html,ments r3 from user_col_comments a), (select t.table_name r4, https://www.360docs.net/doc/a115854069.html,ments r5 from user_tab_comments t) where r4 = r1 以上就是oracle查询用户所有表的语句介绍。如何在oracle中查询所有用户表的表名、主键名称、索引、外键等 1、查找表的所有索引(包括索引名,类型,构成列): select t.*,i.index_type from user_ind_columns t,user_indexes i where t.index_name = i.index_ name and t.table_name = i.table_name and t.table_name = 要查询的表 2、查找表的主键(包括名称,构成列): select cu.* from user_cons_columns cu, user_constraints au where cu.constraint_name = au. constraint_name and au.constraint_type = 'P' and au.table_name = 要查询的表 3、查找表的唯一性约束(包括名称,构成列): select column_name from user_cons_columns cu, user_constraints au where cu.constraint_name = au.constraint_name and au.constraint_type = 'U' and au.table_name = 要查询的表 4、查找表的外键(包括名称,引用表的表名和对应的键名,下面是分成多步查询): select * from user_constraints c where c.constraint_type = 'R'and c.table_name = 要查询的表

sql 语句大全

oracle数据库性能监控的SQL 1. 监控事例的等待 SQL> SELECT EVENT,SUM(DECODE(WAIT_TIME,0,0,1)) "PREV",SUM(DECODE(WAIT_TIME,0,1,0)) "CURR",COUNT(*) "TOT" FROM V$SESSION_WAIT GROUP BY EVENT ORDER BY 4; 2. 回滚段的争用情况 SQL> SELECT NAME, WAITS, GETS, WAITS/GETS "RATIO" FROM V$ROLLSTAT A, V$ROLLNAME B WHERE https://www.360docs.net/doc/a115854069.html,N = https://www.360docs.net/doc/a115854069.html,N; 3. 监控表空间的 I/O 比例 SQL> SELECT DF.TABLESPACE_NAME NAME,DF.FILE_NAME "FILE",F.PHYRDS PYR, F.PHYBLKRD PBR,F.PHYWRTS PYW, F.PHYBLKWRT PBW FROM V$FILESTAT F, DBA_DATA_FILES DF WHERE F.FILE# = DF.FILE_ID ORDER BY DF.TABLESPACE_NAME; 4. 监控文件系统的 I/O 比例 SQL> SELECT SUBSTR(A.FILE#,1,2) "#", SUBSTR(https://www.360docs.net/doc/a115854069.html,,1,30) "NAME", A.STATUS,A.BYTES, B.PHYRDS,B.PHYWRTS FROM V$DATAFILE A, V$FILESTAT B WHERE A.FILE# = B.FILE#; 5.在某个用户下找所有的索引 SQL> SELECT USER_INDEXES.TABLE_NAME, USER_INDEXES.INDEX_NAME,UNIQUENESS, COLUMN_NAME FROM USER_IND_COLUMNS, USER_INDEXES WHERE USER_IND_COLUMNS.INDEX_NAME = USER_INDEXES.INDEX_NAME AND USER_IND_COLUMNS.TABLE_NAME = USER_INDEXES.TABLE_NAME ORDER BY USER_INDEXES.TABLE_TYPE, USER_INDEXES.TABLE_NAME, USER_INDEXES.INDEX_NAME, COLUMN_POSITION; 6. 监控 SGA 的命中率 SQL> SELECT A.VALUE + B.VALUE "LOGICAL_READS", C.VALUE "PHYS_READS", ROUND(100 * ((A.VALUE+B.VALUE)-C.VALUE) / (A.VALUE+B.VALUE)) "BUFFER HIT RATIO" FROM V$SYSSTAT A, V$SYSSTAT B, V$SYSSTAT C WHERE A.STATISTIC# = 38 AND B.STATISTIC# = 39 AND C.STATISTIC# = 40; 7. 监控 SGA 中字典缓冲区的命中率 SQL> SELECT PARAMETER, GETS,GETMISSES , GETMISSES/(GETS+GETMISSES)*100 "MISS RATIO",(1-(SUM(GETMISSES)/ (SUM(GETS)+SUM(GETMISSES))))*100 "HIT RATIO" FROM V$ROWCACHE WHERE GETS+GETMISSES <>0 GROUP BY PARAMETER, GETS, GETMISSES; 8. 监控 SGA 中共享缓存区的命中率,应该小于1% SQL> SELECT SUM(PINS) "TOTAL PINS", SUM(RELOADS) "TOTAL RELOADS", SUM(RELOADS)/SUM(PINS) *100 LIBCACHE FROM V$LIBRARYCACHE; SQL> SELECT SUM(PINHITS-RELOADS)/SUM(PINS) "HIT RADIO",SUM(RELOADS)/SUM(PINS)

oracle查询语句大全

oracle查询语句大全oracle 基本命令大全一 1.create user username identified by password;//建用户名和密码oracle ,oracle 2.grant connect,resource,dba to username;//授权grant connect,resource,dba,sysdba to username; 3.connect username/password//进入。 4.select table_name,column_name from user_tab_columns where table_name='mview_log';//查询表中的表名,字段名等等。 5. 如何执行脚本SQL文件? SQL>@PA TH/filename.sql; 6.Oracle oledb 提供者在command中执行多条SQL语句与SQL SERVER有少许差别,SQL Server只需使用";"分割多条SQL语句,而Oracle需要遵守ORACLE调用规范,即除分号分割外,还需以begin /end;包围语句体. 使用C#描述应如下所示: https://www.360docs.net/doc/a115854069.html,mandText = "begin INSERT INTO GROUP_INFO (GROUP_ID, GROUP_NAME) V ALUES (1, \'2\'); INSERT INTO GROUP_INFO(GROUP_ID, GROUP_NAME) V ALUES (2, \'2\'); end;"; 7.查询用户下的所有表select distinct table_name from user_tab_columns; 8.如何搜索出前N条记录?Select a.*,rownum from (select * from cardkind order by cardkind ) a where rownum show user 3、查看系统拥有哪些用户 SQL> select * from all_users; 4、新建用户并授权 SQL> create user a identified by a;(默认建在SYSTEM表空间下)

oracle命令大全

1.create user username identified by password;//建用户名和密码oracle ,oracle 2.grant connect,resource,dba to username;//授权 grant connect,resource,dba,sysdba to username; 3.connect username/password//进入。 4.select table_name,column_name from user_tab_columns where table_name='mview_log';//查询表中的表名,字段名等等。 5. 如何执行脚本SQL文件? SQL>@PATH/filename.sql; 6.Oracle oledb 提供者在command中执行多条SQL语句与SQL SERVER有少许差别,SQL Server 只需使用";"分割多条SQL语句,而Oracle需要遵守ORACLE调用规范,即除分号分割外,还需以begin /end;包围语句体. 使用C#描述应如下所示: https://www.360docs.net/doc/a115854069.html,mandText = "begin INSERT INTO GROUP_INFO (GROUP_ID, GROUP_NAME) VALUES (1, \'2\'); INSERT INTO GROUP_INFO(GROUP_ID, GROUP_NAME) VALUES (2, \'2\'); end;"; 7.查询用户下的所有表 select distinct table_name from user_tab_columns; 8.如何搜索出前N条记录?Select a.*,rownum from (select * from cardkind order by cardkind ) a where rownum show user 3、查看系统拥有哪些用户 SQL> select * from all_users; 4、新建用户并授权 SQL> create user a identified by a;(默认建在SYSTEM表空间下) SQL> grant connect,resource to a; 5、连接到新用户 SQL> conn a/a 6、查询当前用户下所有对象 SQL> select * from tab; 7、建立第一个表 SQL> create table a(a number); 8、查询表结构 SQL> desc a 9、插入新记录 SQL> insert into a values(1); 10、查询记录 SQL> select * from a;

Oracle数据库常用的Sql语句

Oracle数据库常用的Sql语句 今天想查询一下Oracle数据库下所有的表名或某个用户下的所有表,半天没想起来.还是在网上找到了答案. select table_name from all_tables;//所有的表明 select table_name from user_all_tables;//用户的所有的表 一下是转贴的sql语句的帖子. select * from user_objects; //查询所有的表 select * from dba_tables; //查询所有的表 select * from all_tables; //查询所有的表 select * from user_users //查出一个用户 select * from all_users //查询所有用户 select * from dba_users //查询所有用户 select name,dbid from v$database; //查询数据库名和它的ID select * from https://www.360docs.net/doc/a115854069.html,er_tab_columns; //查询表名,并显示列名 describe 表名//查询表结构 2: 查询数据库参数 show parameter db; 3:查询数据库的实例名 select instance_name from v$instance; 4: 数据库域名 数据库安装结束后,如果要知道正在运行额数据库是否有域名以及数据库域名名称可以用select value from v$parameter where name='db_domain' show parameter domain 5:数据库服务名 如果数据库有域名,则数据库服务名就是全局数据库名,如果该数据库没有定义域名,则数据库服务名与数据库名相同 show parameter service_name 6:显示当前用户 show user 7:直接登陆 sqlplus "/as sysdba" 8:当前ORACLE系统时间 select sysdate from dual; 9:查询数据库字典v$nls_parameter产看字符集相关参数 select * from v$nls_parameters; //************* oracle基本操作语句(适合初学者) oracle操作语句:

oracle基本操作语句(适合初学者)

1. select * from table_name where rownum>begin and rownum< end 2.sql = "select * from table" con.prepareCall("SELECT * FROM(SELECT A.*, rownum r FROM("+sql+") A WHERE rownum <= "+intPage*intPageSize+") B WHERE r > "+(intPage-1) *intPageSize); 今天想查询一下Oracle数据库下所有的表名或某个用户下的所有表,半天没想起来.还是在网上找到了答案. select table_name from all_tables;//所有的表明 select table_name from user_all_tables;//用户的所有的表 一下是转贴的sql语句的帖子. select * from user_objects; //查询所有的表 select * from dba_tables; //查询所有的表 select * from all_tables; //查询所有的表 select * from user_users //查出一个用户 select * from all_users //查询所有用户 select * from dba_users //查询所有用户 select name,dbid from v$database; //查询数据库名和它的ID select * from https://www.360docs.net/doc/a115854069.html,er_tab_columns; //查询表名,并显示列名 describe 表名//查询表结构 select * from https://www.360docs.net/doc/a115854069.html,er_tab_columns where table_name=表名//查询指定表名的字段 2: 查询数据库参数 show parameter db;

Oracle数据库语句大全

Oracle数据库语句大全 一.入门部分 1.创建表空间 create tablespace schooltbs datafile ‘D:\oracle\datasource\schooltbs.dbf’ size 10M autoextend on; 2.删除表空间 drop tablespace schooltbs[including contents and datafiles]; 3.查询表空间基本信息 select *||tablespace_name from DBA_TABLESPACES; 4.创建用户 create user lihua identified by lihua default tablespace schooltbs temporary tablespace temp; 5.更改用户 alter user lihua identified by 123 default tablespace users; 6.锁定用户 alter user lihua account lock|unlock; 7.删除用户 drop user lihua cascade;--删除用户模式 8.oracle数据库中的角色 connect,dba,select_catalog_role,delete_catalog_role,execute_catalo g_role,exp_full_database,imp_full_database,resource 9.授予连接服务器的角色 grant connect to lihua; 10.授予使用表空间的角色 grant resource to lihua with grant option;--该用户也有授权的权限 11.授予操作表的权限 grant select,insert on user_tbl to scott;--当前用户 grant delete,update on https://www.360docs.net/doc/a115854069.html,er_tbl to scott;--系统管理员 二.SQL查询和SQL函数 1.SQl支持的命令: 数据定义语言(DDL):create,alter,drop 数据操纵语言(DML):insert,delete,update,select 数据控制语言(DCL):grant,revoke 事务控制语言(TCL):commit,savepoint,rollback 2.Oracle数据类型 字符,数值,日期,RAW,LOB 字符型 char:1-2000字节的定长字符

Oracle查询用户所有表的语句

Oracle查询用户所有表的语句 下面为您介绍的语句用于实现Oracle查询用户所有表,如果您对oracle查询方面感兴趣的话,不妨一看。 select * from all_tab_comments -- 查询所有用户的表,视图等 select * from user_tab_comments -- 查询本用户的表,视图等 select * from all_col_comments --查询所有用户的表的列名和注释. select * from user_col_comments -- 查询本用户的表的列名和注释 select * from all_tab_columns --查询所有用户的表的列名等信息(详细但是没有备注). select * from user_tab_columns --查询本用户的表的列名等信息(详细但是没有备注). --一般使用1: select t.table_name,https://www.360docs.net/doc/a115854069.html,ments from user_tab_comments t --一般使用2: select r1, r2, r3, r5 from (select a.table_name r1, a.column_name r2, https://www.360docs.net/doc/a115854069.html,ments r3

from user_col_comments a), (select t.table_name r4, https://www.360docs.net/doc/a115854069.html,ments r5 from user_tab_comments t) where r4 = r1 以上就是oracle查询用户所有表的语句介绍。 1、查找表的所有索引(包括索引名,类型,构成列):select t.*,i.index_type from user_ind_columns t,user_indexes i where t.index_name = i.index_name and t.table_name = i.table_name and t.table_name = 要查询的表 2、查找表的主键(包括名称,构成列): select cu.* from user_cons_columns cu, user_constraints au where cu.constraint_name = au.constraint_name and au.constraint_type = 'P' and au.table_name = 要查询的表 3、查找表的唯一性约束(包括名称,构成列): select column_name from user_cons_columns cu, user_constraints au where cu.constraint_name = au.constraint_name and au.constraint_type = 'U' and au.table_name = 要查询的表 4、查找表的外键(包括名称,引用表的表名和对应的键名,

相关文档
最新文档