oracle几个重要文件位置查看
ORACLE数据库查看执行计划

ORACLE数据库查看执⾏计划基于ORACLE的应⽤系统很多性能问题,是由应⽤系统SQL性能低劣引起的,所以,SQL的性能优化很重要,分析与优化SQL的性能我们⼀般通过查看该SQL的执⾏计划,本⽂就如何看懂执⾏计划,以及如何通过分析执⾏计划对SQL进⾏优化做相应说明。
⼀、什么是执⾏计划(explain plan)执⾏计划:⼀条查询语句在ORACLE中的执⾏过程或访问路径的描述。
⼆、如何查看执⾏计划1: 在PL/SQL下按F5查看执⾏计划。
第三⽅⼯具toad等。
很多⼈以为PL/SQL的执⾏计划只能看到基数、优化器、耗费等基本信息,其实这个可以在PL/SQL⼯具⾥⾯设置的。
可以看到很多其它信息,如下所⽰2: 在SQL*PLUS(PL/SQL的命令窗⼝和SQL窗⼝均可)下执⾏下⾯步骤SQL>EXPLAIN PLAN FORSELECT * FROM SCOTT.EMP; --要解析的SQL脚本SQL>SELECT * FROM TABLE(DBMS_XPLAN.DISPLAY);3: 在SQL*PLUS下(有些命令在PL/SQL下⽆效)执⾏如下命令:SQL>SET TIMING ON --控制显⽰执⾏时间统计数据SQL>SET AUTOTRACE ON EXPLAIN --这样设置包含执⾏计划、脚本数据输出,没有统计信息SQL>执⾏需要查看执⾏计划的SQL语句SQL>SET AUTOTRACE OFF --不⽣成AUTOTRACE报告,这是缺省模式SQL> SET AUTOTRACE ON --这样设置包含执⾏计划、统计信息、以及脚本数据输出SQL>执⾏需要查看执⾏计划的SQL语句SQL>SET AUTOTRACE OFFSQL> SET AUTOTRACE TRACEONLY --这样设置会有执⾏计划、统计信息,不会有脚本数据输出SQL>执⾏需要查看执⾏计划的SQL语句SQL>SET AUTOTRACE TRACEONLY STAT --这样设置只包含有统计信息SQL>执⾏需要查看执⾏计划的SQL语句SET AUTOT[RACE] {ON | OFF | TRACE[ONLY]} [EXP[LAIN]] [STAT[ISTICS]]参考⽂档:SQLPlus User’s Guide and Reference Release 11.1注意:PL/SQL Developer ⼯具并不完全⽀持所有的SQL*Plus命令,像SET AUTOTRACE ON 就如此,在PL/SQL Developer⼯具下执⾏此命令会报错SQL> SET AUTOTRACE ON;Cannot SET AUTOTRACE4:SQL_TRACE可以作为参数在全局启⽤,也可以通过命令形式在具体SESSION启⽤4.1 在全局启⽤,在参数⽂件(pfile/spfile)中指定SQL_TRACE =true,在全局启⽤SQL_TRACE时会导致所有进程活动被跟踪,包括后台进程以及⽤户进程,通常会导致⽐较严重的性能问题,所以在⽣产环境要谨慎使⽤。
oracle密码文件文件

oracle密码⽂件⽂件密码⽂件作⽤:密码⽂件⽤于dba⽤户的登录认证。
dba⽤户:具备sysdba和sysoper权限的⽤户,即oracle的sys和system⽤户。
本地登录:1)操作系统认证:[oracle@localhost ~]$ sqlplus "/as sysdba"[oracle@localhost ~]$ sqlplus / as sysdba[oracle@localhost ~]$ sqlplus sys/tiger as sysdba2)密码⽂件认证:[oracle@localhost ~]$ sqlplus sys/tiger@rezin as sysdba远程密码⽂件登录:[oracle@localhost ~]$ sqlplus sys/tiger@192.168.96.141:1521/orcl as sysdba密码⽂件位置:linux/unix:[oracle@localhost ~]$ ls $ORACLE_HOME/dbs/orapw$ORACLE_SID/u01/oracle/10g/dbs/orapworcl/u01/oracle/10g/dbs/orapwrezinwindows:$ORACLE_HOME/oradate/orapw$ORACLE_SID密码⽂件查找顺序:1)opapw<sid>2)orapw以上两个都查找不到,验证失败。
密码⽂件认证还是OS认证:1)参数⽂件:remote_login_passwordfile=none|exclusive|sharednone:不使⽤密码⽂件认证exclusive:使⽤密码⽂件认证,⾃⼰独占使⽤(默认)shared:使⽤密码⽂件认证,不同实例dba⽤户可以共享密码⽂件(asm下必须使⽤)2)$ORACLE_HOME/network/admin/sqlnet.ora⽂件下:SQLNET.AUTHENTICATION_SERVICES =none|all|nts(linux下默认没有设置)none:关闭OS认证,只能密码⽂件认证all:linux平台关闭本机密码⽂件认证,采⽤操作系统认证,但是远程(异机)可以密码⽂件认证 nts:windows下使⽤(桶linux下all)练习:1)配置:remote_login_passwordfile=exclusiveSQLNET.AUTHENTICATION_SERVICES =none结果:可以密码⽂件认证(本地/远超),不可以操作系统认证SQL*Plus: Release 10.2.0.1.0 - Production on Sat Mar 14 19:00:39 2015 Copyright (c) 1982, 2005, Oracle. All rights reserved.:Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - ProductionWith the Partitioning, OLAP and Data Mining optionsSQL> exitOracle Database 10g Enterprise Edition Release 10.2.0.1.0 - ProductionWith the Partitioning, OLAP and Data Mining options ??[oracle@localhost ~]$ sqlplus / as sysdba(OS认证)SQL*Plus: Release 10.2.0.1.0 - Production on Sat Mar 14 19:00:51 2015 Copyright (c) 1982, 2005, Oracle. All rights reserved.ERROR:ORA-01031: insufficient privilegesEnter user-name:或[oracle@localhost ~]$ sqlplus "/as sysdba"(OS认证)SQL*Plus: Release 10.2.0.1.0 - Production on Sat Mar 14 19:01:04 2015 Copyright (c) 1982, 2005, Oracle. All rights reserved.ERROR:ORA-01031: insufficient privilegesEnter user-name:2)配置:remote_login_passwordfile=exclusiveSQLNET.AUTHENTICATION_SERVICES =all结果:本机密码⽂件认证不可⽤,但是远程密码⽂件认证可⽤,本机OS认证可⽤[oracle@localhost ~]$ sqlplus "/as sysdba"(本机OS认证登录成功)SQL*Plus: Release 10.2.0.1.0 - Production on Sat Mar 14 19:45:35 2015 Copyright (c) 1982, 2005, Oracle. All rights reserved.Connected to:Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - ProductionWith the Partitioning, OLAP and Data Mining options[oracle@localhost ~]$ sqlplus sys/tiger@orcl as sysdba(本机密码⽂件认证失败)SQL*Plus: Release 10.2.0.1.0 - Production on Sat Mar 14 19:46:52 2015 Copyright (c) 1982, 2005, Oracle. All rights reserved.ERROR:ORA-12641: Authentication service failed to initializeEnter user-name:连接到:Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - ProductionWith the Partitioning, OLAP and Data Mining optionsSQL>[oracle@localhost ~]$ sqlplus scott/tiger(普通⽤户本地OS登录成功)SQL*Plus: Release 10.2.0.1.0 - Production on Sat Mar 14 20:01:57 2015Copyright (c) 1982, 2005, Oracle. All rights reserved.Connected to:Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - ProductionWith the Partitioning, OLAP and Data Mining optionsSQL>[oracle@localhost ~]$ sqlplus scott/tiger@orcl(登录失败)[oracle@localhost ~]$ sqlplus scott/t (登录失败)SQL*Plus: Release 10.2.0.1.0 - Production on Sat Mar 14 20:02:52 2015Copyright (c) 1982, 2005, Oracle. All rights reserved.ERROR:ORA-12641: Authentication service failed to initializeEnter user-name:密码⽂件管理:密码⽂件建⽴:orapwd命令⽤法(不建议使⽤)[oracle@localhost ~]$ orapwdUsage: orapwd file=<fname> password=<password> entries=<users> force=<y/n>wherefile - name of password file (mand), -->创建密码⽂件名字:orapw<sid>password - password for SYS (mand), -->sys⽤户密码entries - maximum number of distinct DBA and -->可以有多少个sysdba和sysoper⽤户可以放到密码⽂件⾥边去(采⽤⼆进制⽅式,即输⼊1表⽰最少存放4个,去除重复的)force - whether to overwrite existing file (opt), -->oracle 10g后新加的参数,⽤法:force=n或force=y,表⽰密码⽂件存在是否覆盖,10g之前只能删除原有的密码⽂件,再创建。
Oracle的tnsnames.ora配置(PLSQLDeveloper)

Oracle的tnsnames.ora配置(PLSQLDeveloper)1. ⾸先打开tnsnames.ora的存放⽬录,⼀般为D:\app\Administrator\product\11.2.0\client_1\network\admin,就看安装具体位置了。
2. 2使⽤editplus或者记事本或其他⼯具打开tnsnames.ora,进⾏编辑配置⼀下⽂件CONN_shenyi2 =(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = 172.17.144.191)(PORT = 1521))(CONNECT_DATA =(SERVER = DEDICATED)(SERVICE_NAME = orcl)))3. 3上边的SERVICE_NAME 和HOST、PORT 改为⾃⼰的即可4. 4打开plsql,登陆5. 5登陆完成即可使⽤强⼤的plsql developer/article/b0b63dbfcd34834a4930704a.html222222222222222222222222222222222222222今天是重要的⼀天。
将XML数据导⼊ORACLE遇到很多问题,学了好多,其中很长时间花在⽹络配置上,刚开始学,具体原因不知道,先把搜集到的好⽂章存下来,以后慢慢研究。
监听配置⽂件为了使得外部进程如 CAMS后台程序能够访问 Oracle 数据库必须配置 Oracle ⽹络服务器环境配置 Oracle ⽹络服务器环境是通过配置listener.ora sqlnet.ora 和 tnsnames.ora 共三个⽂件来进⾏的 listener.ora即监听配置⽂件在本⼩节说明另两个⽂件分别在随后的两个⼩节说明监听配置⽂件 listener.ora 的存放路径为 $ORACLE_HOME/network/admin以下是⼀个⽰例LISTENER = #监听器名称(DESCRIPTION_LIST =(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC)))(ADDRESS_LIST =(ADDRESS =(PROTOCOL = TCP)(HOST = localhost.localdomain)(PORT = 1521))))(DESCRIPTION =(PROTOCOL_STACK =(divSENTATION = GIOP)(SESSION = RAW))(ADDRESS =(PROTOCOL = TCP)(HOST = localhost.localdomain)(PORT = 2481))))SID_LIST_LISTENER = #命名规则 SID_LIST_+上⾯定义的监听器名称(SID_LIST =(SID_DESC =(SID_NAME = PLSExtProc1)(ORACLE_HOME = /u01/app/oracle/product/8.1.7)(PROGRAM = extproc))(SID_DESC =(GLOBAL_DBNAME = cams)(ORACLE_HOME = /u01/app/oracle/product/8.1.7)(SID_NAME = cams))(SID_DESC =(GLOBAL_DBNAME = oid)(ORACLE_HOME = /u01/app/oracle/product/8.1.7)(SID_NAME = oid)))& 说明1 listener.ora ⽂件中定义⼀个监听器其缺省的名称为 LISTENER这个监听器缺省以tcp/ip为协议地址且端⼝号为1521运⾏在CAMS应⽤中监听⽂件定义的监听器就使⽤这个缺省名字并且使⽤缺省的协议 tcp/ip和缺省的端⼝号 1521 待配置好监听⽂件以及随后说明的 sqlnet.ora 和tnsnames.ora ⽂件之后就可以⽤以下命令将监听⽂件中定义的监听器启动起来$ lsnrctl start停⽌监听器的命令为$ lsnrctl stop监测监听器当前状态的命令为$ lsnrctl status当 lsnrctl status 命令有如下输出结果STATUS of the LISTENER------------------------Alias LISTENERVersion TNSLSNR for Linux: Version 8.1.7.4.0 - Production Start Date 17-JAN-2004 19:00:08Uptime 31 days 15 hr. 27 min. 59 sec就说明监听器正在运⾏否则说明监听器已经停⽌了 CAMS 系统的后台程序的正常运⾏不仅依赖于数据库实例的运⾏还依赖于这个数据库监听器的运⾏假如监听器没有启动即使数据库已经启动 CAMS 后台程序仍然不能正常⼯作2 如(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC))所⽰的⼀个IPC 协议地址的监听是为了外部进程调⽤⽤的在数据库安装时⾃动设定不需要改动3 在监听⽂件后部还有⼀个 SID_LIST_LISTENER 段该段⽤于定义监听器的服务即为哪些数据库实例提供监听服务以 cams 实例为例其对应的服务信息为(SID_DESC =(GLOBAL_DBNAME = cams) #数据库名(ORACLE_HOME = /u01/app/oracle/product/8.1.7)(SID_NAME = cams) #数据库实例名)1.2.5 sqlnet.ora ⽂件sqlnet.ora ⽂件的存放路径为 $ORACLE_HOME/network/admin 以下是⼀个⽰例NAMES.DEFAULT_DOMAIN = localdomainNAMES.DIRECTORY_PATH= (TNSNAMES, ONAMES, HOSTNAME)& 说明NAMES.DEFAULT_DOMAIN 指定⽹络域名 NAMES.DIRECTORY_PATH指定当解析客户端连接标识符时命名⽅法 naming metthods 采⽤的优先顺序从左⾄右递减在 CAMS 应⽤中这两个参数采⽤上述所⽰的系统缺省值1.2.6 tnsnames.ora ⽂件tnsnames.ora ⽂件的存放路径为 $ORACLE_HOME/network/admin 以下是⼀个⽰例OID.LOCALDOMAIN =(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST = localhost.localdomain)(PORT = 1521)))(CONNECT_DATA =(SERVICE_NAME = oid)))CAMS.LOCALDOMAIN =(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST = localhost.localdomain)(PORT = 1521)))(CONNECT_DATA =(SERVICE_NAME = cams)))INST1_HTTP.LOCALDOMAIN =(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST = localhost.localdomain)(PORT = 1521)))(CONNECT_DATA =(SERVER = SHARED)(SERVICE_NAME = MODOSE)(divSENTATION = http://admin)))EXTPROC_CONNECTION_DATA.LOCALDOMAIN =(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC)))(CONNECT_DATA =(SID = PLSExtProc1)(divSENTATION = RO)))& 说明tnsnames.ora ⽂件中定义⼀个或多个⽹络服务 net service cams 实例对应的⽹络服务为CAMS.LOCALDOMAIN =(DESCRIPTION =(ADDRESS_LIST =(ADDRESS =(PROTOCOL = TCP)(HOST = localhost.localdomain)(PORT = 1521)))(CONNECT_DATA =(SERVICE_NAME = cams)))注意这⾥ ADDRESS项包含三个⼦参数PROTOCOL :默认协议TCPHOST :ip地址PORT:端⼝,默认1521CAMS.LOCALDOMAIN为数据名要确保在监听⽂件中也有对应的⼀个 ADDRESS 项也包含同样的三个⼦参数并且⼦参数的值对应都相等另外这⾥ SERVICE_NAME 的值必需确保与监听⽂件中某 SID_DESC项下的 SID_NAME参数的值相等3333333333333333333333333333oracle⽹络配置三个配置⽂件 listener.ora、sqlnet.ora、tnsnames.ora ,都是放在$ORACLE_HOME/network/admin⽬录下。
sqlplus机制及相关文件

SqlPlus运行机制及相关文件关联文件有:sqlnet.ora、tnsname.ora、listener.ora,这3个文件的位置都在$ORACLE_HOME\network\admin当运行sqlplus user/password@orcl时sqlplus程序会去sqlnet.ora文件中查找一个NAMES.DEFALUT_DOMAIN的参数,如果有参数,则将参数对应的值()添加到网络服务名后,即orcl后得到一个网络服务名,一般不需要这个参数,直接注释掉#就可以,以免在查找网络服务名中造成麻烦。
然后去tnsname.ora文件中查找对应的网络服务名对应的配置,如果tnsnames.ora是orcl,则不能匹配到,提示错误,如果匹配到,则根据网络服务名找到相应的主机、协议、端口和service_name等信息如果listener进程没有问题,则建立与listener进程的连接,再通过listener进程建立与数据库进程的连接。
几种连接用到的命令形式1.sqlplus / as sysdba 这是典型的操作系统认证,不需要listener进程2.sqlplus sys/oracle 这种连接方式只能连接本机数据库,不需要listener进程3.sqlplus sys/oracle@orcl 这种方式需要listener进程处于可用状态。
最普遍的通过网络连接。
以上连接方式使用sys用户或者其他通过密码文件验证的用户都不需要数据库处于可用状态,操作系统认证也不需要数据库可用,普通用户因为是数据库认证,所以数据库必需处于open状态。
1.sqlnet.ora详解此文件决定如何找到连接中出现的连接字符串,服务器端和客户端都要用的网络概要文件,规定了命名方式,认证方法等,通过Net Manager中的本地-概要文件配置的就是这个文件若以sqlplus sys/oracle@orcl登录,且sqlnet.ora的内容如下SQLNET.AUTHENTICA TION_SERVICES= (NTS)NAMES.DIRECTORY_PATH= (TNSNAMES,HOSTNAME)则客户端首先去tnsname中查找orcl记录,如果没有找到,则试图将orcl作为一个主机名,通过网络解析的方式得到主机对应的ip地址,然后连接上ip地址对应的GLOBAL_DBNAME=orcl这个实例,参数NAMES.DIRECTORY_PATH用来划分查找连接字符orcl的范围,一般的值只有TNSNAMES,则只在tnsnames.ora文件中查找。
oracle11g 中adrci的使用

代码:adrci>>show homes;show base; echo '20070712'ADR Homes:diag/rdbms/orcl/orclADR base is "/home/oracle"20070712adrci>>adrci>>adrci>>exit[oracle@ractest ~]$ adrci exec="show homes;echo '20070712';echo '';sh ow base; "ADR Homes:diag/rdbms/orcl/orcl20070712ADR base is "/home/oracle"2) 使用script选项。
adrci SCRIPT=adrci_script.txt但shahand使用的beta版似乎还有些问题。
好像没有任何结果一样代码:[oracle@ractest ~]$ cat /tmp/ashow homes;[oracle@ractest ~]$ adrci script=/tmp/a[oracle@ractest ~]$ cat /tmp/afadsfdsa[oracle@ractest ~]$ adrci script=/tmp/a[oracle@ractest ~]$ cat /tmp/ashow trace;[oracle@ractest ~]$ adrci script=/tmp/a[oracle@ractest ~]$ cat /tmp/aSET HOMEPATH /home/oracle/diag/rdbms/orcl/orcl;show trace;[oracle@ractest ~]$ adrci script=/tmp/a[oracle@ractest ~]$三.使用ADRCI查看Oracle数据库后台报警日志(alert_sid.log)和跟踪文件注意:以下大部分命令都需要用Ctrl+C 来结束,并返回到adrci命令行1.查看完整alert信息:adrci>>SHOW ALERT2. 查看最新alert信息:adrci>> SHOW ALERT –TAIL查看最新20条alert信息:adrci>> SHOW ALERT -TAIL 20只查看600的错误adrci>>SHOW ALERT -P "MESSAGE_TEXT LIKE '%ORA-600%'"查看ORA-错误信息,注意这里的参数很好,比较人性化,可以帮助提供错误时间Options:[-p <predicate_string>]: The predicate string must be double quot ed.The fields in the predicate are the fields in the alert message'sXML schema. To get the field definitions, use command:"describe&3.查看跟踪文件常用的有:(1)列出所有跟踪文件:SHOW TRACEFILE(2)模糊查询跟踪文件,比如某个进程的,注意这里区分大小写SHOW TRACEFILE %mmon%(3)可以指定某个路径SHOW TRACEFILE %mmon% -PATH/home/steve/temp(4)象ls那样按时间排序SHOW TRACEFILE -RT四.其他体验和说明1.关于在adrci中执行os命令,可以直接在adrci中执行os命令。
oracle审计用户

oracle审计用户oracle审计主要用于记录用户对数据库所做的操作,基于配置的不同,审计的结果会放在操作系统文件中或者系统表中,默认情况下,使用管理员权限连接实例,开启及关闭数据库是会强制进行审计的,其它的基础的操作则没有进行审计,在一些安全性要求比较高的环境是需要做一些审计的配置的,下文简单介绍一下oracle中审计的配置方法,几种审计方法的不同,以及如何对管理员进行审计.一。
oracle中审计的配置:1.审计相关的三个重要参数:a.audit_file_dest:指定审计文件存放的位置:b.audit_trail:指定审计的类型:none:为系统默认值,不进行审计DB:将审计结果放在数据库表中,aud$,通常只记录连接的信息.DB_EXTENDED:将审计结果放在数据库表中,记录具体执行语句OS:将审计结果记录在操作系统文件中,文件位置由audit_file_dest参数指定,(windows系统中将直接在事件查看器的系统日志中记录)XML:将审计结果记录在audit_file_dest指定位置下的XML文件中。
c.audit_sys_operations:是否对sysdba用户做审计,关于sysdba 用户审计的结果,linux存放在audit_file_dest参数指定位置的aud文件中,windows存放在事件查看器的系统日志中2.审计的级别:开启审计后,可在statement语句、privilege权限和object对象级别对数据库进行审计。
a.statement:按语句来审计如audit table xxx;b.privilege:按权限来审计,如audit lect any tablec.object:按对象来审计,如audit all ployees by HR,只会对hr 用户对employees表执行的操作做审计3.审计的其它相关选项:by access 每个被审计的操作都会生成一条记录by ssion 默认值,每个会话里同类型操作只会生成一条audit trailwhenever successful:操作成功才审计whenever not successful:操作不成功才审计4.查询审计结果的视图沈阳成人英语培训浙江大学2023年录取分数线dba_audit_trail:查看所有的普通审计记录kptdba_fga_audit_trail:查看所有细粒度审计记录sys.aud$审计结果实际存放的系统表5.取消审计: noaudit lect any table6.开启审计方法a.查看参数SQL show parameter auditNAME TYPE VALUE-----------------------------------------------------------------------------audit_file_dest string /u01/oracle/product/admin/orcl/adumpaudit_sys_operations boolean FALSEaudit_syslog_level stringaudit_trail string NONEb.设置审计类型并重启数据库SQL alter system t audit_trail = db_extended scope=spfile;existenceSystem altered.c.审计用户对表操作SQL audit table ;音标mp3Audit succeeded.d.切换用户后创建表SQLconnecttest/********.1.12/orclConnected.SQL create table audtest (id int);Table created.e.管理员登录查看审计结果SQLconnectsys/**********.1.12/orclassysdbaConnected.SQL lect urname,sql_text from dba_audit_trail;USERNAME------------------------------SQL_TEXT--------------------------------------------------------------------------------TESTmy hobbiescreate table audtest (id int)f.审计系统管理员操作SQL alter system t audit_sys_operations= true scope=spfile; vrf System altered.SQLconnectsys/**********.1.12/orclassysdbaConnected.SQL create table systest (id int);Table created.SQLconnectsys/**********.1.12/orclassysdba Connected.SQL create table systest (id int);Table created.SQL create table systest1 (id int);Table created.g.查看系统管理员审计结果Audit file /u01/oracle/product/admin/orcl/adump/ora_5895.aud Oracle Databa 10g Enterpri Edition Relea 10.2.0.1.0 - Production 北京西班牙语培训With the Partitioning, OLAP and Data Mining options ORACLE_HOME = /u01/oracle/product/10.2/db1System name: LinuxNode name: oracle1Relea: 2.6.9-55.ELsmpVersion: #1 SMP Fri Apr 20 17:03:35 EDT 2023 Machine: i686Instance name: orclRedo thread mounted by this instance: 1Oracle process number: 20Unix process pid: 5895, image: oracleorcl@oracle1Mon Mar 28 23:03:28 2023ACTION : 'CONNECT'DATABASE USER: 'sys'PRIVILEGE : SYSDBACLIENT USER: AdministratorCLIENT TERMINAL: PC-20230718IUGMSTATUS: 0Mon Mar 28 23:03:42 2023ACTION : 'create table systest (id int)'DATABASE USER: 'sys'PRIVILEGE : SYSDBACLIENT USER: AdministratorCLIENT TERMINAL: PC-20230718IUGMSTATUS: 0Mon Mar 28 23:08:09 2023ACTION : 'create table systest1 (id int)'swift code是什么方式状语DATABASE USER: 'sys'PRIVILEGE : SYSDBACLIENT USER: AdministratorCLIENT TERMINAL: PC-20230718IUGMSTATUS: 0"ora_5895.aud" 38L, 995C。
oracle三个重要参数文件:pfile和spfile和init.ora
oracle三个重要参数⽂件:pfile和spfile和init.oraOracle中的参数⽂件是⼀个包含⼀系列参数以及参数对应值的操作系统⽂件。
它们是在数据库实例启动第⼀个阶段时候加载的,决定了数据库的物理结构、内存、数据库的限制及系统⼤量的默认值、数据库的各种物理属性、指定数据库控制⽂件名和路径等信息,1、pfile: 初始化参数⽂件(Initialization Parameters Files)pfile是啥呢,pfile的全名就是parameter file,参数⽂件。
pfile是⼀个可编辑的⽂本⽂件,主要内容就是数据库的配置参数,包括内存配置、数据库名、sessions、processes等。
pfile默认路径(windows):/u01/app/oracle/product/11.2.0/db1_s/dbs/initSID.oraOracle 9i之前,ORACLE⼀直采⽤pfile⽅式存储初始化参数,pfile 默认的名称为“init+实例sid.ora”⽂件路径:/u01/app/oracle/product/11.2.0/db1_s/dbs这是⼀个⽂本⽂件,可以⽤任何⽂本编辑⼯具打开。
我们可以直接使⽤指定pfile⽂件启动第⼀阶段数据库sql>startup pfile=/u01/app/oracle/product/11.2.0/db1_s/dbs/init.ora.10152018183435 //通过这个指定这个参数⽂件就可以启动这个数据库了2、spfile:服务器参数⽂件(Server Parameter Files)从Oracle 9i开始,Oracle引⼊了Spfile⽂件,spfile 默认的名称为“spfile+例程名.ora”⽂件路径:/u01/app/oracle/product/11.2.0/db_1/dbs/spfile以后,数据库默认就是读取spfile的配置启动和初始化参数,加载参数到内存中以⼆进制⽂本形式存在,不能⽤vi编辑器对其中参数进⾏修改,只能通过SQL命令在线修改。
Oracle字符集的查看查询和Oracle字符集的设置修改
Oracle字符集的查看查询和Oracle字符集的设置修改本⽂主要讨论以下⼏个部分:如何查看查询oracle字符集、修改设置字符集以及常见的oracle utf8字符集和oracle exp 字符集问题。
⼀、什么是Oracle字符集Oracle字符集是⼀个字节数据的解释的符号集合,有⼤⼩之分,有相互的包容关系。
ORACLE ⽀持国家语⾔的体系结构允许你使⽤本地化语⾔来存储,处理,检索数据。
它使⼯具,错误消息,排序次序,⽇期,时间,货币,数字,和⽇历⾃动适应本地化语⾔和平台。
影响数据库字符集最重要的参数是NLS_LANG参数。
它的格式如下: NLS_LANG = language_territory.charset它有三个组成部分(语⾔、地域和字符集),每个成分控制了NLS⼦集的特性。
其中:Language:指定服务器消息的语⾔,影响提⽰信息是中⽂还是英⽂Territory:指定服务器的⽇期和数字格式,Charset:指定字符集。
如:AMERICAN _ AMERICA. ZHS16GBK从NLS_LANG的组成我们可以看出,真正影响数据库字符集的其实是第三部分。
所以两个数据库之间的字符集只要第三部分⼀样就可以相互导⼊导出数据,前⾯影响的只是提⽰信息是中⽂还是英⽂。
怎么查看数据库版本select * from v$version 包含版本信息,核⼼版本信息,位数信息(32位或64位)等 ⾄于位数信息,在Linux/unix平台上,可以通过file 查看,如file $ORACLE_HOME/bin/oracle⼆、. 查看数据库字符集数据库服务器字符集select * from nls_database_parameters,其来源于props$,是表⽰数据库的字符集。
客户端字符集环境select * from nls_instance_parameters,其来源于v$parameter, 表⽰客户端的字符集的设置,可能是参数⽂件,环境变量或者是注册表 会话字符集环境select * from nls_session_parameters,其来源于v$nls_parameters,表⽰会话⾃⼰的设置,可能是会话的环境变量或者是alter session完成,如果会话没有特殊的设置,将与nls_instance_parameters⼀致。
探讨Oracle数据库管理之控制文件
探讨Oracle数据库管理之控制文件杜战伟【摘要】控制文件作为Oracle数据库管理的物理文件之一,数据库的名字以及数据文件的位置信息由它记录。
控制文件一旦损坏,电脑将无法正常工作。
因此控制文件十分重要,其管理的重点在于防御。
本文将对控制文件的相关内容作介绍,为安全管理Oracle控制文件提出了相关的方法。
%The control file was one of the physical files of the Oracle database management,the name and loaction of data files were recorded by it.Once the control file is damaged,the computer will not work properly.So the control file is very important,the focus of its management lies in defense.This article will introduce the related content of the control file, and put forward the related methods for the safety management of Oracle control file.【期刊名称】《电子测试》【年(卷),期】2016(000)010【总页数】3页(P90-91,98)【关键词】Oracle;数据库管理;控制文件【作者】杜战伟【作者单位】西安秦皇医院信息部,西安,710016【正文语种】中文控制文件是一个很小的二进制文件,用于对数据库的维护和记录,无论何时打开Oracle数据库,在此之前Oracle服务器都要对控制文件进行访问。
控制文件一旦出现问题,会导致Oracle数据库无法正常工作。
数据库的启动以及正常运行都离不开控制文件。
oracle sql查询存储过程内容
oracle sql查询存储过程内容Oracle SQL查询存储过程内容在Oracle数据库中,存储过程是一种预编译的数据库对象,用于封装一系列的SQL语句和业务逻辑。
当我们需要查询存储过程的内容时,可以通过以下方式实现:1. 使用Oracle SQL开发工具Oracle SQL开发工具如SQL Developer、Toad等,提供了直接查询数据库对象的功能。
通过连接到相应的数据库,我们可以执行以下步骤:•打开SQL开发工具并连接到数据库。
•在数据库导航栏中选择存储过程所在的模式(Schema)。
•展开“存储过程”(或类似的选项)文件夹,找到目标存储过程。
•右键单击存储过程,并选择“查看”选项。
•在弹出的窗口中,可以查看到存储过程的代码或源码。
2. 使用SQL查询系统表Oracle数据库提供了一些系统表,存储了数据库对象的元数据信息。
我们可以通过查询这些系统表来获取存储过程的内容。
以下是一些常用的系统表和他们的用途:•ALL_OBJECTS:包含了数据库中所有的对象信息,包括存储过程。
•ALL_SOURCE:存储了数据库中所有对象的源码信息,包括存储过程的代码。
•ALL_PROCEDURES:记录了所有存储过程的详细信息,包括存储过程名称、所属模式等。
通过执行类似以下的SQL查询语句,我们可以获取存储过程的内容:SELECT textFROM all_sourceWHERE object_type = 'PROCEDURE'AND owner = 'SCHEMA_NAME'AND name = 'PROCEDURE_NAME';请注意将上述查询语句中的’SCHEMA_NAME’和’PROCEDURE_NAME’替换为实际的模式名称和存储过程名称。
3. 使用DBMS_METADATA包Oracle数据库提供了一个名为DBMS_METADATA的强大的包,它可以用于获取数据库对象的元数据信息。