oracle后台怎么使用 Oracle使用方法

Oracle数据库实例及其相关概念

完整的Oracle数据库通常由两部分组成 Oracle数据库实例和数据库

创新互联自2013年起,先为昆玉等服务建站,昆玉等地企业,进行企业商务咨询服务。为昆玉企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。

)数据库是一系列物理文件的集合(数据文件 控制文件 联机日志 参数文件等)

)Oracle数据库实例则是一组Oracle后台进程/线程以及在服务器分配的共享内存区

在启动Oracle数据库服务器时 实际上是在服务器的内存中创建一个Oracle实例(即在服务器内存中分配共享内存并创建相关的后台内存) 然后由这个Oracle数据库实例来访问和控制磁盘中的数据文件 Oracle有一个很大的内存快 成为全局区(SGA)

一 数据库 表空间 数据文件

数据库

数据库是数据集合 Oracle是一种数据库管理系统 是一种关系型的数据库管理系统

通常情况了我们称的 数据库 并不仅指物理的数据集合 他包含物理数据 数据库管理系统 也即物理数据 内存 操作系统进程的组合体

数据库的数据存储在表中 数据的关系由列来定义 即通常我们讲的字段 每个列都有一个列名 数据以行(我们通常称为记录)的方式存储在表中 表之间可以相互关联 以上就是关系模型数据库的一个最简单的描述

当然 Oracle也是提供对面象对象型的结构数据库的最强大支持 对象既可以与其它对象建立关系 也可以包含其它对象 关于OO型数据库 以后利用专门的篇幅来讨论 一般情况下我们的讨论都基于关系模型

表空间 文件

无论关系结构还是OO结构 Oracle数据库都将其数据存储在文件中 数据库结构提供对数据文件的逻辑映射 允许不同类型的数据分开存储 这些逻辑划分称作表空间

表空间(tablespace)是数据库的逻辑划分 每个数据库至少有一个表空间(称作SYSTEM表空间) 为了便于管理和提高运行效率 可以使用一些附加表空间来划分用户和应用程序 例如 USER表空间供一般用户使用 RBS表空间供回滚段使用 一个表空间只能属于一个数据库

每个表空间由同一磁盘上的一个或多个文件组成 这些文件叫数据文件(datafile) 一个数据文件只能属于一个表空间 在Oracle 以后 数据文件创建可以改变大小 创建新的表空间需要创建新的数据文件 数据文件一旦加入到表空间中 就不能从这个表空间中移走 也不能与其它表空间发生联系

如果数据库存储在多个表空间中 可以将它们各自的数据文件存放在不同磁盘上来对其进行物理分割 在规划和协调数据库I/O请求的方法中 上述的数据分割是一种很重要的方法

Oracle数据库的存储结构分为逻辑存储结构和物理存储结构

)逻辑存储结构 用于描述Oracle内部组织和管理数据的方式

)物理存储结构 用于描述Oracle外部即操作系统中组织和管理数据的方式

二 Oracle数据库实例

为了访问数据库中的数据 Oracle使用一组所有用户共享的后台进程 此外 还有一些存储结构(统称为System Gloabl Area 即SGA) 用来存储最近从数据库查询的数据 数据块缓存区和SQL共享池(Shared SQL Pool)是SGA的最大部分 一般占SGA内存的 %以上 通过减少对数据文件的I/O次数 这些存储区域可以改善数据库的性能

Oracle数据库实例(instance)也称作服务器(server) 是用来访问数据库文件集的存储结构及后台进程的集合 一个数据库可以被多个实例访问(这是Oracle并行服务器选项)

lishixinzhi/Article/program/Oracle/201311/17362

如何打开oracle的sql后台跟踪功能

一.在系统级别上设置sql跟踪

该方法优点:可以跟踪所有的oracle的后台进程所执行的sql,包括系统后台进程和用户进程,并且可以跟踪所有的操作

缺点:跟踪所有的后台进程,跟踪信息量比较大

1.在sqlplus中以sys/ as sysdba身份登陆到数据库。

2.打开跟踪,在sqlplus中输入alter sysetem set events '10046 trace name context forever,level level';

(其中level可以输入1,4,8,12三个级别,不同的级别含有不同级别的信息)

3.然后到ArcMap或ArcCatalog中进行你想跟踪的操作

4.关闭跟踪,在sqlplus中输入alter systemm set events '10046 trace name context off';

5.查找你所跟踪的session的ID

A 修改时间格式:alter session set nls_date_format='YYYY-MM-DD HH24:MI:SS';

B.对使用sde服务的输入:select sid,logon_time from v$session where username=username and program='gsrvr.exe';

C.对直连这种方式输入:select sid,logon_time from v$session where username=username and program='ArcCatalog';

select sid,logon_time from v$session where username=username and program='ArcMap';

(其中username是程序登陆到数据库的用户名,如果返回多个结果,在根据登陆的时间确定具体的sid值)

6.执行以下的sql语句

SELECT d.VALUE

|| '/'

|| LOWER (RTRIM (i.INSTANCE, CHR (0)))

|| '_ora_'

|| p.spid

|| '.trc' trace_file_name

FROM (SELECT p.spid

FROM v$mystat m, v$session s, v$process p

WHERE m.statistic# = 1 AND s.SID = SID AND p.addr = s.paddr) p,

(SELECT t.INSTANCE

FROM v$thread t, v$parameter v

WHERE v.NAME = 'thread'

AND (v.VALUE = 0 OR t.thread# = TO_NUMBER (v.VALUE))) i,

(SELECT VALUE

FROM v$parameter

WHERE NAME = 'user_dump_dest') d

在输入sid后,即得到后台的跟踪文件。

二. 在session级别上设置跟踪

该方法只适用于跟踪登陆数据后所进行的一系列的操作,比如跟踪在ArcCatalog中创建一个Dataset,FeatureClass等的操作

1.在sqlplus中以sys / as sysdba身份登陆到数据库

2.查找你所要跟踪的session的sid和serial#

A 修改时间格式:alter session set nls_date_format='YYYY-MM-DD HH24:MI:SS';

B.对使用sde服务的输入:select sid,serial#,logon_time from v$session where username=username and program='gsrvr.exe';

C.对直连这种方式输入:select sid,serial#,logon_time from v$session where username=username and program='ArcCatalog';

select sid,serial#,logon_time from v$session where username=username and program='ArcMap';

(其中username是程序登陆到数据库的用户名,如果返回多个结果,在根据登陆的时间确定具体的sid和serial#的值)

3.开始跟踪,输入exec dbms_support.start_trace_in_session(sid,serial#,true,true).(如果系统没有安装dbms_support包,可以执行$ORACLE_HOME\rdbms\admin\dbmssupp.sql进行安装)

4.然后到ArcMap或ArcCatalog中进行你想跟踪的操作

5.结束跟踪exec dbms_support.stop_trace_in_session(sid,serial#);

6.执行以下的sql语句

SELECT d.VALUE

|| '/'

|| LOWER (RTRIM (i.INSTANCE, CHR (0)))

|| '_ora_'

|| p.spid

|| '.trc' trace_file_name

FROM (SELECT p.spid

FROM v$mystat m, v$session s, v$process p

WHERE m.statistic# = 1 AND s.SID = SID AND p.addr = s.paddr) p,

(SELECT t.INSTANCE

FROM v$thread t, v$parameter v

WHERE v.NAME = 'thread'

AND (v.VALUE = 0 OR t.thread# = TO_NUMBER (v.VALUE))) i,

(SELECT VALUE

FROM v$parameter

WHERE NAME = 'user_dump_dest') d

在输入sid后,即得到后台的跟踪文件。

三. 在Aix系统下跟踪消耗内存的session的办法

1.在Aix系统上执行export TERM=vt100

2.执行topas命令,确定最占cpu资源的process的进程号

3,然后利用select a.sid,b.serial# from v$session a,v$process b where a.paddr=b.addr and b.spid=spid;

4.确定sid和serial#后利用二方法进行跟踪。

如何让sql语句在oracle后台运行,怎么查看后台运行的程序,谢谢?

sql要在后台运行的的话你只有写shell脚本了:

sqlplus username/password@orcl !

select xxxxxxx --这里填你想要执行的语句

exit

!

(在数据库本地执行的时候可以不带连接串,直接用sqlplus username/password ! 即可)

编写完脚本后在操作系统下执行:

nohup ./mysql.sh 或者 ./mysql.sh

(这里暂定你的shell脚本名是mysql.sh可以自己改)

使用jobs命令就可查看你后台运行的程序。或者使用 ps -ef|grep mysql.sh 也能看到。

当然了使用了nohup参数后在当前目录会生成nohup.out的输出文件,你也可以在这个文件中查看脚本执行的进度。

oracle10g怎样进入后台

登录时需要加连接字符串:数据库名 as sysdba 进入后执行: grant connect to scott 这样scott用户就可以使用了


文章标题:oracle后台怎么使用 Oracle使用方法
文章出自:http://scyanting.com/article/hgjgce.html