查找数据库中所有字段 以对应的表
select C.column_name,C.TABLE_NAME from dba_tab_columns C where owner=''
查每个科目class 分数scro前三名
select id, name, class, scro
from (select row_number() over(partition by class order by scro desc) cnt,
id,
name,
class,
scro
from student) a
where a.cnt <= 3;
查找排序后的前三行
select *
from (select rw.*, rownum
from (select *
from student d
where d.class = 'b'
order by d.scro desc) rw
where rw.id >= 1
order by rw.class desc) n
where rownum <= 3
表复制
insert into table_a (id,name,age) select b.id,b.name,b.age from table_b;
--删除表数据的触发器
CREATE OR REPLACE PROCEDURE delete_data
IS
BEGIN
delete from test ;
COMMIT;
EXCEPTION
WHEN NO_DATA_FOUND
THEN
NULL;
WHEN OTHERS
THEN
RAISE;
END delete_data;
--定时删除 每隔5分钟执行一次的计划
DECLARE
X NUMBER;
BEGIN
SYS.DBMS_JOB.SUBMIT
( job => X
,what => 'delete_data;'
,next_date => to_date('25/08/2008 00:00:00','dd/mm/yyyy hh24:mi:ss')
,interval => 'sysdate+1/24/12'
,no_parse => FALSE
);
SYS.DBMS_OUTPUT.PUT_LINE('Job Number is: ' || to_char(x));
COMMIT;
END;
--查看当前oracle计划
select job,next_date,next_sec,failures,broken from user_jobs;
--删除一个job
begin
dbms_job.remove(46);--46为job号
end;
--给新表插入旧表对应字段的所有数据
insert into aaa(id,name) select b.id,b.name from bbb;
文章搜索: 【点击打包该文章】
【到本站论坛,与同行交流】
select * from all_users; ##查看所有用户
select name from v$database; ##查看当前数据库
database test; ##进入test数据库
select * from v$instance; ##查看所有的数据库实例
shutdown immediate ##关闭数据库
alter user sys identified by new_password; ##更改用户密码
select username,password from dba_users; ##查看当实例中的用户和密码
show parameter control_files; ## 查看控制文件;
select member from v$logfile; ##查看日志文件
show parameter ; ## 查看数据库参数
select * from user_role_privs; ##查看当前用户的角色
select username,default_tablespace from user_users; ##查看当前用户的缺省表空间
alter user system identified by [password] ##修改用户的密码
ALTER USER "SCOTT" ACCOUNT UNLOCK ##解锁SCOTT用户
show parameter processes; ##查看最大会话数
查看当前库的所有数据表:
SQL> select TABLE_NAME from all_tables;
select * from all_tables;
SQL> select table_name from all_tables where table_name like ‘u’;
TABLE_NAME———————————————default_auditing_options
查看表结构:desc all_tables;
创建用户并赋予权限
###----------------------------创建用户并赋予权限------------------------------------####-
create user mpss
identified by "mpss12"
default tablespace TS_MPSS_DATA
temporary tablespace TEMP;
给用户赋予权限
grant connect to mpss;
grant resource,create session to mpss; 开发角色
grant create procedure to dbuser; #这些权限足够用于开发及生产环境
给用户授权
grant dba to spms;--授予DBA权限
grant unlimited tablespace to lxg;--授予不限制的表空间
grant select any table to lxg;--授予查询任何表
grant select any dictionary to lxg;--授予 查询 任何字典
删除用户
drop user mpss cascade;
建表空间
###---------------------------------建表空间------------------------------------####-
================建立表空间============================
CREATE TABLESPACE "TS_MPSS_DATA"
LOGGING
DATAFILE '/mpss/data/ts_mpss_data.dbf' SIZE 1024M
EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO
=====================================================
=================建立临时表空间============================
CREATE
TEMPORARY TABLESPACE "SWVIP" TEMPFILE '/app/oracle/oradata/
sworacle/SWVIP.dbf' SIZE 5M EXTENT MANAGEMENT LOCAL UNIFORM
SIZE 1M
=====================================================
create tablespace TS_MPSS_DATA datafile '/mpss/data/ts_mpss_data.bdf ' size 1024m autoextend on ; ###autoextend on 自动扩展
###------------------------------------------------------------------------------------####-
查看表空间
###----------------------------查看表空间大小------------------------------------####-
SELECT D.TABLESPACE_NAME "Name",
TO_CHAR(((((A.BYTES - DECODE(F.BYTES, NULL, 0, F.BYTES)) / 1024 / 1024)) /(A.BYTES / 1024 / 1024))*100,'99,990.9') "used(%)",
TO_CHAR((DECODE(F.BYTES, NULL, 0, F.BYTES) / 1024 / 1024),'999,990.9') "Free (M)"
FROM SYS.DBA_TABLESPACES D, SYS.SM$TS_AVAIL A, SYS.SM$TS_FREE F
WHERE D.TABLESPACE_NAME = A.TABLESPACE_NAME
AND F.TABLESPACE_NAME (+) = D.TABLESPACE_NAME;
###--------------------------------------------------------------------------------------####-
SELECT D.TABLESPACE_NAME,SPACE "SUM_SPACE(M)",BLOCKS SUM_BLOCKS,SPACE-NVL(FREE_SPACE,0) "USED_SPACE(M)",
ROUND((1-NVL(FREE_SPACE,0)/SPACE)*100,2) "USED_RATE(%)",FREE_SPACE "FREE_SPACE(M)"
FROM
(SELECT TABLESPACE_NAME,ROUND(SUM(BYTES)/(1024*1024),2) SPACE,SUM(BLOCKS) BLOCKS
FROM DBA_DATA_FILES
GROUP BY TABLESPACE_NAME) D,
(SELECT TABLESPACE_NAME,ROUND(SUM(BYTES)/(1024*1024),2) FREE_SPACE
FROM DBA_FREE_SPACE
GROUP BY TABLESPACE_NAME) F
WHERE D.TABLESPACE_NAME = F.TABLESPACE_NAME(+)
UNION ALL --if have tempfile
SELECT D.TABLESPACE_NAME,SPACE "SUM_SPACE(M)",BLOCKS SUM_BLOCKS,
USED_SPACE "USED_SPACE(M)",ROUND(NVL(USED_SPACE,0)/SPACE*100,2) "USED_RATE(%)",
NVL(FREE_SPACE,0) "FREE_SPACE(M)"
FROM
(SELECT TABLESPACE_NAME,ROUND(SUM(BYTES)/(1024*1024),2) SPACE,SUM(BLOCKS) BLOCKS
FROM DBA_TEMP_FILES
GROUP BY TABLESPACE_NAME) D,
(SELECT TABLESPACE_NAME,ROUND(SUM(BYTES_USED)/(1024*1024),2) USED_SPACE,
ROUND(SUM(BYTES_FREE)/(1024*1024),2) FREE_SPACE
FROM V$TEMP_SPACE_HEADER
GROUP BY TABLESPACE_NAME) F
WHERE D.TABLESPACE_NAME = F.TABLESPACE_NAME(+) ;
查看表空间物理文件的名称及大小;
###--------------------表空间物理文件的名称及大小------------------------####-
select tablespace_name, file_id, file_name,
round(bytes/(1024*1024),0) total_space
from dba_data_files
order by tablespace_name;
###------------------------------------------------------------------------------------####-
查看数据文件放置的路径
###------------------------------------------------------------------------------------####-
SQL> col file_name format a50
SQL> select tablespace_name,file_id,bytes/1024/1024,file_name from dba_data_files order by file_id;
###------------------------------------------------------------------------------------####-
查看数据库库对象
select owner, object_type, status, count(*) count# from all_objects group by owner, object_type, status;
用系统管理员,查看当前数据库有几个用户连接:
SQL> select username,sid,serial# from v$session;
扩表空间
###------------------------------------------------------------------------------------####-
alter tablespace G000 add datafile '/dev/vgbilling/rg000_lv03' SIZE 7500m;
给表G000增加一个7500m的逻辑卷'/dev/vgbilling/rg000_lv03'
###------------------------------------------------------------------------------------####-
检查被长时间锁的对象
###------------------------------------------------------------------------------------####-
SQL>select a.session_id,a.process,a.locked_mode,b.object_name,b.object_type,b.status from v$locked_object a,dba_objects b where a.object_id=b.object_id;
###------------------------------------------------------------------------------------####-
文章出处:http://www.diybl.com/course/7_databases/oracle/Oracleshl/200899/141376.html
sys用户登陆
创建表空间:
SQL> create tablespace lmsstemp datafile 'F:\ORADATA\LMSS\LMSSTEMP01.DBF' SIZE 1
024M extent management local;
给表空间增加数据文件
alter tablespace lmsstemp add datafile 'F:\ORADATA\LMSS\LMSSTEMP02.DBF' SIZE 1
024M;
更改表空间为自动扩展
SQL> alter database datafile 'F:\ORADATA\LMSS\LMSSTEMP01.DBF' autoextend on;
查看表空间信息
SQL> select file_name,tablespace_name,autoextensible from dba_data_files;
授权:
create any table to leon
-- Create the user (用sys执行)
create user xx identified by xx123 default tablespace lmss temporary tablespace TEMP profile DEFAULT;
-- Grant/Revoke role privileges (用sys执行)
grant connect to xx;
--创建视图给hy用户(用leon用户)
create or replace view view_tableName as
select column。。。 from table;
-- Grant/Revoke object privileges
grant select, update on RES_XIM_CARD to hy;
--创建同义词
create synonym RES_XIM_CARD for YY.RES_XIM_CARD ;
分享到:
相关推荐
一条普通的SQL语句从应用端提交开始,到在数据库中执行完毕,涉及了一系列复杂的过程。理解这些过程,有助于提高数据操作的效率以及进行更有效的SQL优化。 首先,客户端将SQL语句发送到服务器端。这个过程涉及到...
ORACLE 优化 SQL 语句提高 Oracle 执行效率 Oracle 是一个功能强大的关系数据库管理系统,然而,如果不正确地使用 SQL 语句,可能会导致执行效率低下。为了提高 Oracle 的执行效率,需要遵循一些最佳实践。下面是...
根据给定文件中的标题、描述、标签以及部分内容,本文将详细介绍在Oracle数据库中删除重复数据的几种方法。这些方法利用了ROWID、GROUP BY、DISTINCT等关键字来实现数据去重的功能。 ### 1. 使用ROWID进行去重 ...
以下是对每一条SQL语句的解析: ### 1. 获取上月当日 ```sql SELECT TO_CHAR(ADD_MONTHS(TO_DATE('2013-09-10', 'yyyy-mm-dd'), -1), 'yyyy-mm-dd') FROM DUAL; ``` 这条语句用于获取指定日期(如例子中的`2013-...
- **分号结尾**:每条SQL语句通常以分号结尾。 - **关键字与标识符**:Oracle SQL中的关键字应全部使用大写字母书写,而表名、字段名等标识符则应使用小写字母或与数据库约定的格式一致。 #### 2. DISTINCT `...
此外,构建高效的SQL语句需要注意以下几点: 1. 在可能的情况下,选择最有效率的表连接顺序。 2. 在WHERE子句中合理安排连接顺序,以减少数据库的检索量。 3. 尽量避免在SELECT子句中使用“*”,而应该具体指定需要...
几条常见的数据库分页SQL 语句,针对oracle,sqlserver,mysql三种常见数据库的分页显示。
这条SQL语句用于查询当前用户所创建的所有表的信息,包括表名、表所在的表空间以及该表是否为临时表。 2. **查询所有表(包括其他用户创建的表):** ```sql SELECT table_name, tablespace_name, temporary ...
数据库SQL语句是数据库管理系统中用于操作数据的核心语言,它包括了多种用于创建、更新、查询和删除数据的语句。本讲座主要涵盖了SQL语句的基础知识,特别是针对SQL Server的相关内容。 首先,数据完整性是数据库...
ORACLE 中 SQL 语句优化总结 本文总结了 ORACLE 中 SQL 语句优化的十个要点,旨在提高 SQL 语句的执行效率和性能。 1. 选择最有效率的表名顺序 在基于规则的优化器中,ORACLE 的解析器按照从右到左的顺序处理 ...
SQL语句执行器是一款专为初学者和数据库管理员设计的在线工具,允许用户在网站后台直接输入并执行SQL(Structured Query Language)语句,以便于查询、管理以及操作数据库。这款程序极大地简化了数据库交互的过程,...
当SQL语句进入Oracle的库缓存后,为了确保其能够被正确执行,Oracle会经历一系列的检查和准备过程。这一阶段主要涉及以下几个步骤: 1. **语法检查**:检查SQL语句的拼写是否正确以及词序是否合理。这是最基本也是...
### Oracle单条SQL语句的强大功能 #### 一、引言 在数据库操作领域,SQL作为最常用的查询语言之一,在处理复杂数据时展现出了极大的灵活性和高效性。Oracle数据库因其强大的功能和广泛的适用性,成为了许多企业和...
### Oracle维护常用SQL语句详解 #### 一、获取每个部门前N名员工按薪资排序 在Oracle数据库中,为了获取每个部门薪资排名前N名的员工,可以使用`ROW_NUMBER()`窗口函数进行分组排序。例如,若需获取每个部门薪资...
### Oracle 分页 SQL 语句详解 #### 一、引言 在数据库操作中,分页查询是非常常见的需求之一,特别是在大数据量的情况下,通过分页技术可以有效地提高系统的响应速度和用户体验。Oracle 数据库提供了多种方式进行...
Oracle SQL语句优化是数据库管理中的重要环节,它涉及到如何高效地执行SQL查询,从而提高数据库性能和响应速度。在Oracle数据库系统中,SQL优化主要包括以下几个方面: 1. **优化器(Optimizer)**:优化器是Oracle...
### SQL语句运用技巧 #### 一、SQL语言概述 SQL(Structured Query Language,结构化查询语言)是一种用于处理数据库的标准计算机语言。它允许用户在数据的高层次结构上操作而无需关心具体的存储细节。SQL的强大之...
以下是一些在Oracle中常用的PL/SQL语句及其示例,适合Oracle初学者参考学习。 1. **复制表结构**: ```sql CREATE TABLE b AS SELECT * FROM a WHERE 1<>1; ``` 这条语句会创建一个新表b,其结构与表a相同,但...