ORACLE内核参数说明

服务器为16核16G虚拟机配置,oracle11gR2推荐的参数设置为:kernel.shmmax = 4294967296 //公式:4G*1024*1024*1024=4294967296(字节) //表示最大共享内存,如果小的话可以按实际情况而定(单位:字节)kernel.shmall = 2097152 //公式:8G*1024*1024/4K = 2097152(页) //表示所有内存大小(单位:页) 一般为物理内存的一半kernel.shmmni = 4096 //表示最小共享内存固定4096KB(由于32位操作系统默认一页为4K)net.ipv4 ......

oem启动报错解决方法及dbconsole的重新配置
oem启动报错解决方法及dbconsole的重新配置

Win10下安装的ORACLE11g R2,修改了主机名重启笔记本以后,oem启动报错:C:\app\ice\product\11.2.0\dbhome_1\BIN>emctl start dbcpnsole Environment variable ORACLE_UNQNAME not defined. Please set ORACLE_UNQNAME to database unique name.解决方法:根据提示先设置ORACLE_UNQNAME,然后再尝试启动SET ORACLE_UNQNAME=ORCL(orcl为SID) emctl start dbcons ......

Oracle查看执行最慢与查询次数、高消耗资源最多的sql语句

在ORACLE数据库应用调优中,一个SQL的执行次数/频率也是常常需要关注的,因为某个SQL执行太频繁,要么是由于应用设计有缺陷,需要在业务逻辑上做出优化处理,要么是业务特殊性所导致。如果执行频繁的SQL,往往容易遭遇一些并发性的问题:查询执行最慢的sqlselect * from (select sa.SQL_TEXT, sa.SQL_FULLTEXT, sa.EXECUTIONS "执行次数", round(sa.ELAPSED_TIME / 1000000, 2) "总执行时间", ......

oracle多实例的启动与关闭

oracle/oracle登录1、启监听器lsnrctl start监听一般不需要动,如果机器重新启动的话需要将监听启动。查看当前SID:echo $ORACLE_SID2、启动数据库实例:设置需要操作的实例:export ORACLE_SID=a(需要启动的实例)进入sqlplus0:sqlplus/nologDBA登录:conn /as sysdba启动:startup 退出sqlplus:quit设置需要操作的实例:export ORACLE_SID=b(需要启动的实例)进入sqlplus:sqlplus /nologDBA登录:conn /as sysdba ......

Oracle数据库修改用户临时表空间

查看所有用户的临时表空间及相应的数据文件select d.username, t.file_name, d.temporary_tablespace from DBA_TEMP_FILES t,dba_users d where t.tablespace_name = d.temporary_tablespace修改临时表空间tmp的大小alter database tempfile '/home/oracle/oradata/trade/temp01.dbf' resize 10G;将系统的默认临时表空间设为tmpalter database default temporary ......

Oracle增加表空间大小的四种方法

给表空间增加数据文件ALTER TABLESPACE app_data ADD DATAFILE '/oracle/app/oracle/oradata/jxctest/BF_DATA.dbf' SIZE 10G;新增数据文件,并且允许数据文件自动增长ALTER TABLESPACE app_data ADD DATAFILE '/oracle/app/oracle/oradata/jxctest/BF_DATA.dbf' SIZE 20G AUTOEXTEND ON NEXT 5G MAXSIZE 30G;允许已存在的数据文件自动增长ALTER DATABASE DATAFIL ......

使用strings查看dmp文件中的信息

获取基本信息:导出的版本、时间、导出的用户strings exp111.dmp | head -10 运行结果如下: "BFPUB_MALL"."SYS_EXPORT_FULL_01" #BFPUB_MALL导出的用户名 x86_64/Linux 2.4.xx #数据库服务器类型 jxctest #数据库名字 ZHS16GBK #编码类型 11.02.00.04.00 ......

expdp和impdp时应该注重的事项

1、exp和imp是客户端工具程序,它们既可以在客户端使用,也可以在服务端使用。2、expdp和impdp是服务端的工具程序,他们只能在oracle服务端使用,不能在客户端使用。3、imp只适用于exp导出的文件,不适用于expdp导出文件;impdp只适用于expdp导出的文件,而不适用于exp导出文件。4、对于10g以上的服务器,使用exp通常不能导出0行数据的空表,而此时必须使用expdp导出。一、创建逻辑目录,该命令不会在操作系统创建真正的目录(请先创建真正的目录),最好以system等管理员创建逻辑目录。rlwrap sqlplus / as sysdba SQL> ......

Oracle查看用户默认的表空间及大小

查看用户默认的表空间:select username,default_tablespace from dba_users;查看用户默认的表空间文件路径:select t1.name,t2.name from v$tablespace t1, v$datafile t2 where t1.ts# = t2.ts#;查看用户默认的表空间文件大小:(单位MB)SELECT tablespace_name, file_id, file_name, round(bytes / (1024 * 1024), 0) total_space FROM dba_data_files OR ......

Oracle之报错:ORA-00054: 资源正忙,要求指定 NOWAIT

在删除列、或表的时候报错“ORA-00054: 资源正忙, 但指定以 NOWAIT 方式获取资源, 或者超时失效”,一般都是发生锁表造成的,或者上一条语句没有执行完成,阻塞造成了锁表;解决方法:找出锁表sidselect SESS.sid, SESS.SERIAL#, LO.ORACLE_USERNAME, LO.OS_USER_NAME, AO.OBJECT_NAME, LO.LOCKED_MODE from V$LOCKED_OBJECT LO, DBA_OBJECTs AO, V$SESSION SESS where AO.OBJECT_ID = LO.OBJE ......

ORA-01031权限不足解决方法

在Oracle11gR2数据库上,以DBA权限的账号执行存储过程报错,PL/SQL:ORA-01031:权限不足,如下图原因:1、ORACLE默认为定义者权限,定义者权限在存储过程中ROLE无效,需要显示授权。2、如果使用AUTHID CURRENT_USER关键字使用调用者权限,则编译时ROLE无效,运行时有效。解决办法:方法1:对存储过程来说,CREATE TABLE想使用CREATE ANY TABLE权限,而CREATE ANY TABLE权限来自DBA角色,默认情况下,虽然在会话环境中可见,但在存储过程中不可见(无效)。所以根据上面的第一条规则,可以显示地将CREATE ......

Oracle11g性能参数常用查询SQL

当前会话的SID,SERIAL#SELECT Sid, Serial# FROM V$session WHERE Audsid = Sys_Context('USERENV', 'SESSIONID');查询session的OS进程IDSELECT p.Spid "OS Thread", b.NAME "Name-User", s.Program, s.Sid, s.Serial#,s.Osuser, s.Machine FROM V$process p, V$session s, V$bgprocess b WHERE p.Addr = ......

Oracle性能相关常用脚本整理(SQL)

Oracle10g和11g下面都可以直接查询,SQL优化系统调优的时候经常会用到最多BUFFER_GETS开销的SQL语句TOP 10SET LINESIZE 190 COL sql_text FORMAT a100 WRAP SET PAGESIZE 100 SELECT * FROM ( SELECT sql_text, sql_id, executions, disk_reads, buffer_ ......

Oracle启用和禁用触发器

1、禁用 table_name 表的所有 triggeralter table table_name disable all triggers; 2、启用 table_name 表的所有 triggeralter table table_name enable all triggers; 3、禁用指定 triggeralter trigger trigger_name disable; 4、启用指定 triggeralter trigger trigger_name enable;5、查询xxx触发器具体内容SELECT text FROM ALL_SOURCE where ......

删除用户ORA-01940: cannot drop a user that is currently connected解决方法

出现场景:Oracle删除用户时报错SQL〉DROP USER USERXXXX CASCADEERROR:ORA-01940: cannot drop a user that is currently connected由于当前用户正连接到数据库,所以无法删除解决办法:1、查询此用户的会话进程,SQL〉SELECT SID,SERIAL# FROM V$SESSION WHERE USERNAME='USERXXXX';SID SERIAL# ---------- ---------- 98 27341 23 181172、结束此用户的所有会话SQL>ALTER ......

impdp导入报错ORA-39001: invalid argument value

oracle导入dmp文件报错:impdp 'username/password' directory=DIR_DUMP_T1 table_exists_action=replace dumpfile=b30.dmp Import: Release 11.2.0.1.0 - Production on Wed Jan 10 16:20:14 2018Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved.Connected to: Oracle Database 11g En ......

Oracle创建、查看、修改、赋权、删除directory目录

创建directory一般是为了用数据泵导入/导出数据用,创建directory语法:CREATE [OR REPLACE] DIRECTORY directory AS 'pathname';例如:create or replace directory dumpdir as '/home/oracle/datatmp' 这样把目录/home/oracle/datatmp设置成dumpdir代表的directory查看directory路径select * from dba_directories;修改directorycreate or replace directory du ......