Linux 系统中的超级权限的控制
摘要: 超级用户是系统最高权限的拥有者,是系统管理唯一的胜任者;由于权限的超级并且达到无所不能的地步,如果管理不擅,必会对系统安全造成威胁。 除了尽可能的避免用直接用超级用户root登录系统外,我们还要学会在普通用户下临时切换到超级用户root下完成必要的系统管理工作;从用户管理和系统安全角度来说是极有意义的;[@more@]本文对普通用户切换到root用户的实现命令 su 和sudo 做了实例解说;希望能为初学者学习带来方便;目录索引一、对超级用户和普通用户的理解;1、什么是超级用户;2、理解 UID 和用户的对应关系3、普通用户和
9i新特性之Flashback Query的应用---针对DML误操作的恢复
在9i之前,如果出现DML的误操作,只能通过备份来完成基于时间点的恢复,9i给提供了一个新的特性Flashback Query,我们可以应用此特性,可以很方便的实现恢复。但是要注意的是,Flashback Query 仅仅是一个查询的机制,不会真正的UNDO任何数据。[@more@]1. 什么是Flashback Query?利用Oracle 多版本读一致的特性通过undo 来提供所需的前镜像中的数据。通过这个功能,可以看到历史数据,甚至用历史数据来修复误操作引起的错误。可以通过指定时间或者SCN 来检索需要的数据。{Uses Oracle's multiversion read-consistency capabilities to
Linux 用户(user)和用户组(group)管理概述
摘要:本文主要讲述在Linux 系统中用户(user)和用户组(group)管理相应的概念;用户(user)和用户组(group)相关命令的列举;其中也对单用户多任务,多用户多任务也做以解说,本文应该说是比较基础的文档;[@more@]+++++++++++++++++++++++++++++++++++++++++++++++++++++++++正文+++++++++++++++++++++++++++++++++++++++++++++++++++++++++一、理解Linux的单用户多任务,多用户多任务概念;Linux 是一个多用户、多任务的操作系统;我们应该了解单用户多任务和多用户多任务的概念;1、Linux 的单用户多任务;单用户多任务;比如我们以beinan
Linux改变文件或目录的访问权限命令
Linux系统中的每个文件和目录都有访问许可权限,用它来确定谁可以通过何种方式对文件和目录进行访问和操作。[@more@] 文件或目录的访问权限分为只读,只写和可执行三种。以文件为例,只读权限表示只允许读其内容,而禁止对其做任何的更改操作。可执行权限表示允许将该文件作为一个程序执行。文件被创建时,文件所有者自动拥有对该文件的读、写和可执行权限,以便于对文件的阅读和修改。用户也可根据需要把访问权限设置为需要的任何组合。 有三种不同类型的用户可对文件或目录进行访问:文件所有者,同组用户、其他用户。所有者一般
获取汉字串的拼音助记码
CREATE OR REPLACE FUNCTION FUN_SPELLCODE(PRM_SPELL IN VARCHAR2) RETURN VARCHAR2[@more@] /*-------------------------------------------------------------------------- || 业务环节 : 公共类_获取汉字串的拼音助记码 || 函数名称 fun_SpellCode || 功能描述 :拼音码转换函数,根据传入字符串,产生不超过20为的拼音助记码 || 使用场合 : || 参数描述 :标识 名称 输入输出 数据类型 || --------------------------------------------------------------- ||
NOCOPY
pl/sql中对out,in out参数使用的?[@more@]默认形参会复制一份实参的副本,然后在内部传递,修改等,发生异常,不会赋值给实参,控制权交还调用环境,而实参值不变,还是调用前的值。而使用了nocopy后,形参将获得一个指向实参的指针,然后在内部传递,赋值都直接修改实参了,此时如果异常发生,控制权交还调用环境,但是实参已经被修改了。无法还原成调用前的值。 对参数I N使用nocopy将会产生编译错误,这是因为参数I N总是按引用传递.NOCOPY的主要优点是可以提高程序的效率。当我们传递大型pl/sql表时,其优越性特别显著.使用NOCOPY的
Oracle9i的简化SQL语法
Oracle对Oracle9i SQL 做了一些很重要的改进,包括一些令人兴奋的新特点,支持1:5的数量级和ISO99中的SQL标准。作为Oracle的补充,它包括以下新的TABLE JOIN的句法结构:[@more@]CROSS IN——它在两个表格中创建了一个卡迪尔列,就象是在Oracle8i中没写WHERE时那样。NATURAL JOIN——这是一个很有用的Oracle9i的句法,它通过从WHERE子句中移动连接标准来改善SQL的稳定性 USING子句——它可以通过名字来具体指定连接 ON子句——这个句法允许在两个表格中为连接具体指定栏目的名头 LEFT OUTER JOIN——它返回表格中左边的行和右边的数值,
令人兴奋的FORALL和BULK COLLECT功能
在我所撰写的关于Oracle数据库10g中PL/SQL增加功能的第二篇文章中,我将探讨使用带有非连续驱动索引的FORALL语句这一新功能。[@more@]在我所撰写的关于Oracle数据库10g中PL/SQL增加功能的第二篇文章中,我将探讨使用带有非连续驱动索引的FORALL语句这一新功能。这初听起来也许相当深奥,但实际上它是对FORALL语句的一个关键性改进,它可大大简化代码,并且对于那些要在PL/SQL程序中更新很多行数据的程序来说,它可显著提高其性能。我将首先回顾FORALL的功能,然后分析Oracle数据库10g对非连续驱动索引提供支持所产生的影响。用FORALL来增强
基于Oracle的高性能动态SQL程序开发
摘要:对动态SQL的程序开发进行了总结,并结合笔者实际开发经验给出若干开发技巧。[@more@]关键词:动态SQL,PL/SQL,高性能 1. 静态SQLSQL与动态SQL Oracle编译PL/SQL程序块分为两个种:其一为前期联编(early binding),即SQL语句在程序编译期间就已经确定,大多数的编译情况属于这种类型;另外一种是后期联编(late binding),即SQL语句只有在运行阶段才能建立,例如当查询条件为用户输入时,那么Oracle的SQL引擎就无法在编译期对该程序语句进行确定,只能在用户输入一定的查询条件后才能提交给SQL引擎进行处理。通常,静态SQ
Oracle 分析函数详解
Oracle 分析函数使用介绍分析函数是oracle816引入的一个全新的概念,为我们分析数据提供了一种简单高效的处理方式.在分析函数出现以前,我们必须使用自联查询,子查询或者内联视图,甚至复杂的存储过程实现的语句,现在只要一条简单的sql语句就可以实现了,而且在执行效率方面也有相当大的提高.下面我将针对分析函数做一些具体的说明.今天我主要给大家介绍一下以下几个函数的使用方法[@more@]1、自动汇总函数rollup,cube,2、rank 函数, rank,dense_rank,row_number3、lag,lead函数4、sum,avg,的移动增加,移动平均数5、ratio_to_report报表处理函
TimesTen中配置只读Cache Group to Oracle的基本步骤
一、准备工作1)软件安装安装TimesTen安装Oracle client[@more@]一、准备工作1)软件安装安装TimesTen安装Oracle client2)在Oracle中创建一个让TimesTen访问的帐户 SQL> conn /as sysdba; 已连接。 SQL> create user tt_toms identified by tt_toms; 用户已创建。 SQL> grant connect,resource,create any trigger ,create session to tt_toms; 授权成功。 SQL> 3)create 一个dsn 我在这里创建了一个system dsn,命名为tt_study4)create 一个帐户在dsn上 E:>ttisql tt_study Copyright (c) 1996-2006, Oracle. All
Oralce内存数据库TimesTen简介
TimesTen 除具有一般商业内存数据库的特点外,还具有同Oracle数据库绑定的功能。 [@more@]1. 内存数据库简介 在重研所多个项目中都有内存数据库的应用,但重研所应用的内存数据库有多个版本,没有统一的版本,目前以FastDb占主流。普遍存在以下问题,访问方式不符合SQL92规范,不支持客户服务器模式,没有完整的API,可靠性不高,和数据库之间的数据互操作困难等等。 近期和Oracle技术工程师作了一次关于TimesTen,Oracle10G,Oracle9i的交流。在交流中,Oracle的工程师比较详细地介绍了Oracle的内存数据库TimesTen。因此在与Oracle技术工
sql调优
Oracle的SQL调优是一个复杂的主题,不过有一些基本的规则是每个Oracle DBA都需要跟从的,这些规则可以改善他们系统的性能。SQL调优的目标是简单的:[@more@] Oracle的SQL调优是一个复杂的主题,不过有一些基本的规则是每个Oracle DBA都需要跟从的,这些规则可以改善他们系统的性能。SQL调优的目标是简单的:1.消除不必要的大表全表搜索2.确保最优的索引使用 :对于改善查询的速度,这是特别重要的。有时Oracle可以选择多个索引来进行查询,调优专家必须检查每个索引并且确保Oracle使用正确的索引。它还包括bitmap和基于函
ORACLE性能调优原则
任何事情都有它的源头,要解决问题,也得从源头开始,影响ORACLE性能的源头非常多,主要包括如下方面:[@more@] Ø 数据库的硬件配置:CPU、内存、网络条件1. CPU:在任何机器中CPU的数据处理能力往往是衡量计算机性能的一个标志,并且ORACLE是一个提供并行能力的数据库系统,在CPU方面的要求就更高了,如果运行队列数目超过了CPU处理的数目,性能就会下降,我们要解决的问题就是要适当增加CPU的数量了,当然我们还可以将需要许多资源的进程KILL掉;2. 内存:衡量机器性能的另外一个指标就是内存的多少了,
db_name,db_domain, global_name, service_name的区別
Db_name:对一个数据库(Oracle database)的唯一标识,该数据库为第一章讲到的Oracle database。[@more@]这种表示对于单个数据库是足够的,但是随着由多个数据库构成的分布式数据库的普及,这种命令数据库的方法给数据库的管理造成一定的负担,因为各个数据库的名字可能一样,造成管理上的混乱。为了解决这种情况,引入了Db_domain参数,这样在数据库的标识是由Db_name和Db_domain两个参数共同决定的,避免了因为数据库重名而造成管理上的混乱。这类似于互连网上的机器名的管理。我们将Db_name和Db_domain两个参数用’.’连接起来,表示一
Oracle专家调优秘密
前言 在过去的十年中,Oracle已经成为世界上最专业的数据库之一。对于IT专家来说,就是要确保利用Oracle的强大特性来提高他们公司的生产力。[@more@]最有效的方法之一是通过Oracle调优。它有大量的调整参数和技术来改进你的Oracle数据库的性能。 Oracle调优是一个复杂的主题。关于调优可以写整整一本书,不过,为了改善Oracle数据库的性能,有一些基本的概念是每个Oracle DBA都应该遵从的。 在这篇简介中,我们将简要地介绍以下的Oracle主题: --外部调整:我们应该记住Oracle并不是单独运行的。因此我们将查看一下通过调整Or
Oracle With 语法 示例
以下相当于一句独立的sql,可以在sql window 中独立运行:With ab As (Select * From scott.dept),ba As (Select * From scott.emp)Select ab.*,ba.*From ab,baWhere ab.deptno = ba.deptno[@more@]另外,游标示例如下:BeginFor iLoop In (With ab As (Select * From scott.dept),ba As (Select * From scott.emp)Select ab.*From ab,baWhere ab.deptno = ba.deptno) Loopdbms_output.put_line('>' || iLoop.Deptno || iLoop.Dname);End Loop;End;DeclareCursor cur_main IsWith ab As (Select * From scott.dept),ba As (Select * Fr
采用Oracle的dbms_obfuscation_toolkit的加密和解密详解
Oracle9i Supplied PL/SQL Packages and Types Reference. 加密(encrypt)解密(decrypt)是采用 Oracle DBMS_OBFUSCATION_TOOLKIT package.[@more@]利用这个包,我们可以对数据进行DES,Triple DES或者MD5加密.DESGETKEY -- 产生密钥,用于DES算法 DES3GETKEY -- 产生密钥,用于Triple DES算法 DESENCRYPT -- 用DES算法加密数据DESDECRYPT -- 用DES算法解密数据DES3ENCRYPT -- 用Triple DES算法加密数据DES3DECRYPT -- 用DES算法解密数据MD5 -- 用MD5算法加密数据Triple DES (3DES) is a far stronger cipher than DES; the resulting ciphertex
ORACLE中用一条SQL实现其它进制到十进制的转换
-----二进制转换十进制-----------------select sum(data1)from (select substr('1101', rownum, 1) * power(2, length('1101') - rownum) data1from dualconnect by rownum <= length('1101'))[@more@]-----八进制转换十进制-----------------select sum(data1)from (select substr('1101', rownum, 1) * power(8, length('1101') - rownum) data1from dualconnect by rownum <= length('1101'))----十六进制转换十进制-----------------select sum(data1)from (select (CASE upper(substr('2D', rownum, 1)) WHEN 'A' THEN '1
Oracle里时间的应用
1、转换函数与date操作关系最大的就是两个转换函数:to_date(),to_char()to_date() 作用将字符类型按一定格式转化为日期类型:具体用法:to_date('2004-11-27','yyyy-mm-dd'),前者为字符串,后者为转换日期格式,注意,前后两者要以一对应。 [@more@]如;to_date('2004-11-27 13:34:43', 'yyyy-mm-dd hh24:mi:ss') 将得到具体的时间多种日期格式:YYYY:四位表示的年份 YYY,YY,Y:年份的最后三位、两位或一位,缺省为当前世纪 MM:01~12的月份编号 MONTH:九个字符表示的月份,右边用空格填补 MON:三位字符的月份缩写 WW:一年中的星期 D