oracle数据库字符集设置的查询语法
oracle数据库字符集设置的查询语法Oracle客户端NLS_LANG设置1. NLS_LANG 参数组成NLS_LANG参数由以下部分组成:NLS_LANG=<Language>_<Territory>.<Clients Characterset>NLS_LANG各部分含义如下:LANGUAGE指定:-Oracle消息使用的语言-日期中月份和日显示TERRITORY指定-货币和数字格式-地区和计算星期及日期的习惯CHARACTERSET:-控制客户端应用程序使用的字符集通常设置或者等于客户端(如Windows)代码页 或者对于unicode应用设置为UTF8在Windows上查看当前系统的代码页可以使用chcp命令:E:>chcp 活动的代码页: 9362. 查
建立定时任务(Jobs) for oracle
create or replace procedure smp_d as begin Delete from sfcs_defects_backup where org_id=51 and i_time<sysdate-90;Commit;end; DECLARE X NUMBER;BEGIN SYS.DBMS_JOB.SUBMIT ( job => X ,what => 'smp.smp_d;' ,next_date => to_date('22/03/2011 12:00:00','dd/mm/yyyy hh24:mi:ss') ,interval => 'sysdate+1' ); SYS.DBMS_OUTPUT.PUT_LINE('Job Number is: ' || to_char(x));COMMIT;END;/SQL> select job,next_date,next_sec,failures,broken from user_jobs; JOB NEXT_DATE
expdp 导出特定对象
SQL> select segment_name,bytes/1024/1024/1024 Gb from dba_segments where segment_type='TABLE' and bytes/1024/1024/1024>=1 order by bytes/1024/1024/1024 desc;SEGMENT_NAME GB---------------------------------------- ----------SFCS_SN_SITE_STATISTICS 56.75KP_KEYPART_RUNCARD 23.75CELL_SORT_INFO_BY_CUSTOMER 20.7246094WIP_RUNCARD 12.75KP_KEYPART_FLEX
memory advisor
10g em中给出了memory advisor,其中如果设置了sga_target的值的话,那么该顾问通过图表的形式给出的是sga的建议值,该建议值是如何被计算的呢,其实是通过下面公式:select sga_size,100* round(((estd_db_time1 - estd_db_time)/estd_db_time1),2)from (select sga_size,estd_db_time ,(select estd_db_time from v$sga_target_advice where sga_size_factor=1) estd_db_time1 from v$sga_target_advice where sga_size_factor<>1order by sga_size)[@more@]通过上面查询可以获得sga_size以及db_time的改善百分比,在excel中以sga
oracle的系统和对象权限
alter any cluster 修改任意簇的权限 alter any index 修改任意索引的权限 alter any role 修改任意角色的权限 alter any sequence 修改任意序列的权限 alter any snapshot 修改任意快照的权限 alter any table 修改任意表的权限 alter any trigger 修改任意触发器的权限 alter cluster 修改拥有簇的权限 alter database 修改数据库的权限 alter procedure 修改拥有的存储过程权限 alter profile 修改资源限制简表的权限 alter resource cost 设置佳话资源开销的权限 alter rollback
Oracle常用数据字典表
查看当前用户的缺省表空间 SQL>select username,default_tablespace from user_users; 查看当前用户的角色 SQL>select * from user_role_privs; 查看当前用户的系统权限和表级权限 SQL>select * from user_sys_privs; SQL>select * from user_tab_privs; 查看用户下所有的表 SQL>select * from user_tables; 查看用户下所有的表的列属性 SQL>select * from USER_TAB_COLUMNS where table_name=:table_Name; 显示用户信息(所属表空间) select default_tablespace,temporar
Rename db_name for Oracle
DBNEWID UtilityPrior to the introduction of the DBNEWID utility alteration of the internal DBID of an instance was impossible and alteration of the DBNAME required the creation of a new controlfile. The DBNEWID utility allows the DBID to be altered for the first time and makes changing the DBNAME simpler. Changing the DBID is necessary when you want to use an RMAN catalog to backup a cloned instance. RMAN identifies instances using the DBID, preventing the original and cloned instance being mana
RMAN 增量备份优化 for ORACLE 10G
#############################################################################RMAN 增量备份优化 for ORACLE 10G#############################################################################1.未打开块改变记录,进行差异增量备份,测试如下:SQL> select status from v$block_change_tracking; STATUS----------DISABLED$ rman target /Recovery Manager: Release 10.2.0.4.0 - Production on Thu Dec 23 14:23:06 2010Copyright (c) 1982, 2007, Oracle. All rights reserved.connected to target database: ASRSLC (DBID=4
转移部分datafile到其它目录
1.shutdown immediate2.startup mount3.rename file:alter database rename file '/ora104/oradata/APPSTB/users01.dbf' to '/ora104/oradata/FAB1STB/APPSTB/users01.dbf';alter database rename file '/ora104/oradata/APPSTB/users02.dbf' to '/ora104/oradata/FAB1STB/APPSTB/users02.dbf';alter database rename file '/ora104/oradata/APPSTB/users03.dbf' to '/ora104/oradata/FAB1STB/APPSTB/users03.dbf';alter database rename file '/ora104/oradata/APPSTB/users04.dbf' to '/ora104/oradata/FAB1STB/APPSTB/users04.dbf';alt
关闭自动收集 for oracle
col job_name format a30col LAST_START_DATe format a40select job_name,last_start_date from dba_scheduler_jobsJOB_NAME LAST_START_DATE------------------------------ ----------------------------------------AUTO_SPACE_ADVISOR_JOB 29-NOV-10 10.00.02.408609 PM +08:00GATHER_STATS_JOB 29-NOV-10 10.00.02.442664 PM +08:00FGR$AUTOPURGE_JOBPURGE_LOG 30-NOV-10 03.00.00.143774 AM ASIA/TAIPEIMGMT_STATS_CONFIG_JOB 01-NOV-10 01.01.02.003099 AM +08:00MGMT_CONFIG_JOB 29-NOV-10 10.00.02.520259 PM +08:00RLM$SCHDNEGA
从system/sysaux空间转移TABLE&Index到其它表空间
select owner,segment_name,segment_type,tablespace_name,bytes/1024/1024 Mb from dba_segments where (tablespace_name in('SYSTEM','SYSAUX')) and (owner not in ('SYS','SYSTEM')) and (owner in ('SMP','SMP_EMS')) order by Mb desc;select 'alter table '||segment_name||'move tablespace users;' from dba_segments where (tablespace_name in('SYSTEM','SYSAUX')) and (owner not in ('SYS','SYSTEM')) and (owner in ('SMP','SMP_EMS')) and segment_type='TABLE';select 'alter index '||segment_name||'rebuild online tab
通过ADDM进行SQL调优
declare l_task_id varchar2(20); l_sql varchar2(2000); begin l_sql := 'SELECT COUNT(*) QTY FROM SFCS_DEFECTS WHERE ORG_ID=:1 AND SN_KEY=:2 and rs_id is null'; dbms_sqltune.drop_tuning_task ('addm'); l_task_id := dbms_sqltune.create_tuning_task ( sql_text => l_sql, user_name => 'SMP', scope => 'COMPREHENSIVE', time_limit => 120, task_name => 'addm' ); dbms_sqltune.execute_tuning_task ('addm'); end; / set serveroutput on s
data buffer cache的一点总结 -- 转
这部分东西涉及的参数较多,感觉稍微有些乱,简单的总结一下。 SQL> show parameter db_block_size NAME TYPE VALUE------------------------------------ ----------- ------------------------------db_block_size integer 8192SQL> show parameter keep NAME TYPE VALUE------------------------------------ ----------- ------------------------------buffer_pool_keep stringcontrol_fil
查看Oracle回滚段的详细情况,以及对性能的影响 -- 转
select a.NAME, b.EXTENTS, b.RSSIZE,b.XACTS,b.WAITS,b.GETS,b.OPTSIZE,b.STATUS from v$rollname a,v$rollstat b where a.USN = b.USN 如果XACTS(活动事务)大于1,表示回滚段有争用,需要增加回滚段数目。 如果WAITS大于1,也表示需要增加回滚段数目。[@more@]
快速解决Oracle缓冲区忙等待事件
缓冲区忙等待是I/O-bound Oracle系统中比较常见的现象,特别是在Oracle STATSPACK报告的前五个忙等待的读(顺序/分散)系统中…… 缓冲区忙等待是I/O-bound Oracle系统中比较常见的现象,特别是在Oracle STATSPACK报告的前五个忙等待的读(顺序/分散)系统中,如前5个定时事件:[@more@] % 总和事件 等待 时间(s) 消逝时间 ------------------ ------------ ----------- ----------- db文件顺序读 2,598 7,146 48.54 db文件
从一条select语句看Oracle数据库查询工作原理 - 转
本文结合一条简单的select语句,看Oracle数据库后台的运作机制。这对于我们之后的系统管理与故障排除非常有帮助。 【IT专家网独家】假如,我们现在利用Select语句从数据库查询数据,Oracle数据库是如何运作的呢?从中我们可以领悟到什么呢?下面,就结合一条简单的select语句,看看Oracle数据库后台的运作机制。这对于我们之后的系统管理与故障排除非常有帮助。[@more@] 第一步:客户端把语句发给服务器端执行。 当我们在客户端执行select语句时,客户端会把这条SQL语句发送给服务器端,让服务器端的进程来处理这语
Oracle查询优化4大方面的主要途径
数据库最基本的任务是存储、管理数据,而终端用户唯一能看到的数据库特性就是其性能:数据 库以何速度处理某一指定查询的结果,并且将结果返回到用户所用的工具和应用程序。从大多数系统的应用实例来看,查询操作在各种数据库操作中所占据的比重最 大、查阅新闻、 查看文件、 查询统计信息等。因此,数据库查询操作的效率是影响一个应用系统响应时间的关键因素。随着一个应用系统中数据的动态增长,数据量变大,数据库查询效率就会 有所降低,应用系统的响应速度也随之减慢,尤其对于海量数据的管理和查询问题就更加突出,Oracle查询
Oracle buffer cache的优化 - 转
1 buffer cache的设置优化 buffer cache的设置随着oracle版本的升级而不断变化。8i下使用db_block_buffers来设置,该参数表示buffer cache中所能够包含的内存数据块的个数;9i以后使用db_cache_size来设置,该参数表示buffer cache的总共的容量,可以用字节、K、M为单位来进行设置。而到了10g以后则更加简单,甚至可以不用去单独设置buffer cache的大小。因为10g引入了ASMM(Automatic Shared Memory Management)这样一个可以进行自我调整的组件,该组件可以自动调整shared pool size、db cache size等SGA中的组件。只需要
查看oracle执行计划 - 转
日常开发活动中,有时候需要对oracle执行计划进行监控,以此来调优程序和数据库方面的性能。 常用方法有以下几种: 一、通过PL/SQL Dev工具 1、直接File->New->Explain Plan Window,在窗口中执行sql可以查看计划结果。其中,Cost表示cpu的消耗,单位为n%,Cardinality表示执行的行数,等价Rows。 2、先执行 EXPLAIN PLAN FOR select * from tableA where paraA=1,再 select * from table(DBMS_XPLAN.DISPLAY)便可以看到oracle的执行计划了,看到的结果和1中的一样,所以使用工具的时候推荐使用1方法。
详介oracle的RBO/CBO优化器 - 转
IT168 技术文档】Oracle的优化器有两种优化方式,即基于规则的优化方式(Rule-Based Optimization,简称为RBO)和基于代价的优化方式(Cost-Based Optimization,简称为CBO),在Oracle8及以后的版本,Oracle强列推荐用CBO的方式 RBO方式:优化器在分析SQL语句时,所遵循的是Oracle内部预定的一些规则。比如我们常见的,当一个where子句中的一列有索引时去走索引。 CBO方式:它是看语句的代价(Cost),这里的代价主要指Cpu和内存。优化器在判断是否用这种方 式时,主要参照的是表及索引的统计信息。统计信息给出表的大小、有少行、每