ORA-01849
ORA-01849错误的出现主要需注意HH与HH24的区别,如下:错误用法SELECT TO_DATE('2011-12-20 20:00:00','YYYY-MM-DD HH:MI:SS') TIME FROM DUAL;正确用法SELECT TO_DATE('2011-12-20 11:00:00','YYYY-MM-DD HH:MI:SS') TIME FROM DUAL;TIME------------------2011-12-20 11:00:00SELECT TO_DATE('2011-12-20 20:00:00','YYYY-MM-DD HH24:MI:SS') TIME FROM DUAL;TIME------------------2011-12-20 20:00:00[@more@]
通过外部表查看alert.log的内容
查询语句如下:DECLARE PATH_BDUMP VARCHAR2(4000); NAME_ALERT VARCHAR2(4000); INS_NAME VARCHAR2(200);BEGIN SELECT VALUE INTO PATH_BDUMP FROM SYS.V_$PARAMETER WHERE NAME = 'BACKGROUND_DUMP_DEST'; SELECT 'ALERT_' || VALUE || '.LOG' INTO NAME_ALERT FROM SYS.V_$PARAMETER WHERE NAME = 'INSTANCE_NAME'; SELECT VALUE INTO INS_NAME FROM SYS.V_$PARAMETER WHERE NAME = 'INSTANCE_NUMBER'; IF INS_NAME = '0' THEN INS_NAME := ''; END IF; EXECUTE IMMEDIATE 'CREATE OR
快速查看表空间使用情况
查询语句如下SELECT NVL(B.TABLESPACE_NAME, NVL(A.TABLESPACE_NAME, 'UNKOWN')) NAME, KBYTES_ALLOC KBYTES, KBYTES_ALLOC - NVL(KBYTES_FREE, 0) USED, NVL(KBYTES_FREE, 0) FREE ((KBYTES_ALLOC - NVL(KBYTES_FREE, 0)) / KBYTES_ALLOC) * 100 PCT_USED, NVL(LARGEST, 0) LARGEST FROM (SELECT SUM(BYTES) / 1024 KBYTES_FREE, MAX(BYTES) / 1024 LARGEST, TABLESPACE_NAME FROM SYS.DBA_FREE_SPACE GROUP BY TABLESPACE_NAME) A, (SE
查询数据缓冲区的命中率
该查询的返回结果如果非常接近100%,则表明数据缓冲区当前设置的空间足够使用,如果返回的数据低于95%的话,那么DBA就需要注意了。你有可能需要考虑是否加大分配数据缓冲区的内存空间,或者,调整你的SQL语句。 SELECT 1 - (SUM(DECODE(NAME, 'physical reads', VALUE, 0)) / (SUM(DECODE(NAME, 'db block gets', VALUE, 0)) + (SUM(DECODE(NAME, 'consistent gets', VALUE, 0))))) "BUFFER HIT RATIO" FROM V$SYSSTAT;[@more@]
Oracle角色权限:查询语句
关于权限、角色的查询[@more@]①查询某用户拥有的角色SELECT GRANTEE,GRANTED_ROLE ,DEFAULT_ROLE FROM DBA_ROLE_PRIVS WHERE GRANTEE = '用户名' ;或者用户自身登陆数据库在USER_ROLE_PRIVS视图中查询SELECT * FROM USER_ROLE_PRIVS ;②查询用户所拥有的权限用户自身登陆数据库SELECT * FROM USER_SYS_PRIVS或SELECT * FROM DBA_SYS_PRIVS WHERE ....③查询角色所包含的系统权限SELECT * FROM ROLE_SYS_PRIVS WHERE ROLE='角色名';④查询角色中包含的角色权限SELECT * FROM ROLE_ROLE_PRIVS ;⑤查询所有的系统权限SELECT * FROM SYSTEM_P
由ROWID得出对象号、数据文件号、块号、行号
方法①,使用包DBMS_ROWID获取 SELECT ROWID, DBMS_ROWID.ROWID_OBJECT(ROWID) OBJECT_ID, DBMS_ROWID.ROWID_RELATIVE_FNO(ROWID) FILE_ID, DBMS_ROWID.ROWID_BLOCK_NUMBER(ROWID) BLOCK_ID, DBMS_ROWID.ROWID_ROW_NUMBER(ROWID) NUM, T.* FROM SCOTT.EMP T方法②,创建函数,用函数获取 CREATE OR REPLACE FUNCTION GET_ROWID(L_ROWID IN VARCHAR2) RETURN VARCHAR2 IS LS_MY_ROWID VARCHAR2(200); ROWID_TYPE NUMBER; OBJECT_NUMBER NUMBER; RELATIVE_FNO NUMBER; BLOCK_NUMBER NUMBER; ROW_NUM
2011年11月续
2011年11月28日 星期一①VB.NET中的函数可以返回使用表的主键值Public Function AddNoticeAlreadyRead(ByVal ent As Entity.Entity.EntNoticeAlreadyRead) As Integer Try strSQL = "INSERT INTO Tbl_NoticeAlreadyRead(NoticeId,NARAlreadyReadUser,NARAlreadyReadTime) VALUES(" + ent.NoticeId.ToString() + ",'" + ent.NARAlreadyReadUser + "','" + ent.NARAlredyReadTime + "'); SELECT @@IDENTITY" If Not CargoBookingDBConnect() Then End If Sqlcmd = New Sql
查找HWM的方法
/*在表的segment header里记录了一个值,叫高水位标记(High Water Mark,简称HWM)。HWM表示当前segment里使用的最后一个数据块的位置。当发生insert时,由于不断扩展数据块,因此会不断增加HWM的值。*/DECLARE L_TOTAL_BLOCKS NUMBER; --表示表里占用的数据块的总个数 L_TOTAL_BYTES NUMBER; L_UNUSED_BLOCKS NUMBER; L_UNUSED_BYTES NUMBER; L_LASTUSEDEXFILEID NUMBER; L_LAST_USED_EXTENT_BLOCK_ID NUMBER; --表里最后使用的EXTENT的起始数据块号 L_LAST_USED_BLO
Oracle视图:常用数据字典
1、DICT显示当前用户可访问的所有数据字典视图。2、DICT_COLUMNS显示数据字典视图每个列的作用。3、DUAL用于取得函数的返回值。[@more@]4、GLOBAL_NAME显示当前数据库的全名。5、IND显示当前用户所拥有的所有索引和索引统计信息。6、OBJ显示当前用户所用有的所有对象。7、SEQ显示当前用户所拥有的所有序列。8、SYN显示当前用户所拥有的同义词和同义词所对应的数据库对象名。9、TAB显示当前用户所拥有的表、视图和序列。
Oracle视图:常用动态性能视图
1、V$FIXED_TABLE作用:列出所有可用的动态性能视图和动态性能表。2、V$INSTANCE作用:用于取得当前例程的详细信息。3、V$SGA作用:显示SGA主要组成部分(共享池、数据高速缓存和重做日志缓冲区)的尺寸。[@more@]4、V$SGAINFO作用:用于取得SGA更详细的信息5、V$PARAMETER 作用:用于取得初始化参数的详细信息。6、V$VERSION作用:用于取得Oracle版本的详细信息。7、V$OPTION作用:用于显示已经安装的Oracl选项。TRUE表示该选项已经安装,FALSE表示该选项没有安装。8、V$SESSION作用:用于显示会话的详细信息。 SID 会话ID
由ODBC连通Oracle与SQL Server
/*---------------------------Author : lonionReference : article1,article2Date : 2011-10-30-------------------------------*/由ODBC连通Oracle与SQL Server1、在Oracle服务器上建立一个odbc数据源(系统DSN)。示例中建立的数据源为ODBC251。2、配置inithsodbc.ora在Oracle数据库的主目录下有一个inithsodbc.ora文件($ORACLE_HOMEhsadmin),复制一份并重命名为init<SID>.ora,放在该目录下。示例中使用的SID为HS251,即创建了一个initHS251.ora文件,该文件的内容如下:HS_FDS_CONNECT_INFO = ODBC251 --所建立的odbc数据源。
设置日志缓冲区(log buffer)
在设置日志缓冲区时,可以参考这个建议的公式来计算:1.5*(平均每个事务所产生的重做记录*每秒提交的事务数量)。总事务量SQL> SELECT A.VALUE AS TRANCOUNT FROM V$SYSSTAT A ,V$STATNAME B WHERE A.STATISTIC#=B.STATISTIC# AND B.NAME='user commits';系统总共运行的时间:SQL> SELECT TRUNC(SYSDATE-STARTUP_TIME)*24*60*60 AS SECONDS FROM V$INSTANCE;产生的所有重做记录大小SQL> SELECT VALUE AS REDOBLOCKS FROM V$SYSSTAT WHERE NAME='redo blocks written';日志缓冲区大小=1.5*(redoblocks/trancount)*(trancount/secon
Oracle视图:V$SYSSTAT
This view lists system statistics. To find the name of the statistic associated with each statistic number (STATISTIC#), query the V$STATNAME view.该视图列出了系统的统计信息,查询视图V$STATNAME来找到每个统计号(STATISTIC#)所对应的统计名称。[@more@]列名 列描述--------------- ------------------------------STATISTIC# 统计编号NAME 统计名 CLASS 统计类别 ·1 - User ·2 - Redo
Oracle视图:V$ROLLNAME
This view lists the names of all online rollback segments. It can only be accessed when the database is open.[@more@]列 列描述----- ---------------USN 回滚段编号NAME 回滚段名PS:V$TRANSACTION.XIDUSN=V$ROLLNAME 官网文档
下载附件代码(VB.NET)
存储附件的表LONION_FUJ,表结构如下:NAId ----->附件IDNAFileName ----->附件名NAFilePath ----->附件路径点击某个按钮或触发某个事件下载附件,代码如下:[@more@]Protected Sub ViewButton2_Click(ByVal sender As Object, ByVal e As System.EventArgs) Dim i As Integer = DataList1.EditItemIndex Dim label As Label = (CType(DataList1.Items(i).FindControl("m_id"), Label)) Dim strSQL As String = "SELECT * FROM LONION_FUJ WHERE NOTICEID = " + label.Text T
Oracle Data Guard:物理Standby配置(参考文档)
/*---------------Author : lonionReference : Here.Date : 2011-10-30Data Guard的物理备库的配置将以此文档为参考文档-----------------------------------------------*/Oracle 10g - Manually Create a Physical Standby Database Using Data Guard操作系统:Red Hat Enterprise Linux 5 Data Guard数据保护模式:最高性能(默认)配置Data Guard环境:主库● IP:192.168.1.100● 数据库SID:lonion● DB_NAME:lonion● DB_UNIQUE_NAME:PRIM● 数据库软件安装路径:/u01/app/oracle/product/10.2.0/db_1/备库● IP:192.168.1.105● 数据库
2011年11月
2011年11月18日 星期五①VB.NET中Pag_Load事件,关乎数据绑定If Not IsPostBack ThenDataBinds()End If2011年11月17日 星期四①首先ASP.NET中的DataList数据绑定控件。2011年11月16日 星期三①EXISTS与NOT EXISTS的使用,还得继续强化使用技巧。2011年11月15日 星期二①VB.NET中ViewState的使用2011年11月14日 星期一①Dim dr As DataRow ---今天要学习的。For Each dr In dt.RowsDim funwebkey As Integer = CType(dr("funwebkey"), Integer)Dim funcid As String = dr("funcid").ToString()Dim desp As String = dr
2011年10月
2011年10月20日 星期二 ~ 2011年11月01日 星期一完成VB程序.....2011年10月19日 星期一①DBA与SYSDBA的区别②orapwd创建密码文件orapwd: ·file:指定密钥文件名称和路径 ·password:SYS用户密码 ·entries:指定该数据库能够拥有SYSDBA权限的用户最大数。 ·force:如果文件存在是否覆盖。相关视图:V$PWFILE_USERS;需要注意Windows平台和Linux/UNIX平台密钥文件的命名规则并不相同:·Windows平台命名规则:PWD[SID].ORA·Linux/UNIX平台命名规则:orapw[sid]③视图V$PWFILE_USERS查询拥有SYSDBA权限的用户。201
2011年09月
2011年09月30日 星期五①对Oracle SQL Developer3.0移植第三方数据库到Oracle官方文档的翻译。移植测试。2011年09月29日 星期四①对Oracle SQL Developer3.0移植第三方数据库到Oracle官方文档的翻译。2011年09月28日 星期三①VB、复选框勾选触发某一事件时:对应复选框的属性AutoPostBack值应为True对应的事件为CheckedChanged②javascript中调用VB的函数参考 ---- CargoBookingWorldWeb.Change_password.aspx中的Imports AjaxPro<AjaxPro.AjaxMethod()> _Functio 函数名(...........) As Boolean③ 显示SQL的执行时间、执行计划SQL
2011年09月续
2011年09月25日 星期日①format=string文件路径和名称的格式串,其中的含义是:%c copy ID%p backup piece ID%s backup set ID%e log Sequence%h log thread ID%d database name%n database name(x填充到8个字符)%I DBID%f file ID%F DBID , day ,month ,year and sequence的复合格式%N tablespace name%t timestamp%M mh mm格式%Y year yyyy格式%u backup set+time(x填充到8个字符))%U %u_%p_%c②alter system switch logfile与alter system archive log current的区别http://wenku.baidu.com/view/2421e8244b35eefdc8d333f4.html2011年0