您好,登录后才能下订单哦!
Oracle中有哪些常用的SQL语句,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。
 查找数据库中所有字段  以对应的表 
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 hh34: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 ;
看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注亿速云行业资讯频道,感谢您对亿速云的支持。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。