• SqLiter


    1、去重

    select *  from daydata where wtid||rectime in (select wtid||rectime from daydata group by wtid||rectime having count(wtid||rectime) > 1) and ctid not in

    (select min(ctid) from daydata group by wtid||rectime     having count(wtid||rectime)>1)

    (适用于postgre,其他数据库类似,总体思路:

    a、wtid||rectime是连接两个字段, 表示这俩个同时重复时算重复;ms sql 用wtid+rectime ;

    b、第一个子查询:select wtid||rectime from daydata group by wtid||rectime having count(wtid||rectime) > 1

         统计重复的记录的重复字段;

    c、select *  from daydata where wtid||rectime in (select wtid||rectime from daydata group by wtid||rectime having count(wtid||rectime) > 1)

    统计重复记录;

    d、select min(ctid) from daydata group by wtid||rectime     having count(wtid||rectime)>1

    取重复记录中的一条记录

    e、ctid是唯一字段,要么是主键要么就是每个数据库常用的行号字段: ms sql 用:ROW_NUMBER() over (order by id) oracle用rownumer()

     

    su 命令 功能:直接将身份变成其他用户。(需要其他用户的密码) 用法:          $ su [选项]... [-] [用户 [参数]...] 参数:

    -, -l, --login

    -l 后接用户名,单独的- 代表root,且使用 root 的环境变量。

    -c, --commmand=COMMAND

    仅进行一次命令,-c 后可直接加命令。

    -m, --preserve-environment

    使用目前的环境设定,而不重新读取新使用者的设定。

    -p

    同 -m

           --help

    显示此帮助信息并退出

           --version

    输出版本信息并退出

    用 exit 命令或快捷键[Ctrl+D]可返回原登录用户。
    例1:由 svyee 转变为 root 用户

    [svyee@localhost ~]$ su 口令:<= 输入 root 的密码 [root@localhost svyee]# # 没有使用 - 情况下,仍为原用户环境变量。
    [svyee@localhost ~]$ su - 口令:<= 输入 root 的密码 [root@localhost ~]#  # 加上参数 - 后,完全切换到了root用户的环境变量。

    高手推荐用su时,最好用 su - 。我是菜鸟,只知其然,暂不知其所以然。
    例2:由 svyee 转变为 test 用户

    [svyee@localhost ~]$ su -l test 口令:<= 输入 test 的密码 [test@localhost ~]$

    ------------------------------------------------------------------------------------------------------------------------------ 下面是 sudo 命令         可以说sudo命令补偿了它的一个致命缺陷,那就是任何一个想转为root用户的人都得掌握root用户的密码,我这样的菜鸟也知道这很不安全,俺的root密码跟银行卡密码一样呢,能让别人知道吗?!哈哈,开玩笑。菜鸟归菜鸟,俺不是笨鸟。
    功能:对于root授权的用户,可使用该命令临时切换到root用户环境下。           授权文件为 /etc/sudoers 文件,只要里面有你的大名,你就享有sudo特权。
    新装的系统,root只给他自己特权,下面先加上给svyee加上特权。
    菜鸟方法优先: #用上面的 su 命令换至 root 环境。

    [svyee@localhost ~]$ su - 口令:<= 输入 root 的密码 [root@localhost ~]# kwrite /etc/sudoers # 用KDE的KWrite来编辑文件,可以点鼠标,方便。

    在打开的sudoers文件中,找到下面的字样,添上最后一行。 # User privilege specification root       ALL=(ALL) ALL svyee      ALL=(ALL) ALL <= 添上这一行。
    点鼠标,保存退出。OK! svyee有特权了。
    高手方法: Ctrl + Alt + F1 在文本模式下以root身份登录,然后:

    [root@linux ~]# visudo

    或:

    [root@linux ~]# vi /etc/sudoers

    推荐用前者。 同样添加上一行。保存退出。 vi的具体操作,等俺学了再来总结。
    下面,回到 sudo 参数:

    -b

    在后台执行指令。

    -h

    显示帮助。

    -k

    结束密码的有效期限,也就是下次再执行sudo时便需要输入密码。

    -l

    列出目前用户可执行与无法执行的指令。

    -s<shell>

    执行指定的shell。

    -u<user>

    以指定的用户作为新的身份。若不加上此参数,则预设以root作为新的身份。

    -v

    延长密码有效期限5分钟。

    -V

    显示版本信息。

    例3:入侵禁区

    [svyee@localhost ~]$ sudo mkdir /good Password: <=输入svyee的密码即可。 # OK,成功建立目录good。 [svyee@localhost ~]$ sudo rmdir /good # 嘿嘿。删除成功,不用再输密码了。

    方便的是第一次使用sudo输入密码后,下一次就不用再输密码啦。 你看那Adobe Reader 搞什么鬼,只有root身份才能打开。有sudo就轻松啦:
    例4:运行特权软件

    [svyee@localhost ~]$ sudo acroread # 一会 Adobe Reader 就乖乖打开了。

    (上例更简便的方法见:昵称时代, alias 让 Linux 命令更简练
    例5:变为 root 环境

    [svyee@localhost ~]$ sudo -s Password: <=输入svyee的密码即可。 [root@localhost ~]#

    就到这吧。觉得肤浅?欢迎留下您的高见,俺菜鸟啊。

    作者:yaucyj 发表于2014/7/16 11:36:34 原文链接
    阅读:96 评论:0 查看评论
      [原]centos6.x查找文件安装目录

    有时候用yum 安装后找不到路径,可以使用以下两部:

    1、rpm -qa | grep XXX ;XXX是你要查找的文件名(支持模糊查找,不需要完整的文件名);

    2、根据查出来的包名

    rpm -ql 查出来的包名

    WebKit 是一个开源的浏览器内核引擎与之相对应的引擎有Gecko(Mozilla Firefox 等使用)和Trident(也称MSHTML,IE 使用)。同时WebKit 也是苹果Mac OS X 系统引擎框架版本的名称,主要用于Safari,Dashboard,Mail和其他一些Mac OS X 程序。WebKit 前身是 KDE 小组的 KHTML,WebKit 所包含的 WebCore 排版引擎和 JSCore 引擎来自于 KDE 的 KHTML 和 KJS,当年苹果比较了 Gecko 和 KHTML 后,仍然选择了后者,就因为它拥有清晰的源码结构、极快的渲染速度。Apple将 KHTML 发扬光大,推出了装备 KHTML 改进型 WebKit 引擎的浏览器 Safari。

          WebKit是开源的Web浏览器引擎,苹果的Safari、谷歌的Chrome浏览器都是基于这个框架来开发的。WebKit 还支持移动设备和手机,包括iPhone和Android手机都是使用WebKit做为浏览器的核心。

      WebKit 是一个开源项目,其起源可追溯到 K Desktop Environment (KDE)。WebKit 项目催生了面向移动设备的现代 Web 应用程序。虽然设备本身的能力和形态因素都相当重要,但移动用户最热衷的仍然是内容。如果移动用户可用的内容只是 Internet 用户可用内容的一个很小的子集,那么用户体验充其量也只能划分为二等。

      WebKit 还应用在了桌面的 Safari 浏览器内,该浏览器是 Mac OS X 平台默认的浏览器。不管我们讨论的是桌面版本还是 iPhone 或 Android 上的浏览器引擎,WebKit 均优先支持 HTML 和 CSS 特性。实际上,WebKit 还支持尚未被其他浏览器采纳的一些 CSS 样式 — 这些特性正在得到 HTML5 规范的考虑。

      HTML5 规范是一个技术草案集,涵盖了各种基于浏览器的技术,包括客户端 SQL 存储、转变、转型、转换等。HTML5 的出现已经有些时间了,虽然尚未完成,但是一旦其特性集因主要浏览器平台支持的加入而逐渐稳定后,Web 应用程序的简陋开端将成为永久的记忆。Web 应用程序开发将成为主导 — 并且不只是在传统的桌面浏览器空间,还将在移动领域。移动将一跃成为首要考虑,而不再是后备之选。

    内核引擎

     

     WebKit 引擎比 Gecko 引擎更受程序员欢迎的原因,除了其引擎的高效稳定,兼容性好外,其源码结构清晰,易于维护,是一个重要的原因。而 Gecko 的可维护性就差多了。   现在浏览器的内核引擎,基本上是四分天下:   Trident: IE 以Trident 作为内核引擎;   Gecko: Firefox 是基于 Gecko 开发;   WebKit: Safari, Google Chrome,搜狗浏览器 基于 Webkit 开发。   Presto: Opera的内核,但由于市场选择问题,主要应用在手机平台--Opera mini   WebKit 内核在手机上的应用十分广泛,例如 Google 的手机 Gphone、 Apple 的 iPhone, Nokia’s Series 60 browser 等所使用的 Browser 内核引擎,都是基于 WebKit。
    应用平台
      在应用于Mac Os上的Safari之后,Webkit很快被广泛地移植到其他系统平台:   iPhone OS:   2007年6月29日,iPhone上市,WebKit进入iPhone OS平台,而且立即成为iPhone OS平台独一无二的排版引擎。   Android:   Google 开发的手机操作系统Android中内置的浏览器也是采用的WebKit引擎。   Nokia S60平台:   诺基亚公司将WebKit移植到Symbian S60操作系统中,并开发了基于Webkit的手机浏览器“Web browser for S60”,广泛用于诺基亚、三星、LG等基于Symbian S60操作系统的手机中。   Web OS:   Palm 推出第一款基于WebKit的操作系统,Palm Pre是第一款基于该系统的手机产品。   Linux:   尽管WebKit的原型K内核是由Qt写成,但Linux下目前最受瞩目的WebKit项目却是Gnome领导的WebKit/Gtk+。随着奇趣科技于2008年6月被Nokia收购,Qt方面也加快了WebKit的“回归”进程。   Midori,Google Chrome,GNOME的Epiphany、KDE的Konqueror,Arora是现在Linux系统下主要的Webkit内核浏览器。   Windows:   Webkit内核在Windows上发展最晚,Safari(for Windows),Midori,Google chrome,具有双核模式的傲游3和搜狗浏览器2(高速模式下使用Webkit核心)是最为常见的Webkit浏览器。2009年推出的safari和Chrome以及2010年推出的搜狗浏览器V2.0Beta和傲游3.0beta都使用的webkit引擎完全通过了acid3测试满分!   浏览器:   2008年9月2日,谷歌公司发布的第一个版本Google Chrome(中文名为谷歌浏览器)就采用了Webkit引擎。   2009年,广受关注的Google手机的自带的浏览器也是Webkit内核,加载网页速度比IE手机浏览器快了近一倍。   2010年1月24日,搜狗公司发布搜狗浏览器V2.0Beta,采用Webkit引擎,并支持与IE引擎互相切换。   2010年1月24日,傲游3.0beta发布。
    其他相关
      尽管Webkit内核是个非常好的网页解释机制,但是由于微软把IE捆绑在Windows里,导致许多网站都是按照IE来架设的很多网站不兼容Webkit内核,比如登录界面、网银等网页均不可使用Webkit内核。目前来讲,Webkit还不能取代IE内核

    bin = BINaries   
    /dev = DEVices 
    /etc = ETCetera 
    /lib = LIBrary    
    /proc = PROCesses    
    /sbin = Superuser BINaries    
    /tmp = TeMPorary    
    /usr = Unix Shared Resources    
    /var = VARiable ?    
    FIFO = First In, First Out    
    GRUB = GRand Unified Bootloader    
    IFS = Internal Field Seperators    
    LILO = LInux LOader    
    MySQL = My是最初作者女儿的名字,SQL = Structured Query Language    
    PHP = Personal Home Page Tools = PHP Hypertext Preprocessor    
    PS = Prompt String    
    Perl = "Pratical Extraction and Report Language" = "Pathologically Eclectic Rubbish Lister"    
    Python 得名于电视剧Monty Python's Flying Circus    
    Tcl = Tool Command Language    
    Tk = ToolKit    
    VT = Video Terminal    
    YaST = Yet Another Setup Tool    
    apache = "a patchy" server    
    apt = Advanced Packaging Tool    
    ar = archiver    
    as = assembler    
    awk = "Aho Weiberger and Kernighan" 三个作者的姓的第一个字母    
    bash = Bourne Again SHell    
    bc = Basic (Better) Calculator    
    bg = BackGround    
    biff = 作者Heidi Stettner在U.C.Berkely养的一条狗,喜欢对邮递员汪汪叫。    
    cal = CALendar    
    cat = CATenate    
    cd = Change Directory    
    chgrp = CHange GRouP    
    chmod = CHange MODe    
    chown = CHange OWNer    
    chsh = CHange SHell    
    cmp = compare    
    cobra = Common Object Request Broker Architecture    
    comm = common    
    cp = CoPy    
    cpio = CoPy In and Out    
    cpp = C Pre Processor    
    cron = Chronos 希腊文时间    
    cups = Common Unix Printing System    
    cvs = Current Version System    
    daemon = Disk And Execution MONitor    
    dc = Desk Calculator    
    dd = Disk Dump    
    df = Disk Free    
    diff = DIFFerence    
    dmesg = diagnostic message    
    du = Disk Usage    
    ed = editor    
    egrep = Extended GREP    
    elf = Extensible Linking Format    
    elm = ELectronic Mail    
    emacs = Editor MACroS    
    eval = EVALuate    
    ex = EXtended    
    exec = EXECute    
    fd = file descriptors    
    fg = ForeGround    
    fgrep = Fixed GREP    
    fmt = format    
    fsck = File System ChecK    
    fstab = FileSystem TABle    
    fvwm = F*** Virtual Window Manager    
    gawk = GNU AWK    
    gpg = GNU Privacy Guard    
    groff = GNU troff    
    hal = Hardware Abstraction Layer    
    joe = Joe's Own Editor    
    ksh = Korn SHell    
    lame = Lame Ain't an MP3 Encoder    
    lex = LEXical analyser    
    lisp = LISt Processing = Lots of Irritating Superfluous Parentheses    
    ln = LiNk    
    lpr = Line PRint    
    ls = list    
    lsof = LiSt Open Files    
    m4 = Macro processor Version 4    
    man = MANual pages    
    mawk = Mike Brennan's AWK    
    mc = Midnight Commander    
    mkfs = MaKe FileSystem    
    mknod = MaKe NODe    
    motd = Message of The Day    
    mozilla = MOsaic GodZILLa    
    mtab = Mount TABle    
    mv = MoVe    
    nano = Nano's ANOther editor    
    nawk = New AWK    
    nl = Number of Lines    
    nm = names    
    nohup = No HangUP    
    nroff = New ROFF    
    od = Octal Dump    
    passwd = PASSWorD    
    pg = pager    
    pico = PIne's message COmposition editor    
    pine = "Program for Internet News & Email" = "Pine is not Elm"    
    ping = 拟声 又 = Packet InterNet Grouper    
    pirntcap = PRINTer CAPability    
    popd = POP Directory    
    pr = pre    
    printf = PRINT Formatted    
    ps = Processes Status    
    pty = pseudo tty    
    pushd = PUSH Directory    
    pwd = Print Working Directory    
    rc = runcom = run command, rc还是plan9的shell    
    rev = REVerse    
    rm = ReMove    
    rn = Read News    
    roff = RunOFF    
    rpm = RPM Package Manager = RedHat Package Manager    
    rsh, rlogin, rvim中的r = Remote    
    rxvt = ouR XVT    
    seamoneky = 我    
    sed = Stream EDitor    
    seq = SEQuence    
    shar = SHell ARchive    
    slrn = S-Lang rn    
    ssh = Secure SHell    
    ssl = Secure Sockets Layer    
    stty = Set TTY    
    su = Substitute User    
    svn = SubVersioN    
    tar = Tape ARchive    
    tcsh = TENEX C shell    
    tee = T (T形水管接口)    
    telnet = TEminaL over Network    
    termcap = terminal capability    
    terminfo = terminal information    
    tex = τέχνη的缩写,希腊文art    
    tr = traslate    
    troff = Typesetter new ROFF    
    tsort = Topological SORT    
    tty = TeleTypewriter    
    twm = Tom's Window Manager    
    tz = TimeZone    
    udev = Userspace DEV    
    ulimit = User's LIMIT    
    umask = User's MASK    
    uniq = UNIQue    
    vi = VIsual = Very Inconvenient    
    vim = Vi IMproved    
    wall = write all    
    wc = Word Count    
    wine = WINE Is Not an Emulator    
    xargs = eXtended ARGuments    
    xdm = X Display Manager    
    xlfd = X Logical Font Description    
    xmms = X Multimedia System    
    xrdb = X Resources DataBase    
    xwd = X Window Dump    
    yacc = yet another compiler compiler

    SQLite 作为一个轻量级嵌入式数据库,还是非常好用的。 {

    http://sqlite.phxsoftware.com/  

    An open source ADO.NET provider for the SQLite database engine

    } 今天有个朋友测试 SQLite,然后得出的结论是:SQLite 效率太低,批量插入1000条记录,居然耗时 2 分钟! 下面是他发给我的测试代码。我晕~~~~~~

    using System.Data; using System.Data.Common; using System.Data.SQLite;
    // 创建数据库文件 File.Delete("test1.db3"); SQLiteConnection.CreateFile("test1.db3");
    DbProviderFactory factory = SQLiteFactory.Instance; using (DbConnection conn = factory.CreateConnection()) {   // 连接数据库   conn.ConnectionString = "Data Source=test1.db3";   conn.Open();
      // 创建数据表   string sql = "create table [test1] ([id] INTEGER PRIMARY KEY, [s] TEXT COLLATE NOCASE)";   DbCommand cmd = conn.CreateCommand();   cmd.Connection = conn;   cmd.CommandText = sql;   cmd.ExecuteNonQuery();
      // 添加参数   cmd.Parameters.Add(cmd.CreateParameter());      // 开始计时   Stopwatch watch = new Stopwatch();   watch.Start();      // 连续插入1000条记录   for (int i = 0; i < 1000; i++)   {     cmd.CommandText = "insert into [test1] ([s]) values (?)";     cmd.Parameters[0].Value = i.ToString();
        cmd.ExecuteNonQuery();   }
      // 停止计时   watch.Stop();   Console.WriteLine(watch.Elapsed); }

    哎~~~~ 一个常识性的错误,我加几行代码 (新增代码标记 "// <-------------------")。

    using System.Data; using System.Data.Common; using System.Data.SQLite;
    // 创建数据库文件 File.Delete("test1.db3"); SQLiteConnection.CreateFile("test1.db3");
    DbProviderFactory factory = SQLiteFactory.Instance; using (DbConnection conn = factory.CreateConnection()) {   // 连接数据库   conn.ConnectionString = "Data Source=test1.db3";   conn.Open();
      // 创建数据表   string sql = "create table [test1] ([id] INTEGER PRIMARY KEY, [s] TEXT COLLATE NOCASE)";   DbCommand cmd = conn.CreateCommand();   cmd.Connection = conn;   cmd.CommandText = sql;   cmd.ExecuteNonQuery();
      // 添加参数   cmd.Parameters.Add(cmd.CreateParameter());      // 开始计时   Stopwatch watch = new Stopwatch();   watch.Start();      DbTransaction trans = conn.BeginTransaction(); // <-------------------   try    {     // 连续插入1000条记录     for (int i = 0; i < 1000; i++)     {       cmd.CommandText = "insert into [test1] ([s]) values (?)";       cmd.Parameters[0].Value = i.ToString();
          cmd.ExecuteNonQuery();     }
        trans.Commit(); // <-------------------   }   catch   {     trans.Rollback(); // <-------------------     throw; // <-------------------   }
      // 停止计时   watch.Stop();   Console.WriteLine(watch.Elapsed); }
     

    1:socket VS remoting

        使用socket无疑是效率最高的。但是,在复杂的接口环境下,socket的开发效率也是最低的。故在兼顾开发效率的情况下,可以使用remoting来代替socket开发。并且:     1、Tcp通道的Remoting速度非常快。     你可以通过端口查看工具,发现remoting比直接socket传输的内容,应该是属于同一个数量级的。我的另一个担心是,大客户端数量的情况下,remoting传输效率会不会很低,结果经过现场测试,同时对300个客户端进行数据通信,不存在信息丢失情况。     2、虽然是远程的,但是非常接近于本地调用对象。     也就是完全符合面向对象思想。     3、可以做到保持对象的状态     直接使用socket传输机制,我们必须花大量的精力来处理异常、断网、死机等现象,使用remoting,这些工作会大大简化。

    2:remoting vs webservice      1、webservice在framework2.0状态下只能寄宿于IIS等应用服务器中。微软直到3.0才提供了servicehost来寄宿webservice,这就极大地限制了webservice在使用中的灵活性。在framework2.0环境下,如果你有一个应用要脱离IIS而存在,就不得不抛弃webservice。(除非你想代码实现一个WEB应用服务器)     2、remoting可寄宿在你自己的代码中,也可寄宿在windows服务及IIS中。最大程度的提供了开发和部署的灵活性。     3、remoting在使用http通道的时候,也如webservice一样支持穿透路由。     4、remoting与websercie相比,提供双向通信。哪怕是将remoting寄宿在IIS中,也支持。     5、webservice客户端自动生成的代理类比较复杂。而remoting一般来说,都是手动编写客户端代码。     6、当然,webservice最主要优势是,它是一个行业标准,而remoting只是微软自己内部的标准,如果你的应用要脱离微软的平台,就只能使用webservice了。

    3:remoting vs wcf     与wcf的比较,更多的是从平台的普及度上来说。在当前环境下,2.0的普及度还是最高的。如果哪一天3.0甚至4.0普及了,当然WCF是最好的。

    4:最简单例子      下面给出一个极其简单的Sample: 4.1远程对象      首先,创建一个项目,名为 RemoteObject,该项目经过编译后产生的DLL文件要在remoting客户端的项目和服务器端的项目中被引用。该项目包含一个类 MyObject, 即 Remoting使用的远程对象,如下:

    using System; using System.Windows.Forms;

    namespace RemoteObject {     public class MyObject : MarshalByRefObject     {         private int i = 0;                  public int Add(int a, int b)         {             return a + b;         }         public int Count()         {             return ++i;         }     } }

    4.2Server端      新建项目 RemoteServer(控制台), Server端要引用MyObject的DLL。

    using System; using System.Runtime.Remoting; using System.Runtime.Remoting.Channels; using System.Runtime.Remoting.Channels.Tcp;

    namespace RemoteServer {     class MyServer     {         [STAThread]         static void Main(string[] args)         {             TcpServerChannel channel = new TcpServerChannel(9999);               ChannelServices.RegisterChannel(channel);               RemotingConfiguration.RegisterWellKnownServiceType(typeof(RemoteObject.MyObject),                  "RemoteObject", WellKnownObjectMode.SingleCall);               System.Console.WriteLine("Press Any Key");               System.Console.ReadLine();         }     } }

    4.3Client端      新建项目 RemoteClient(控制台), Client端也要引用MyObject的DLL。

    using System; using System.Runtime.Remoting.Channels; using System.Runtime.Remoting.Channels.Tcp;

    namespace RemoteClient {     class MyClient     {         [STAThread]         static void Main(string[] args)         {             ChannelServices.RegisterChannel(new TcpClientChannel());             RemoteObject.MyObject remoteobj = (RemoteObject.MyObject)Activator.GetObject(typeof(RemoteObject.MyObject),            "tcp://localhost:9999/RemoteObject");             Console.WriteLine("1 + 2 = " + remoteobj.Add(1, 2).ToString());             Console.WriteLine("i = " + remoteobj.Count().ToString());

                 Console.ReadLine();         }     } }

    SQL*PLUS(或称sqlplus)里除了我们经常使用的sql语句外,还有另外一些命令,它们通过对标题、列标题、页宽、页长以及时间等参数的格式化操作来控制sql语句的输出的内容和格式,常见的比如"set timing on”,"set heading off”等。

    基本的SqlPlus命令

    命令 说明
    remark 注释
    set headsep 标题换行
    ttitle 设置输出页的头标题
    btitle 设置输出页的尾标题
    column 对sql语句中的列进行格式化处理
    break on 通知sqlplus在输出结果中插入空格
    compute sum 通知sqlplus计算小计
    set linesize(line) 设置sqlplus输出的最大行宽 --
    set pagesize 设置页面的最大行数
    set newpage 设置页面之间的空行数
    spool sqlplus屏幕的文件输入输出命令
      注释,同remark
    -- 双杠,注释,同remark
    set pause sqlplus屏幕输出结果时在页面之间停顿
    save 保存当前session最近的sql语句至指定的文件中
    host 返回到操作系统环境,类似!
    start或@ 执行文件中的命令
    edit 使用自定义的编辑器编辑指定文件
    define_editor 自定义sqlplus里的编辑器
    exit或quit 退出sqlplus

    column

    column是sqlplus里最实用的一个命令,很多时候sql语句输出的列宽度不合适而影响查看,都需要用到这个命令来更改select语句中指定列的宽度和标题。大部分时候,我们可以简写column为col即可,主要有以下两种用法:

    • 修改列宽度
      column c1 format a20 --将列c1(字符型)显示最大宽度调整为20个字符
      column c1 format 9999999 --将列c1(num型)显示最大宽度调整为7个字符
    • 修改列标题
      column c1 heading c2 --将c1的列名输出为c2

    示例如下:

     未修改前的默认设置输出:
     SQL> select a.FILE_NAME,a.TABLESPACE_NAME,b.CURRENT_SCN from DBA_DATA_FILES a ,v$database b where a.TABLESPACE_NAME='USERS'; FILE_NAME --------------------------------------------------------------------------- TABLESPACE_NAME CURRENT_SCN ------------------------------ ----------- +DATAGRP/db/datafile/users.259.686941969 USERS 7.3498E+10 修改后的输出结果: SQL> col FILE_NAME for a45 --定义FILE_NAME列最大显示45个字符 SQL> col TABLESPACE_NAME for a10 --定义该列最大显示10个字符 SQL> col CURRENT_SCN for 999999999999 --定义该列最长显示12个数字 SQL> col TABLESPACE_NAME heading 'TBS_NAME' --定义该列输出标题为"TBS_NAME” SQL> / FILE_NAME TBS_NAME CURRENT_SCN --------------------------------------------- ---------- ------------- +DATAGRP/db/datafile/users.259.686941969 USERS 73497663251 SQL>

    SQL> show sga

    Total System Global Area 4198564584
    bytes

    Fixed Size 746216
    bytes

    Variable Size 2013265920
    bytes

    Database Buffers 2181038080
    bytes

    Redo Buffers 3514368

    bytes

    SQL> set line 100
    SQL> show sga

    Total System Global Area 4198564584 bytes
    Fixed Size 746216 bytes
    Variable Size 2013265920 bytes
    Database Buffers 2181038080 bytes
    Redo Buffers 3514368 bytes
    SQL>

    oracle数据库服务器=数据库+数据库实例。

            1.一个部分是Oracle数据库database。

                  Oracle数据库database,包括有数据文件、控制文件、重做日志文件,都是一些物理上的文件。

            2.一个部分是数据库实例instance。

                  数据库实例是一系列复杂的内存结构和操作系统进程,包括:

                          a.有数据库后台进程(PMON、SMON、DBWR、LGWR、CKPT等)

                          b.内存区域SGA(包括shared pool、db buffer cache、redo log buffer等)。

         

    数据库与实例之间是1-1或者1-n的关系

    在非并行的数据库系统中,每个Oracle数据库与一个实例相对应;

    在并行的数据库系统中,一个数据库会对应多个实例,同一时间用户只与一个实例相联系,当某一个实例出现故障时,其他实例自动服务,保证数据库正常运行。

    在任何情况下,每个实例都只可以对应一个数据库。

  • 相关阅读:
    基于python批量获取Url
    记一次tp5.0.11rce
    centOS 6.2 x64系统上安装 oracle 11g R2 x64
    用xmanager连接Linux的配置步骤
    0级备份和全备
    配置EM遇到的问题
    转:如何迁移oracle 队列表
    oracle audit
    VIEWS for Oracle object privileges
    Oracle 脚本
  • 原文地址:https://www.cnblogs.com/zhangruisoldier/p/4288212.html
Copyright © 2020-2023  润新知