Oracle 9i spfile

[不指定 2007/05/12 17:57 | by ipaddr ]
在9i中,oracle可以使用服务器参数文件(SPFILE,System Parameter File)代替传统的init.ora参数文件。SPFILE是Oracle 在操作系统级创建的一个二进制文件,用于存储数据库参数。

可以使用Create spfile命令基于数据库的当前参数设置创建一个SPFILE,可以使用ALTER SYSTEM或者ALTER SESSION来动态修改那些可动态修改的参数并且这些更改可以立即生效,你也可以使用ALTER SYSTEM的一个新选项SCOPE来选择使更改只应用于当前实例还是同时应用到spfile。

SCOPE参数有三个可选值:
MEMORY:只改变当前实例运行;
SPFILE:只改变SPFILE的设置(如果修改的是静态参数,则必须指定SCOPE=SPFILE,否则将会报ORA-02095错。);
BOTH:改变实例及SPFILE(使用BOTH选项实际上等同于不带参数的ALTER SYSTEM语句)。

当使用不带pfile 子句的startup 命令时,Oracle 将从平台指定的默认位置上的服务器参数文件(SPFILE) 中读取初始化参数。Oracle查找SPFILE或者创通的init.ora的顺序是:在平台指定的默认位置上,Oracle首先查找名为spfile$ORACLE_SID.ora的文件,如果没有就查找spfile.ora文件,还没有的话,就找init$ORACLE_SID.ora文件。

在$ORACLE_BASE\admin\db_name\pfile下,你很可能可以看到一个类似这样init.ora.192003215317]名字的文件,这就是初始化参数文件,只是跟上了时间戳。对于Oracle920+,缺省的就使用spfile启动,但是这个spfile不是凭空而来,而是根据这个文件创建而来,你可以去掉这个长后缀,就是标准的pfile文件了。

注意:
对于UNIX 平台为服务器参数文件或文本初始化参数文件指定的默认位置目录是:
$ORACLE_HOME/dbs/spfile$ORACLE_SID.ora

对于Windows NT 和Windows 2000 其位置是:
$ORACLE_HOME\database\spfile$ORACLE_SID.ora
(Ipaddr: Oracle10g, WindowsNT的默认位置也是:$ORACLE_HOME/dbs/spfile$ORACLE_SID.ora)

SPFILE支持多实例数据库(RAC),即所有的实例共用一个SPFILE。你可以通过查看SHOW PARAMETER spfile参数的值,如果value列返回空值,那么说明你在使用pfile;也可以通过下面的方法查看当前实例是否使用了SPFILE:
SQL> select decode(count(*), 1, 'spfile', 'pfile' ) USED
 2  from v$spparameter
 3  where rownum=1 and isspecified='TRUE'
 4  /
USED
------------
spfile

在Oracle 9i以前,我们可以通过查看V$PARAMETER and V$PARAMETER2知道当前实例的参数值,在Oracle 9i中,我们还可以通过查询V$SPPARAMETER实时的得到所有当前使用的spfile的参数值,包括使用SCOPE=SPFILE参数的ALTER SYSTEM命令改变的参数。

SPFILE可以从某个PFILE文件创建:
CREATE SPFILE[=’SPFILE-NAME’] FROM PFILE[=’PFILE-NAME’]

使用不带文件名的pfile在缺省位置创建spfile,可以用create spfile from pfile;命令,此时系统根据缺省位置(Unix: $ORACLE_HOME/dbs; NT: $ORACLE_HOME\database)的pfile在缺省位置创建名为spfile.ora的文件。创建SPFILE需要SYSDBA或者SYSOPER的权限。
我们也可以根据SPFILE文件创建PFILE文件:
CREATE PFILE[=’PFILE-NAME’] FROM SPFILE[=’SPFILE-NAME’]
这时创建的pfile文件将是一个可编辑的文本文件。
作为对于闪回操作(flashback)的一个增强,Oracle10g提供了函数对于SCN和时间戳进行相互转换。

首先通过dbms_flashback.get_system_change_number 可以获得系统当前的SCN值:


SQL> col scn for 9999999999999
SQL> select dbms_flashback.get_system_change_number scn from dual;

SCN
--------------
8908390522972


通过scn_to_timestamp函数可以将SCN转换为时间戳:


SQL> select scn_to_timestamp(8908390522972) scn from dual;

SCN
---------------------------------------------------------------------------
05-JAN-07 10.56.30.000000000 AM


再通过timestamp_to_scn可以将时间戳转换为SCN:

SQL> select timestamp_to_scn(scn_to_timestamp(8908390522972)) scn from dual;
SCN
--------------
8908390522972


通过这两个函数,最终Oracle将SCN和时间的关系建立起来,在Oracle10g之前,是没有办法通过函数转换得到SCN和时间的对应关系的,一般可以通过logmnr分析日志获得。

但是这种转换要依赖于数据库内部的数据记录,对于久远的SCN则不能转换,请看以下举例:


SQL> select min(FIRST_CHANGE#) scn,max(FIRST_CHANGE#) scn from v$archived_log;

SCN SCN
------------------ ------------------
8907349093953 8908393582271

SQL> select scn_to_timestamp(8907349093953) scn from dual;
select scn_to_timestamp(8907349093953) scn from dual
*
ERROR at line 1:
ORA-08181: specified number is not a valid system change number
ORA-06512: at "SYS.SCN_TO_TIMESTAMP", line 1
ORA-06512: at line 1


SQL> select scn_to_timestamp(8908393582271) scn from dual;

SCN
---------------------------------------------------------------------------
05-JAN-07 11.45.50.000000000 AM

RH linux下修改Perl的更新站点

[不指定 2007/05/06 13:37 | by ipaddr ]
修改
/usr/lib/perl5/5.8.5/CPAN.pm

将里面的defaultsite设置为:
http://cpan.linuxforum.net

更多的国内镜像,请查看:
http://www.cpan.org/SITES.html
【镜头1】
在缆车上,谢小盟对着美女说:“每当我从这个角度看这个城市的时候,我就强烈地感觉到,城市是母体,而我们是生活在她的子宫里面……”
——光看这段话,还以为是一个非常善于思考的“艺术家”的话语,但是它却出自于一个小混混般的败家子之口。不知道他的身份的时候觉得影片在这也太煽情做作了,知道了他的身份和角色之后才发现不过是一种嘲讽和幽默罢了。这是需要去看第二遍的时候才能看明白的,虽然这也是影片的缺点之一,不过考虑到这确实是一部可以吸引你去看第二遍的影片时,这缺点也就弱化了。
说到“子宫”的时候旁边两个大娘的短短两个字的“流氓”生动地反映了中国社会主义制度下的特有现象,“子宫”被视为下流词汇,在公共场合谈论性和生殖将被视为流氓行为。

oracle里的常用命令

[不指定 2007/03/21 17:32 | by ipaddr ]
第一章:日志管理

1.forcing log switches
sql> alter system switch logfile;

2.forcing checkpoints
sql> alter system checkpoint;

3.adding online redo log groups
sql> alter database add logfile [group 4]
sql> ('/disk3/log4a.rdo','/disk4/log4b.rdo') size 1m;

NTop安装摘要

[不指定 2007/03/21 15:10 | by ipaddr ]
NTop安装摘要

首先,需安装好GD库和GD-devel

1.安装
useradd ntop
download
./cofigure
make
make install

start:
chown -R ntop.ntop /usr/local/var/ntop/
chown -R ntop.ntop /usr/local/share/ntop/
reboot
/usr/local/bin/ntop -A
设置管理员密码(WEB管理时需要)
/usr/local/bin/ntop -u ntop -w portnum -c -d
(Ipaddr提醒:需要带上-c参数,否则,ntop只统计当前活跃的主机的流量)


2.配置NetFlow
http://host:port/
Plugins->NetFlow->Active 激活NetFlow
Plugins->NetFlow->Configure 配置网口,新增一个设备,端口默认是9996
Plugins->NetFlow->Statistics NetFlow状态

3.
如果Cisco Router是做NAT的话,Router本身会有两个IP,需要将Router的两个口的IP都设置为LocalIP:
假设外网IP是10.0.1.X,内网IP是192.168.1.X,则在Plugins->NetFlow->Configure设置内网IP为
192.168.1.X,同时,修改启动参数,带上-m 10.0.1.0/255.255.255.0(可以WEB界面配置)
1、查看表空间的名称及大小
  select t.tablespace_name, round(sum(bytes/(1024*1024)),0) ts_size

  from dba_tablespaces t, dba_data_files d

  where t.tablespace_name = d.tablespace_name

  group by t.tablespace_name;

  2、查看表空间物理文件的名称及大小

  select tablespace_name, file_id, file_name,

  round(bytes/(1024*1024),0) total_space

  from dba_data_files

  order by tablespace_name;

  3、查看回滚段名称及大小

  select segment_name, tablespace_name, r.status,

  (initial_extent/1024) InitialExtent,(next_extent/1024) NextExtent,

  max_extents, v.curext CurExtent

  From dba_rollback_segs r, v$rollstat v

  Where r.segment_id = v.usn(+)

  order by segment_name ;

  4、查看控制文件

  select name from v$controlfile;

  5、查看日志文件

  select member from v$logfile;

  6、查看表空间的使用情况

  select sum(bytes)/(1024*1024) as free_space,tablespace_name

  from dba_free_space

  group by tablespace_name;

  SELECT A.TABLESPACE_NAME,A.BYTES TOTAL,B.BYTES USED, C.BYTES FREE,

  (B.BYTES*100)/A.BYTES "% USED",(C.BYTES*100)/A.BYTES "% FREE"

  FROM SYS.SM$TS_AVAIL A,SYS.SM$TS_USED B,SYS.SM$TS_FREE C

  WHERE A.TABLESPACE_NAME=B.TABLESPACE_NAME AND A.TABLESPACE_NAME=C.TABLESPACE_NAME;

  7、查看数据库库对象

  select owner, object_type, status, count(*) count# from all_objects group by owner, object_type, status;

  8、查看数据库的版本

  Select version FROM Product_component_version

  Where SUBSTR(PRODUCT,1,6)='Oracle';

  9、查看数据库的创建日期和归档方式

  Select Created, Log_Mode, Log_Mode From V$Database;

  10、捕捉运行很久的SQL

  column username format a12

  column opname format a16

  column progress format a8

  select username,sid,opname,

  round(sofar*100 / totalwork,0) || '%' as progress,

  time_remaining,sql_text

  from v$session_longops , v$sql

  where time_remaining <> 0

  and sql_address = address

  and sql_hash_value = hash_value

SQL*Plus中缓冲区命令列表

[不指定 2007/03/20 18:34 | by ipaddr ]
格式:
命令-------缩写-------作用
append 文本-------A 文本-------添加文本到当前行尾
change/旧文本/新文本-------C/旧文本/新文本-------在当前行用新的文本替换旧的文本
change/文本-------C/文本-------从当前行删除文本
del-------无-------删除当前行
del n-------无-------删除第n行
del n m-------无-------删除第n到m行
del n *-------无-------删除第n到当前行
del n last-------无-------删除第n行到最后一行
del *-------无-------删除当前行
Del * n-------无-------删除当前行到第n行
Del * last-------无-------删除当前行到最后一行
Del last-------无-------删除最后一行
input-------I-------在当前行之后添加多行,input会提示输入每一行
input 文本-------i 文本-------在当前行之后添加一行
List-------L-------显示缓冲区中所有行
List n-------L n-------显示缓冲区中第n行
List n m-------L n m-------显示缓冲区中第n到第m行
List n *-------L n *-------显示缓冲区中第n行到当前行
List n last-------L n last-------显示缓冲区中第n行到最后一行
List *-------L *-------显示缓冲区中当前行
List * n-------L * n-------显示缓冲区中当前行到第n行
List * last-------L * last-------显示缓冲区中当前行到最后一行
List last-------L last-------显示缓冲区中最后一行
Run-------R-------显示并执行当前缓冲区的命令,并使缓冲区的最后一行成为当前行
/-------无-------执行当前缓冲区的命令,不显示缓冲区命令
行号-------无-------设置缓冲区的某一行为当前行
      Oracle的sql*plus是与oracle进行交互的客户端工具。在sql*plus中,可以运行sql*plus命令与sql*plus语句。
  我们通常所说的DML、DDL、DCL语句都是sql*plus语句,它们执行完后,都可以保存在一个被称为sql buffer的内存区域中,并且只能保存一条最近执行的sql语句,我们可以对保存在sql buffer中的sql 语句进行修改,然后再次执行,sql*plus一般都与数据库打交道。
  除了sql*plus语句,在sql*plus中执行的其它语句我们称之为sql*plus命令。它们执行完后,不保存在sql buffer的内存区域中,它们一般用来对输出的结果进行格式化显示,以便于制作报表。
  下面就介绍一下一些常用的sql*plus命令:

有以下几种启动方式:
1、startup nomount
  非安装启动,这种方式启动下可执行:重建控制文件、重建数据库

  读取init.ora文件,启动instance,即启动SGA和后台进程,这种启动只需要init.ora文件。
 

2、startup mount dbname
  安装启动,这种方式启动下可执行:
  数据库日志归档、
  数据库介质恢复、
  使数据文件联机或脱机,
  重新定位数据文件、重做日志文件。

  执行“nomount”,然后打开控制文件,确认数据文件和联机日志文件的位置,
  但此时不对数据文件和日志文件进行校验检查。


3、startup open dbname
  先执行“nomount”,然后执行“mount”,再打开包括Redo log文件在内的所有数据库文件,
  这种方式下可访问数据库中的数据。


4、startup,等于以下三个命令
  startup nomount
  alter database mount
  alter database open


5、startup restrict
  约束方式启动
  这种方式能够启动数据库,但只允许具有一定特权的用户访问
  非特权用户访问时,会出现以下提示:
  ERROR:
  ORA-01035: ORACLE 只允许具有 RESTRICTED SESSION 权限的用户使用


6、startup force
  强制启动方式
  当不能关闭数据库时,可以用startup force来完成数据库的关闭
  先关闭数据库,再执行正常启动数据库命令


7、startup pfile=参数文件名
  带初始化参数文件的启动方式
  先读取参数文件,再按参数文件中的设置启动数据库
  例:startup pfile=E:\Oracle\admin\oradb\pfile\init.ora


8、startup EXCLUSIVE
============================================
有三种启动方式:
1、shutdown normal
  正常方式关闭数据库。


2、shutdown immediate
  立即方式关闭数据库。
  在SVRMGRL中执行shutdown immediate,数据库并不立即关闭,
  而是在Oracle执行某些清除工作后才关闭(终止会话、释放会话资源),
  当使用shutdown不能关闭数据库时,shutdown immediate可以完成数据库关闭的操作。


3、shutdown abort
  直接关闭数据库,正在访问数据库的会话会被突然终止,
  如果数据库中有大量操作正在执行,这时执行shutdown abort后,重新启动数据库需要很长时间。
分页: 33/57 第一页 上页 28 29 30 31 32 33 34 35 36 37 下页 最后页 [ 显示模式: 摘要 | 列表 ]