浏览 11761 次
锁定老帖子 主题:几条有用sql
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2008-06-12
最后修改:2008-12-17
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 ; 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |