ORA-00059的异常处理
今天在一数据库中新建一表空间时抛如下异常:ORA-00059: maximum number of DB_FILES exceeded赶紧做了下查询,见如下查询:C:Documents and Settingsshiyihai>sqlplus /nologSQL*Plus: Release 9.2.0.6.0 - Production on 星期五 1月 26 16:34:40 2007Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.SQL> conn / as sysdbaERROR:ORA-12560: TNS: 协议适配器错误SQL> host set ORACLE_SID=PORTALSQL> conn / as sysdbaERROR:ORA-12560: TNS: 协议适配器错误SQL> host net start oracleserviceportalOra
用户密码研究
同事请求我为她自己用的测试用户改登陆密码,这种小case都help我,显然她对数据库的知识比较欠缺.于是有了下面的操作案例:SQL> conn / as sysdbaConnected.SQL> alter user shiyihai identified by abc;User altered.SQL> conn shiyihai/abcConnected.SQL> conn / as sysdbaConnected.SQL> alter user shiyihai identified by shiyihai;User altered.SQL> conn shiyihai/shiyihaiConnected.SQL> conn / as sysdbaConnected.SQL> select username,password from dba_users where username='SHIYIHAI';USERNAME
要学会理财
最近在网上看到的一段话,摘录如下:上班不一定要看工资。工作个5、6年应该差不多每月1W了(税前)就很不错了,关键是要有自己的发展。06年股票上涨130%。将房子抵押给银行贷款出50W,然后搞基金一年下来可以挣65W。要是做DBA,每天工作2小时,余下的时间搞搞基金,看看商铺,自己招2个小工开个店子,算下来06年也可以有个近80W收益,比起12W年薪应该要爽一点点。总之一句话,好的公司好的工作也只是打工,重要的是自己要多思考,多看看社会上的机会。钱生钱才是硬道理。你不理财,财就不会理你。。。。。 如果你的主要收入来源是固定的
rman备份的shell脚本(例子)
#Set oracle path#source $HOME/.keychain/${HOSTNAME}-shexport SSH_AUTH_SOCK echo $SSH_AUTH_SOCK export PATHunset USERNAMEexport LD_ASSUME_KERNEL=2.4.1export ORACLE_BASE=/opt/oracle9iexport ORACLE_HOME=$ORACLE_BASE/product/9.2.0export ORACLE_SID=back1export ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/dataexport LD_LIBRARY_PATH=$ORACLE_HOME/lib#echo "-----------数据库环境设置完成-----------"# Set shell search pathsexport PATH=$ORACLE_HOME/bin:$PATHexport NLS_LANG=american_america.ZHS16GBKexp
oracle中copy from的用法
用法: COPY FROM <db> TO <db> <opt> <table> {(<cols>)} USING <sel><db> : 数据库字符串, 例如: scott/tiger@d: chicago-mktg<opt> : 下列关键字之一: APPEND, CREATE, INSERT 或 REPLACE<table>: 目标表名称<cols> : 用逗号分隔的目标列别名列表<sel> : 任何有效的 SQL SELECT 语句缺少的 FROM 或 TO 子句使用当前的 SQL*Plus 连接如下举例子:SQL> copy from sd168sysp/sd168sysp@db81 to shiyihai/shiyihai@db80 create city_copy using select * from ci
大对象(blob)表或分区表的exp和imp
很多同事找我解决exp/imp时的问题,即对于大对象表或分区表的exp和imp,在imp时经常遇到ORA-00959: 表空间'XXX'不存在可先手工建立大对象表或分区表的表结构,将大对象表建在目标表空间上或把所有分区放在一个表空间中,imp的时候指定ignore=y即可[@more@]
hp unix中nfile参数的修改案例(rac模式的数据库)
nfile是HP UX的核心参数,目前设置为63498,通过sar -v 2 5发现目前值很接近nfile的最大值,很容易导致宕机,急需修改该参数,修改后需要重起数据库主机。目前数据库是RAC方式,可采用修改一台主机参数,另外一台主机承载业务的方式进行,正常情况下对业务没有影响。1准备工作分别对两台数据库主机做全备份。Makerecovery -Av 将主机系统备份到小磁带中2 操作步骤a.关闭 TEST_RAC01上的数据库监听和Oracle 数据库 lsnrctl stop 停止数据库监听sqlplus '/ as sysdba'shutdown immediate 停止数据库b、停用数据库卷组并关闭群集 在TES
几个参数配置的计算公式
sessions = 1.1 * processes + 5 transactions = 1.1 * sessionsdml_locks = 4 * transactions enqueue_resources > dml_locks + 20[@more@]
买房要远离10大建筑
“风水”在南方,特别是香港广东地区说得比较多,北京这几年人们也开始相信了,特别是在买房的时候,一下子几十万上百万的花出去,房奴也当了,还不落一个心理踏实舒服。风水是个“很玄”的东西,里面肯定有些科学的依据,太深入的我们也领会不来,学习操作也难点。您在买房的时候一定要注意了,靠近这10类建筑的房子最好别买或者慎重选择,要不省得您住进去了,血光之灾等不良的阴影时时笼罩心头,想退房又退不得,还得和开发商物业打官司,还不够头疼的呢!一、医院:如果居住的地方在医院附近,在风水上是不好的。 原因如下:1、医院有
挑房子 选楼层 看风水 这些事自己就能搞定
但凡中国人都很重视居所,若是经济能力许可,必定要购房置业,认为只有这样才能安居乐业,才可生根立命,否则便会有漂泊无依的失落感。 每个人都希望选择一所风水好的房子来居住,但却不知如何选择?下面向各位介绍挑选住宅时应考虑的一些风水问题,供参考。 (一)风宜柔和 最理想的居住环境应有柔和的轻风徐徐吹来。清风送爽,才符合风水之道。倘若发觉房屋附近风大,十分急劲,那便不宜选购了,因为即使那房屋真的有旺气凝聚,也会被疾风吹散。风水学最重视"藏风聚气",但风势强劲的地方肯定不会是旺地!需要注意的是,风过大
案例:利用shell脚本spool数据到一指定文
!/usr/bin/sh################################ 1.define #################################----------1.1_set param-------##数据库用户名ORA_USER=xxx#数据库用户密码ORA_PASS=xxx#登陆本地命名(也即@后的连接串)ORA_LOCAL_NAME=db80#存放导出数据的本地路径DataPath='/home/oracle/'echo "======================================================================="echo "database username: ${ORA_USER}"echo "the path of the file: ${DataPath}"##############################
知道10条以上你就是知识最渊博的人了
01 : 人类全身上下,最强韧有力的肌肉,竟是舌头。 02 : 张开眼睛打喷嚏是不可能的。 03 : 憋气自杀也是不可能成功的。 04 : 每一次你舔一张邮票的背胶,你就吸收了十分之一卡路里。 05 : 右撇子平均比左撇子多活九年。 06 : 鳄鱼无法伸出它们的舌头。 07 : 北极熊都是左撇子。 08 : 某些狮子可以一天之内交配50次以上。果真是万兽之王呀09 : 鸵鸟的眼睛比脑袋大;而海星至今还没演化出脑。 10 : 跳蚤可以跳过它们350倍身长的距离,相当于一个人跳过一个美式足球场。 11 : 一只被摘掉头的蟑螂可以存活9天,9天后死亡的原因则是过度饥饿? 所
最近在给学员授课时提到的一些细节问题归纳
1、数据库打开时的备份在表空间层完成,要完成整个数据库的打开备份,数据库中的所有表空间均需完成上述过程,数据库打开时的物理备份也被称为热备份或非一致性备份,数据库关闭时的物理备份也被称为冷备份或一致性备份。2、如果数据库在备份前已经正常关闭,那么在线日志文件对于完全恢复数据库就不是必须的。3、for a multifile tablespace,when one datafile is taken offline,only data contained inside that datafile cannot be accessed.the tablespace still remains available.4、need to restore archived redo log files to a
案例:oracle中case when的用法
例子1、最近支持同事做报表,特提供数据源的sql脚本,当中就用到了case when。主要的视图结构如下:create or replace view v_card_channel_count5( icpcode,sumarea,count1201,count1202,count1203,count1204,count1205, count1206,count1207,count1208,count1209,count1210,count1211,count1212, count1213,count1214,count1215,count1216,count1217,count1218,count1219,count1220, count1221,count1222,count1223,count1224,count1225,count1226,count1227,count1228, count1229,count1230
案例:有关job的管理
查询当前系统正在运行的job,可通过数据字典dba_jobs_running来获取,也可采用如下的语句来获取:select /*+ RULE */ v.SID, v.id2 JOB, j.FAILURES, LAST_DATE, substr(to_char(last_date,'HH24:MI:SS'),1,8) LAST_SEC, THIS_DATE, substr(to_char(this_date,'HH24:MI:SS'),1,8) THIS_SEC, j.field1 INSTANCEfrom sys.job$ j, v$lock vwhere v.type = 'JQ' and j.job (+)= v.id2;几点注意的地方:1、查询dba_jobs_running会一直挂着不动,说明有bug出现;2、对job进行remove后要commit才行(比较怪异);3、可对job进行broken;
v$sqlarea,v$sql,v$sqltext三个视图的区别
V$SQL:Child cursor details for V$SQLAREAV$SQLAREA:Shared pool details for statements/anonymous blocksV$SQLTEXT:SQL text of statements in the shared poolv$sql的每一行表示的是每一个sql语句的一个版本,而v$sqlarea存放的是相同语句不同版本一个group by汇总。v$sql与v$sqlarea的源都是X$KGLCURSORv$sql及v$sqlarea存放着统计信息在调优时使用居多,但其sql是不全的,如果想获得完整的sql需使用v$sqltext。v$sqltext中存储的是完整的SQL,SQL被分割。SQL> desc v$sqltextName Type Nullable Default Comme
案例4:不完全恢复
SQL> alter system switch logfile;系统已更改。SQL> alter system switch logfile;系统已更改。SQL> select * from test; A---------- 1SQL> select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') from dual;TO_CHAR(SYSDATE,'YY-------------------2006-12-16 21:06:13SQL> drop table test;表已丢弃。SQL> shutdown immediate;数据库已经关闭。已经卸载数据库。ORACLE 例程已经关闭。SQL> startup;ORACLE 例程已经启动。Total System Global Area 59842188 bytesFixed Size 454
案例3:基于cancel的不完全恢复
SQL> alter system switch logfile;系统已更改。SQL> alter system switch logfile;系统已更改。SQL> select * from test; A---------- 1SQL> select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') from dual;TO_CHAR(SYSDATE,'YY-------------------2006-12-16 21:06:13SQL> drop table test;表已丢弃。SQL> shutdown immediate;数据库已经关闭。已经卸载数据库。ORACLE 例程已经关闭。SQL> startup;ORACLE 例程已经启动。Total System Global Area 59842188 bytesFixed Size 454
案例2:用cancel恢复redo的过程.
案例2:用cancel恢复redo的过程.SQL> insert into test values(2);已创建 1 行。SQL> commit;提交完成。SQL> shutdown immediate;数据库已经关闭。已经卸载数据库。ORACLE 例程已经关闭。rem 采用os命令删除所有的redo文件.SQL> startupORACLE 例程已经启动。Total System Global Area 59842188 bytesFixed Size 454284 bytesVariable Size 37748736 bytesDatabase Buffers 20971520 bytesRedo Buffers 667648 bytes数据库装载完毕。ORA-00313: 无法打开日志组 1
案例1:用命令清空日志组(非current)的恢复.
案例1:用命令清空日志组(非current)的恢复.SQL> create table test(a number(12));表已创建。SQL> insert into test values(1);已创建 1 行。SQL> shutdown immediate;ORA-01097: 无法在事务处理过程中关闭 - 首先提交或返回SQL> commit;提交完成。SQL> select * from v$log;GROUP# THREAD# SEQUENCE# BYTES MEMBERS ARC STATUS---------- ---------- ---------- ---------- ---------- --- ----------------FIRST_CHANGE# FIRST_TIME------------- ----------1 1 26 31457280 1 NO CURRENT196339 15-12月-062 1 24 314572