当前位置:首页 » 网页前端 » asplus脚本超时
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

asplus脚本超时

发布时间: 2023-05-22 12:52:27

⑴ plus模型土地利用运行不了

网络出现延迟。plus模型是一个卜磨集成了土地扩张策略禅弊饥分析模块和基于多类随机斑块种子的元胞自动机模型的未来土地利用变化模拟模型,在进行快贺返速加入时网络出现波动,导致响应超时,加入进不去运行不了,等待网络恢复即可。

⑵ 介绍几种sql*plus常用的命令

1、登陆命令
sqlplus
username/password@net_service_name
如:
sqlplus
scott/tiger@orcl
2、连接命令
可以使用conn连接到其他用户,如:conn
sys/admin
as
sysdba
3、执行SQL
脚本文件
SQL>start
file_nameSQL>@
file_name
4、
对当前的输入进行编辑
SQL>edit
5、重新运行上一次运行的sql语句
SQL>/
6、将显示的内容输出到指定文件
SQL>
SPOOL
file_name
在屏幕上的所有内容都包含在该文件中,包括你输入的sql语句。
7、关闭spool输出
SQL>
SPOOL
OFF
只有关闭spool输出,才会在输出文件中看到输出的内容。
8、显示一个表的结构
SQL>
desc
table_name
9、set
命令
语法:SET
system_variable
value
SQL>
show
all
--查看所有68个系统变量值
SQL>
show
user
--显示当前连接用户
SQL>
show
error
--显示错误
SQL>
set
heading
off
--禁止输出列标题,默认值为ON
SQL>
set
feedback
off
--禁止显示最后一行的计数反馈信息,默认值为对6个或更多的记录,回送ON
SQL>
set
timing
on
--默认为OFF,设置查询耗时,可用来估计SQL语句的执行时间,测试性能
SQL>
set
sqlprompt
SQL
--设置默认提示符,默认值就是SQL
SQL>
set
linesize
1000
--设置屏幕显示行宽,默认100
SQL>
set
autocommit
ON
--设置是否自动提交,默认为OFF
SQL>
set
pause
on
--默认为OFF,设置暂停,会使屏幕显示停止,等待按下ENTER键,再显示下一页
SQL>
set
arraysize
1
--默认为15
SQL>
set
long
1000
--默认为80
10、imp
命令
SQL>
host
imp
scott/tiger@orcl
file=D:/test.dmp
full=y

⑶ Oracle中SQL*PLUS使用的一些技巧

Sql*plus中蕴藏着好多技巧 如果掌握这些技巧 对于在oracle数据库下进行快速开发与有效维护数据库都是有益的 .使用SQL*PLUS动态生成批量脚本将spool与select命令结合起来使用 可以生成一个脚本 脚本中包含有可以批量执行某一任务的语句 例 生成一个脚本 删除SCOTT用户下的所有的表 a 创建gen_drop_table sql文件 包含如下语句 SPOOLc:drop_table sqlSELECT DROP TABLE || table_name || ; FROM user_tables;SPOOL OFFb 以SCOTT用户登录数据库SQLPLUS > @ … gen_dorp_table sqlc 在c盘根目录下会生成文件drop_table sql文件 包含删除所有表的语句 如下所示:SQL>SELECT DROP TABLE || table_name || ; FROM user_tables; DROPTABLE ||TABLE_NAME|| ; DROP TABLE DEPT;DROP TABLE EMP;DROP TABLE PARENT;DROP TABLE STAT_VENDER_TEMP;DROP TABLE TABLE_FORUM; rows selected 中返厅SQL>SPOOL OFFd 对生成的drop_table sql文件进行编辑去掉不必要的部分 只留下drop table … 语句e 在scott用户下运行dorp_table sql文件 删除scott用户下所有的表 SQLPLUS > @ c:dorp_table sql在上面的操作中 在生成的脚本文件中会有多余的字符 如运行的sql语句 标题 或返回的行数 需要我们编世闭辑该脚本后再运行 给实际的操作带来诸多不便 懒惰是人的本性 这促使我们用更简单的办法来实卖隐现上面的任务 a 创建gen_drop_table sql文件 包含如下语句 set echo offset feedback offset newpage noneset pagesize set linesize set verify offset pagesize set term offset trims onset linesize set headingoffset timing offset verify offset numwidth SPOOLc:drop_table sqlSELECT DROP TABLE || table_name || ; FROM user_tables;SPOOL OFFb 以SCOTT用户登录数据库SQLPLUS > @ … gen_dorp_table sqlc 在c盘根目录下会生成文件drop_table sql文件 包含删除所有表的语句 如下所示:DROP TABLE DEPT;DROP TABLE EMP;DROP TABLE PARENT;DROP TABLE STAT_VENDER_TEMP;DROP TABLE TABLE_FORUM;d 在scott用户下运行dorp_table sql文件 删除scott用户下所有的表 SQLPLUS > @ c:dorp_table sql .将一个表中的数据导出生成一个文本文件 列与列之间以 隔开set echo offset feedback offset newpage noneset pagesize set linesize set verify offset pagesize set term offset trims onset linesize set headingoffset timing offset verify offset numwidth SPOOLc:drop_table sqlselect DEPTNO || || DNAME FROM DEPT;SPOOL OFF将上面的内容保存为一个文本文件后 以scott登录 执行该文件后显示结果 ACCOUNTING RESEARCH SALES OPERATIONS通过上面的两个例子 我们可以将 set echo offset feedback offset newpage noneset pagesize set linesize set verify offset pagesize set term offset trims onset linesize set headingoffset timing offset verify offset numwidth SPOOLc:具体的文件名你要运行的sql语句SPOOL OFF作为一个模版 只要将必要的语句假如这个模版就可以了 在oracle的较新版本中 还可以用set colsep命令来实现上面的功能 SQL> set colsep SQL> select * from dept; ACCOUNTING NEW YORK RESEARCH DALLAS SALES CHICAGO OPERATIONS BOSTON aa bb .动态生成spool命令所需的文件名在我们上面的例子中 spool命令所需要的文件名都是固定的 有时我们需要每天spool一次 并且每次spool的文件名都不相同 如文件名包含当天的日期 该如何实现呢?column dat new_value filename;select to_char(sysdate yyyymmddhh mi ) dat from al;spool c:&&filename txtselect * from dept;spool off; .如何从脚本文件中得到WINDOWS环境变量的值 在windos中 spool c: emp\%ORACLE_SID% txtselect * from dept; spool off在上面的例子中 通过%ORACLE_SID%的方式引用环境变量ORACLE_SID的值 如果ORACLE_SID的值为orcl 则生成的spool文件名为 orcl txt在UNIX中 spool c: emp$ORACLE_SID txtselect * from dept; spool off在上面的例子中 通过$ORACLE_SID的方式引用环境变量ORACLE_SID的值 如果ORACLE_SID的值为orcl 则生成的spool文件名为 orcl txt .如何指定缺省的编辑脚本的目录在sql*plus中 可以用save命令 将上一条执行的sql语句保存到一个文件中 但是如何设置该文件的缺省目录呢?通过SQL> set editfile c: empfile sql 命令 可以设置其缺省目录为c: mpe 缺省文件名为file sql .如何除去表中相同的行找到相同的行 SELECT * FROM dept aWHERE ROWID <> (SELECT MAX(ROWID)FROM dept bWHERE a deptno = b deptnoAND a dname = b dname Make sure all columns are paredAND a loc = b loc);注释 如果只找deptno列相同的行 上面的查询可以改为 SELECT * FROM dept aWHERE ROWID <> (SELECT MAX(ROWID)FROM dept bWHERE a deptno = b deptno)删除相同的行 DELETE FROM dept aWHERE ROWID <> (SELECT MAX(ROWIDFROM dept bWHERE a deptno = b deptnoAND a dname = b dname Make sure all columns are paredAND a loc = b loc);注意 上面并不删除列值为null的行 .如何向数据库中插入两个单引号( )Insert inot dept values( aa bb a b );在插入时 用两个 表示一个 .如何设置sql*plus的搜寻路径 这样在用@命令时 就不用输入文件的全路径 设置SQLPATH环境变量 如 SQLPATH = C:ORANTDBS;C:APPSSCRIPTS;C:MYSCRIPTS .@与@@的区别是什么?@等于start命令 用来运行一个sql脚本文件 @命令调用当前目录下的 或指定全路径 或可以通过SQLPATH环境变量搜寻到的脚本文件 @@用在脚本文件中 用来指定用@@执行的文件与@@所在的文件在同一目录 而不用指定全路径 也不从SQLPATH环境变量指定的路径中寻找文件 该命令一般用在嵌套脚本文件中 .&与&&的区别&用来创建一个临时变量 每当遇到这个临时变量时 都会提示你输入一个值 &&用来创建一个持久变量 就像用用define命令或带new_vlaue字句的column命令创建的持久变量一样 当用&&命令引用这个变量时 不会每次遇到该变量就提示用户键入值 而只是在第一次遇到时提示一次 如 将下面三行语句存为一个脚本文件 运行该脚本文件 会提示三次 让输入deptnoval的值 select count(*) from emp where deptno = &deptnoval;select count(*) from emp where deptno = &deptnoval;select count(*) from emp where deptno = &deptnoval;将下面三行语句存为一个脚本文件 运行该脚本文件 则只会提示一次 让输入deptnoval的值 select count(*) from emp where deptno = &deptnoval;select count(*) from emp where deptno = &deptnoval;select count(*) from emp where deptno = &deptnoval; .引入的目的Copy命令在两个数据库之间拷贝数据时特别有用 特别是该命令可以在两个数据库之间传递long型字段的数据 缺点 在两个数据库之间传递数据时 有可能丢失精度(lose precision) .问什么在修改大量的行时 我的脚本会变得很慢?当通过PL/SQL块修改一个表中的许多行时 你会创建在表上创建一个cursor 但是只有在你关闭cursor时 才会释放ROLLBACK SEGMENT 这样 当cursor仍然打开时 修改过程会变慢 这是因为数据库不得不搜寻大量的rollback segment以便于维护读一致性 为了避免这样情况 试着在表上加一个标志字段来描述该行是否已经被修改 然后关闭该cursor 然后再打开该cursor 每次可以修改 行 lishixin/Article/program/Oracle/201311/17262

⑷ 什么是WinPlus

Windows Preinstallation Environment(WinPE)(Windows预安装环境)基于在保护模式下运行的WindowsXP个人版内核,是一个只拥有较少(但是非常核心)服务的Win32子系统。这些服务为Windows安装、实现网络共享、自动底层处理进程和实现硬件验证。

WinPE让你创建和格式化硬盘分区,并且给你访问NTFS文件系统分区和内部网络的权限。这个预安装环境支持所有能用Windows2000和WindowsXP驱动的大容量存储设备,你可以很容易地为新设备添加驱动程序。

使用WinPE可以帮助你把现有基于MS-DOS的工具转换为32位的WindowsAPIs,以便你在标准的开发环境(例如微软的VisualStudio)中更加容易地维护这些应用程序。WinPE所包含的硬件诊断和其他预安装工具都支持标准的WindowsXP驱动,你无需任何做其他特别的工作。对于程序开发者来讲,就可以把主要精力放在程序的诊断、调试和开发的环节上。

winpe最长用的功能: 用光盘系统WINPE 轻松更改系统密码

如何更改Win2K及WinXP系统中管理员的密码,在网络及一些杂志上也介绍过多次,有些方法虽然实用,但对我等小菜来讲,还是姿举岁有些繁答丛琐,稍一疏忽,就有可能“贻笑大方”,呵呵!这不,我找到一个非常简单的更改管理员密码的方法,用WINPE--一个可在光盘上运行的操作系统,只要几分钟的时间,即可轻松搞定管理员的密码,那场面,一定会让MM对你的崇拜指数上升N个百分点!

第一步:从网上下载“深山红叶袖珍系统工具箱”,该软件集成了WinPE光盘操作系统、微型Linux系统及众多实用的DOS程序,该软件为ISO格式,可直接刻录为引导光盘,容量为200多兆,一张8厘米的小刻录盘就可装下,方便携带,实属电脑操作时的必备工具。

第二步:设置CMOS中的启动顺序由CDROM启动,放入刻录的“深山红叶”光盘,重启系统进入“深山红叶”启动菜单,如图1,选择第一项“[1] Windows PE(XP) 光盘工具箱”启动WINPE系统。该系统仿XP界面,所以启动过程和XP的启动过程一样,显示的启动画面还是“WINXP Profreeional”呢!在光驱灯与硬盘灯一阵狂闪后,系统启动完成,如图2,桌面背景蛮震人的!

第三步:依次点击“开始-强力系统修复 ERD 2003-首先在此设置当前系统目录!(当前=)”,在弹出的“浏览文件夹”窗口中选择WIN2K或WINXP系统的Windows目录,如图3。接着仍是进入“强力系统修复 ERD 2003”菜单中,选择“修改用户密码(LockSmith)”,然后按照LockSmith向导一步步地操作,在对账号设置新密码时,默认显示的账号是“Administrator”,点击账号中的下拉箭头,选择要修改密码的账号,然后在“新密码”与“确认密码”框中填入新的密码,如迹睁图4,点下一步,就完成了密码修改。

第四步:点击WINPE系统中的“开始-重启系统”,在重启过程中弹出光盘,进入正常的WIN2K或WINXP系统,选择刚才更改的账号,输入修改后的密码,屏幕显示正在加载用户信息……,说明密码更改成功。

修改管理员密码只是WINPE系统中一个功能,它还有更多实用的功能,就留给各位朋友慢慢研究吧,有好的心得体会别忘了拿出来共享喔!

测试环境:NTFS+WINXP

NTFS+WIN2K

相关资料:——Windows PreInstallation Environment深入研究

Windows PreInstallation Environment(WinPE)直接从字面上翻译就是“Windows预安装环境”,微软在2002年7月22日发布,它的原文解释是:“Windows预安装环境(WinPE)是带有限服务的最小Win32子系统,基于以保护模式运行的Windows XP Professional内核。它包括运行Windows安装程序及脚本、连接网络共享、自动化基本过程以及执行硬件验证所需的最小功能。”换句话说,你可把WinPE看作是一个只拥有最少核心服务的Mini操作系统。微软推出这么一个操作系统当然是因为它拥有与众不同的系统功能,如果要用一句话来解释,我认为与Win9X/2000/XP相比,WinPE的主要不同点就是:它可以自定义制作自身的可启动副本,在保证你需要的核心服务的同时保持最小的操作系统体积,同时它又是标准的32位视窗API的系统平台。当然,现在这么说也许难以理解,没有关系,下面让我们来仔细研究它。

WinPE概览

即使有刚才的解释,你一定还是对这个全新概念的Mini操作系统一头雾水,没关系,在这里我将演示一下其运行的全过程,相信看过之后你或许就会有大致的了解。大多数人获得的WinPE光盘(包括我手上这张ISO镜像光盘)应该是一张“Windows XP OPK”CD,意思就是Windows XP OEM预安装工具包CD。实际上,Windows XP OPK CD是WinPE 32位版本的一个可引导副本,也就是说,这张CD已经是个用WinPE定义制作的操作系统了,我们可直接用它来引导系统。先看看这张CD的目录结构吧(图1),总共有352MB,是不是有些大呢?其实由于这是个副本(至少包含了不少驱动程序),大小是由当时自定义制作决定的,若是WinPE的32位非自定义版本,其在磁盘上的镜像大约为120MB。

1.引导WinPE

笔者考虑到网络环境等问题,主要的使用环境是Vmware虚拟机和Virtual PC虚拟机,不过这两种虚拟机环境与实际PC环境几乎没有区别(就是说如果你不清楚虚拟机也没关系,就当是在真实PC上直接运行)。

将BIOS中设置成光驱引导,并开始启动系统,当屏幕画面上出现“Press any key boot from cd”时(图2),按任意键从光驱上的WinPE引导启动(图3、4)。如果你的存储设备驱动不被支持,在启动时按下F6键可加载特殊设备的驱动。当启动到桌面时系统会做一些如调整分辨率的工作(图5),最后打开默认的CMD命令行解释工具,大家看看,是货真凼档耐夹尾僮骰肪撑叮ㄍ?)。

可以看到桌面上空空如也,不要指望可以拿鼠标点来点去,毕竟是个什么应用程序都没有安装的最小化图形操作系统。但它确实是标准的视窗环境,光盘上带有记事本,在命令行下输入“Notepad”并回车就可打开(图7);另外尽管光盘上带有的可执行的命令行工具有限,但明显可以自己添加,看看这是什么(图8)?没错,是我们最熟悉的扫雷游戏(现在知道题头所指了吧,呵呵),拿鼠标先玩玩吧,这是笔者从大家熟悉的WinXP操作系统中加入的(方法很简单,用ISO工具直接拷入刚才的镜像文件就可以了)。

那么还是先回到CMD命令行工具中吧。默认的目录是\I386\system32\,输入命令行“dir *.exe /w”可查看有哪些可运行的程序(图9)。下面我们实际研究一下对个人用户有实际意义的WinPE特性的操作。

在光盘镜像中可同时看到32位和64位操作系统的工具(图10),对于个人用户来讲,你可用它直接引导没有安装任何系统的机器,并在其上实现32位系统的许多功能,这在后面会一一道来。

2.WinPE对网络的支持

刚才dir时我们看到了ping命令,熟悉这个命令的读者应该都知道,只有安装了TCP/IP协议才能使用,那么不管三七二十一,先来ping自己试试吧,在CMD中键入“ping 127.0.0.1”,回车搞定(图11),显然是可ping通的,这证明TCP/IP协议确实已在运行。再试一试光盘上另一个命令IPConfig,键入运行(图12),看到IP地址已经自动分配好了。既然网络确实已经连接,那让我们来实际操作使用吧(这里可能有不少从视窗系统开始接触计算机的朋友会对操作不知所措,其实并没有想象中那么困难,你可以在CMD中使用命令工具带“/?”参数来查询具体使用方法,如果你机器上本来就装有XP,那么在帮助中心查询就更方便了,多实验一下,掌握命令行以后你会发现方便很多)。

现在我的物理机和虚拟机构成了一个虚拟网络,使用光盘镜像中的net命令,在虚拟机中键入“net view”查看已连接的服务器(图13),这里显示的服务器“XQ-B6QAS26953 EC”,名字表示虚拟机已通过网络连接了我的物理机器。我的物理机器上有一个名为TUKU的文件夹已经共享,所以再键入“net use e:\XQ-B6QAS26953EC\TUKU”,意思是将物理机器上的共享目录TUKU镜像为虚拟机器上的E盘(图14),成功后可在虚拟机里自由地访问共享目录(图15),这时就可通过这个来做远程安装等工作。Net命令还有不少参数,自己可以查阅并多加尝试,才可以发挥WinPE强大的网络环境功能,如果只是简单地访问服务器,上面的两个命令参数基本足够了。不过这里要记住用WinPE的机器可访问其他操作系统的机器,而逆操作是不能的,这是由于WinPE本身的限制,我们后面再讲这个问题。事实说明,WinPE启动后就可以使用网络环境。

3.利用WinPE创建、删除、格式化和管理NTFS文件系统分区

对于个人用户来说这个功能很是实用和方便。但不少朋友在dir完以后就叫苦,怎么只有format.com,没有fdisk啊,根本没办法分区嘛。其实这是个误解,Windows XP中针对磁盘管理工作有专用的命令行工具DiskPart.exe,它是一种文本模式命令解释程序,能让你通过使用脚本或从命令提示符直接输入来管理对象(磁盘、分区或卷),WinPE使用的当然也是DiskPart。

在CMD模式下键入“diskpart”并回车进入DiskPart命令行解释(图16)。键入“list disk”,显示有两块硬盘(图17),分别为磁盘0和磁盘1。键入“select disk=0”执行,意思是选择指定磁盘,并将焦点转移到此磁盘,接下来的操作就都是针对它的(后面的操作都是一样,在磁盘、分区或卷上使用DiskPart命令前,必须首先将对象列表,然后选择要给予焦点的对象,只有对象拥有焦点时,键入的任何DiskPart命令才对该对象进行操作)。键入“detail disk”可以查看磁盘0的细节信息(图18),现在磁盘0整个是一个活动分区C,格式为FAT32,容量为16G。下面我们以实际操作将磁盘0分为两个区,分别为NTFS格式的8G主分区C和FAT32格式8G逻辑分区D,而将磁盘1整个转为FAT32格式的分区E来演示WinPE对磁盘的管理操作:

(1)执行“select disk=0”,将焦点转到磁盘0。执行“select partition 1”,将焦点转到磁盘0的分区活动C上面。

(2)执行“delete partition”将原来的分区C删除(图19)。

(3)执行“create partition primary size=8000”回车,在磁盘0上建立一个新的8000MB的主分区(图20),焦点会自动转到新建立的分区上。

(4)接着执行“create partition extended”回车,将磁盘0上剩余的磁盘空间建立为扩展分区(图21)。

(5)完成上一步后再执行“create partition logic”回车,将刚建立的扩展分区创建为一个逻辑分区(图22)。

(6)至此,我们就已经把原来一个活动分区C的磁盘0创建为有一个主分区和一个逻辑分区了(图23),不过这两个分区还没有驱动器号,执行“select partition 1”将焦点转到主分区1,然后执行“assign letter=C”(图24),将驱动器号C:分配给主分区。执行“active”回车将主分区设为活动使其可以引导系统(图25)。

(7)接下来执行“select partition 3”将焦点转到逻辑分区,执行“assign”回车,意思是系统将下一个可用的驱动器号分配给逻辑分区,由于驱动器号D、E均被占用(D为磁盘1分区占用,E为光驱占用),所以系统将F分配给了逻辑分区(图26)。不过没关系,我们先不管驱动器号的顺序,到这里我们对磁盘0的操作就结束了,剩下的目标是将磁盘1的活动分区D转换为分区E。

(8)执行“select disk 1”将焦点转到磁盘1,执行“select partition 1”将焦点转到活动分区D。

(9)由于磁盘1的D分区是活动的主分区,所以设其驱动器号为E,显然是要将它重新建立为一个非主分区的驱动器,那么它就不会占据驱动器号D而将它让给磁盘0的逻辑分区了。执行“delete partition”删除原来分区D,执行“create partition extended”将磁盘1上所有的磁盘空间建立为扩展分区。

(10)完成上步后再执行“create partition logic”将刚建立的扩展分区创建为一个逻辑分区(图27)。

(11)最后执行“assign”自动分配驱动器号,系统仍然把D分配给了它(不过在机器重新启动后系统会自动调整将D分配给磁盘0的逻辑分区,磁盘1的逻辑分区会使用驱动器E,而光驱就顺延到F了,重启一次系统这些改变都会自动实现)。

(12)现在我们对机器上硬盘的重新分区工作就结束了,执行“exit”退出DiskPart命令行解释工具,然后执行“format c: /fs:ntfs”,将刚才建立的DISK 0主分区格式化为NTFS文件格式的分区(图28),同理执行“format d: /fs:fat32”、“format f: /fs:fat32”将分区D、F格式化(图29),我们最终的操作就完成了。

(13)完成后执行“exit”重新启动机器,可以再次进入“DiskPart”来查看分区情况是否正确(图30)。

上面的操作基本包括了对磁盘的创建、删除、格式化和管理,如果你再仔细读读帮助说明,保证你在掌握它强大的功能以后不再想使用Fdisk去管理磁盘。实际上你如果在使用Windows XP,这些知识都非常实用。此外“DiskPart”工具最方便的地方是支持脚本,在这里就不详细说明了。

WinPE的限制

上面我们已经将WinPE特性的基本操作都实践了一下,应该可以体会到WinPE对个人的方便之处,但是就像上文所说的那样,WinPE只是有限功能的Mini操作系统,要正确使用WinPE,当然也要了解它的一些限制。

1.为了防止将它用作盗版操作系统,在连续使用24小时后WinPE将自动退出并重启。

2.你可从WinPE计算机通过网络直接访问服务器和共享。但不能从网络上的另一个位置访问WinPE计算机上的任何文件或文件夹。WinPE通过TCP/IP及其上的NetBIOS获得到达文件服务器的网络连接,不支持其他方法(如IPX/SPX网络协议)。

3.因为涉及反盗版,所以只能从Windows XP Professional CD建立WinPE的自定义版本。而不能从Windows XP Home Edition或Windows 2002 Server操作系统家族的任何成员建立。

4.WinPE太大,不能放在软盘上。WinPE仅包括可用Win32 API的子集(包括I/O(磁盘和网络)和核心Win32 API)。如果Win32下运行的服务基于Win32 API子集,则它在WinPE是否可用需具体分析。这里不详细列出WinPE不支持的API了,反正rundll32.exe和shell.dll等是不被支持的,想要在WinPE下面玩Quake的朋友还是趁早放弃。

WinPE的作用

不少朋友看到这儿无论是否有收获,肯定都会想WinPE到底对自己有什么明确的作用,这里不妨总结一二。

1.方便易用的启动工具盘

通过刚才的叙述,大家可以看出,WinPE启动相当快捷,而且对启动环境要求不高;最可贵的是,虽然名为启动盘,其功能却几乎相当于安装了一个Windows XP的“命令行版本”——别忘了网络支持哦。因此,对于个人计算机用户,只要将其刻录在一张光盘上,便可放心地去解决初始化系统之类的问题;而对小型网络环境(如网吧等)用户来说,这一功能尤其实用。

2.有趣的硬盘使用功能

自定义的WinPE不仅可放到那些可移动存储设备如CD上,还可以放在硬盘上使用。因为许多朋友会认为将WinPE的自定义版本放在硬盘上没有什么意义,其实不然。把WinPE放在硬盘上应该是最为有趣的地方,且不说你的操作系统损坏无法进入的情况下启动硬盘上的WinPE可以方便地修复,关键是由于WinPE在硬盘上,所以在WinPE环境下安装应用程序就有了可能。呵呵,撇开题外话不讲,这里看一下如何把自定义的WinPE放到硬盘上吧(只能在硬盘上放置WinPE的32位版本)。

首先要安装恢复控制台:

(1)将Windows XP Professional CD放在CD-ROM驱动器中,这里指定其为cd_drive。

(2)在命令行CMD窗口中运行cd_drive\i386\winnt32.exe /cmdcons。

然后将WinPE自定义可引导副本放置在硬盘上,如下操作:

(1)在目标硬盘上,创建“C:\Minint”的目录(这里必须将目录命名为“Minint”)。

(2)将WinPE“根目录\i386”下的所有内容复制到C:\Minint。

(3)从WinPE根目录下将Winbom.ini复制到目标硬盘的根目录。

(4)在目标硬盘上,将“C:\Cmdcons\txtsetup.sif”的只读属性改为读/写。

(5)在目标硬盘上,将“C:\Minint\txtsetup.sif”复制到“C:\Cmdcons”进行覆盖。

(6)重新启动目标计算机。在“引导”菜单上,选择引导到“命令控制台”,计算机将使用WinPE引导。

3.Windows XP OPK CD的本职工作

上面说了其实我们拿到的是WinPE的一个可执行副本,即Windows XP OPK(Windows XP OEM预安装工具包)CD。从名字都知道它原来的本职工作是为了方便OEM工作的。如果你在Windows操作系统环境下打开光盘,它就会自动运行Autorun为你的系统安装一个“Windows安装管理器”的工具包(图31)。利用它,你可以轻易制造出带有计算机厂商OEM标志的Windows安装镜像。虽然这是Windows XP OPK CD的主要本职工作,但显然对我们个人没什么意义,当然,如果你想把手上的Windows安装CD都打上自己独有的印记,并在朋友的机器上安装时炫一下,那么使用它是个好主意。当然自己的“印记”绝非OEM标志那么简单,实际上你还可任意设定WinPE携带的软件,并可设置这些软件在WinPE启动时运行;理想的情形下你甚至可以为自定义的WinPE版本加上类似于Windows Explorer的图形外壳程序——要不怎么叫专为厂商OEM设计呢?

================================================================================

2、Microsoft Windows Preinstallation Environment (WinPE)微软官方主页链接

================================================================================

WinPE is a tool based on Microsoft Windows? XP Professional that allows IT staff to build custom solutions that speed up deployment through automation so they spend less time and effort keeping desktops updated. WinPE can run Windows setup, scripts, and imaging applications. Enterprise Agreement (EA) and Software Assurance Membership (SAM) customers received WinPE in their October 2002 updates, and it will continue to be offered as a benefit of Software Assurance.

================================================================================

3、What's the Windows Preinstallation Environment (WinPE)?

================================================================================

John Savill

InstantDoc #38308

John Savill's FAQ for Windows

A. WinPE is a minimal OS, based on the Windows XP kernel, that will replace MS-DOS ring the initial OS installation stages beginning with the next Windows desktop OS, which is known as Longhorn. Recent alpha builds of Longhorn use WinPE, which provides a GUI environment ring the entire installation instead of the old text-based screen prompts that are common ring the initial setup of earlier Windows installations. WinPE will also let the user enter the license key ring the initial stage of the installation, rather than forcing the user to wait until later in the installation process.

Click here to view image

Because WinPE is based on XP, this new minimal OS can

●create and format disk partitions for FAT, FAT32, and NTFS

●access file shares on an intranet and connect to as many as four file shares

●support all mass-storage drivers for XP and Windows 2000

贡献者:
jiapeng89

⑸ SQL plus 中数据怎么样输出

/ as {sysdba|sysopr}:使用操作系统用户验证,以osdba或osopr一员的身份登录,如验证通过,被赋予sysdba或sysopr的权限

使用格式:sqlplus "/ as sysdba"

/nolog:不执行connect操作,直接进入sqlplus操作界面

-s:silent模式,不显示sqlplus启动信息和提示符

<:接受sql脚本从标准输入重定向

<<:立即文档

4.4.2 提示符命令

accept variable [number|char|date] [format format] [default default] [prompt text] [hide]:接受输入变量

例子:accept pwd char format a8 prompt Password: hide

column column [format format] [heading heading]:设定对某个域的显示格式

如果要同时改变某域的输出长度和标题,必须使用column命令

见emp的定义,name本为char(20),输出缩为10位,ty本为 char(1),扩张为6位,以便有足够的空间显示中文标题。

SQL>column name format a10 heading 姓名;

SQL>column ty format a6 heading 职位;

SQL>column age format 999999 heading 年龄;

SQL>column upd_ts format a14 heading 更新时间;

SQL>select name,ty,age,upd_ts from emp;

show option:显示SET的选项

spool [filename|off]:输出重定向文件

timing [start text|show|stop]:定时器

4.4.3 SET选项

autocommit:自动提交insert、update、delete带来的记录改变,缺省为off

colsep:域输出分隔符

define:识别命令中的变量前缀符,缺省为on,也就是&,碰到变量前缀符,后面的字符串作为变量处理

如果待更新内容包含&(在URL中很常见),而define非设为off,sqlplus会把&后面紧跟的字符串当成变量,提示输入,这里必须重新输入&和那个字符串,才能实现正常更新。将define设为off,就不再进行变量判断。

SQL>set define off;

SQL>update bbs_forum set url=http://www.xxx.com/bbs/show.php&forum_id=1 where forum_id=1;

echo:显示start启动的脚本中的每个sql命令,缺省为on

feedback:回显本次sql命令处理的记录条数,缺省为on

heading:输出域标题,缺省为on

linesize:输出一行字符个数,缺省为80

如果一行输出超过linesize,会回车到第二行,这样格式就会混乱。

markup html:html格式输出,缺省为off

通常需要与spool配合,否则html输出就没有意义。

numwidth:输出number类型域长度,缺省为10

长number类型的域常常因为输出长度的问题,引起误会。

pagesize:输出每页行数,缺省为24

为了避免分页,可设定为0。

termout:显示脚本中的命令的执行结果,缺省为on

timing:显示每条sql命令的耗时,缺省为off

trimout:去除标准输出每行的拖尾空格,缺省为off

trimspool:去除重定向(spool)输出每行的拖尾空格,缺省为off

4.4.4 例子

以文本形式下载表数据

oracle缺乏将表中数据输出至文本文件的工具,因此只能利用sqlplus和unix工具做变通的处理

sqlplus -s dbuser/oracle </dev/null

set colsep |;

set echo off;

set feedback off;

set heading off;

set pagesize 0;

set linesize 1000;

set numwidth 12;

set termout off;

set trimout on;

set trimspool on;

spool tmp.txt;

select * from emp;

spool off;

exit

EOF

tr -d < tmp.txt >emp.txt 删除空格,可选

注意:一定要用spool,如果在命令行中直接用>tmp.txt可能会造成数据缺失,至少在Unixware7上如此

假定某域是char(n),如中间出现回车\n,则下载出的这条记录的格式将会错乱,不宜采用此方法

⑹ 如何利用BAT文件登陆OracleSql并执行多个sql脚本PLSQL语句

楼上基本上没错,但是需要在sql脚本上最后一行里加上exit命令,否则后续执行会有问题,例如
sqlplus /nolog @1.sql
sqlplus /nolog @2.sql
在1.sql和2.sql中要加入conn对应的用户,同时在每个sql脚本结尾要加入exit

⑺ 五大浏览器下如何使用SaveAs Plus

它以快速下载、完整保存等的特点弥补了各种浏览器另存网页功能的不足。如果你需要经常保存网页的话,SaveAs Plus将是你很得力的助手!不过,由于现在浏览器“流派”众多,各家插件用伏燃法略有不同。IE、firefox、chrome、opera、safari等浏览器下如何使用SaveAs Plus 呢?不妨一起来看看吧! SaveAs Plus 是一款浏览器网页保存增强软件,它是目前离线保存网页效果最好的软件。它以快速下载、完整保存等的特点弥补了各种浏览器另存网页功能的不足。如果你需要经常保存网页的话,SaveAs Plus将是你很得力的助手!不过,由于现在浏览器“流派”众多,各家插件用法略有不同。 1. HTML DHTML标准对象完整保存,所有相对或绝对路径的图像及其他资源相对链接离线处理 2.CSS对象保存,样式中的图像对象离线处理 3.多框架frame/Iframe网页完整保存 4. 不安全代码过滤,refresh Meta及Javascript动态代码过滤 5. AJAX持久化,将AJAX动态脚本缺塌虚显示出的DOM对象持久化保存 * 6. Flash动画离线保存(swf格式) * 7. 特殊网衫缺页修正,7年积累的不能保存的问题网页修正经验代码* 8. 支持只保存选中部分内容 SaveAs Plus目前兼容的浏览器 1.IE兼容 ·标准微软InternetExplorer网页浏览器插件(IE add-on) ·支持IE6、IE7、IE8及保护模式 ·支持遨游Maxthon、腾讯TT、世界之窗TheWorld、搜狗浏览器、GreenBrowser、等IE内核浏览器 2.FireFox兼容 ·Mozila FireFox xpi插件 ·支持Mozila FireFox 1.5、FireFox 2、FireFox 3、Kapiko2 3.Opera兼容 ·增加Opera菜单快捷方式 ·支持Opera9、Opera10 4.Chrome、Safari等Netscape兼容浏览器

⑻ “微服务架构”部署NGINX Plus作为API网关,第1部分 - NGINX

了解着名的Nginx服务器(微服务必不可少的东西)如何用作API网关。

现代应用程序体系结构的核心是HTTP API。 HTTP使应用程序能够快速构建并轻松维护。无论应用程序的规模如何,HTTP API都提供了一个通用接口,从单用途微服务到无所不包的整体。通过使用HTTP,支持超大规模Internet属性的Web应用程序交付的进步也可用于提供可靠和高性能的API交付。

有关API网关对微服务应用程序重要性的精彩介绍,请参阅我们博客上的构建微服务:使用API​​网关。

作为领先的高性能,轻量级反向代理和负载均衡器,NGINX Plus具有处理API流量所需的高级HTTP处理功能。这使得NGINX Plus成为构建API网关的理想平台。在这篇博文中,我们描述了许多常见的API网关用例,并展示了如何配置NGINX Plus以便以高效,可扩展且易于维护的方式处理它们。我们描述了一个完整的配置,它可以构成生产部署的基础。

注意:除非另有说明,否则本文中的所有信息均适用于NGINX Plus和NGINX开源。

API网关的主要功能是为多个API提供单一,一致的入口点,无论它们在后端如何实现或部署。并非所有API都是微服务应用程序。我们的API网关需要管理现有的API,单块和正在部分过渡到微服务的应用程序。

在这篇博文中,我们引用了一个假设的库存管理API,即“仓库API”。我们使用示例配置代码来说明不同的用例。 Warehouse API是一个RESTful API,它使用JSON请求并生成JSON响应。但是,当部署为API网关时,使用JSON不是NGINX Plus的限制或要求; NGINX Plus与API本身使用的架构风格和数据格式无关。

Warehouse API实现为离散微服务的集合,并作为单个API发布。库存和定价资源作为单独的服务实施,并部署到不同的后端。所以API的路径结构是:

例如,要查询当前仓库库存,客户端应用程序会向/ api / warehouse / inventory发出HTTP GET请求。

使用NGINX Plus作为API网关的一个优点是,它可以执行该角色,同时充当现有HTTP流量的反向代理,负载平衡器和Web服务器。如果NGINX Plus已经是应用程序交付堆栈的一部分,那么通常不需要部署单独的API网关。但是,API网关所期望的某些默认行为与基于浏览器的流量的预期不同。出于这个原因,我们将API网关配置与基于浏览器的流量的任何现有(或未来)配置分开。

为实现这种分离,我们创建了一个支持多用途NGINX Plus实例的配置布局,并为通过CI / CD管道自动配置部署提供了便利的结构。 / etc / nginx下的结果目录结构如下所示。

所有API网关配置的目录和文件名都以api_为前缀。这些文件和目录中的每一个都启用API网关的不同特性和功能,并在下面详细说明。

所有NGINX配置都以主配置文件nginx.conf开头。要读入API网关配置,我们在nginx.conf的http块中添加一个指令,该指令引用包含网关配置的文件api_gateway.conf(下面的第28行)。请注意,默认的nginx.conf文件使用include伪指令从conf.d子目录中引入基于浏览器的HTTP配置(第29行)。本博文广泛使用include指令来提高可读性并实现配置某些部分的自动化。

api_gateway.conf文件定义了将NGINX Plus公开为客户端的API网关的虚拟服务器。此配置公开API网关在单个入口点https://api.example.com/(第13行)发布的所有API,受第16到21行配置的TLS保护。请注意,此配置纯粹是HTTPS - 没有明文HTTP侦听器。我们希望API客户端知道正确的入口点并默认进行HTTPS连接。

此配置是静态的 - 各个API及其后端服务的详细信息在第24行的include伪指令引用的文件中指定。第27到30行处理日志记录默认值和错误处理,并在响应中讨论错误部分如下。

一些API可以在单个后端实现,但是出于弹性或负载平衡的原因,我们通常期望存在多个API。使用微服务API,我们为每个服务定义单独的后端;它们一起作为完整的API。在这里,我们的Warehouse API被部署为两个独立的服务,每个服务都有多个后端。

API网关发布的所有API的所有后端API服务都在api_backends.conf中定义。这里我们在每个块中使用多个IP地址 - 端口对来指示API代码的部署位置,但也可以使用主机名。 NGINX Plus订户还可以利用动态DNS负载平衡,自动将新后端添加到运行时配置中。

配置的这一部分首先定义Warehouse API的有效URI,然后定义用于处理对Warehouse API的请求的公共策略。

Warehouse API定义了许多块。 NGINX Plus具有高效灵活的系统,可将请求URI与配置的一部分进行匹配。通常,请求由最具体的路径前缀匹配,并且位置指令的顺序并不重要。这里,在第3行和第8行,我们定义了两个路径前缀。在每种情况下,$ upstream变量都设置为上游块的名称,该上游块分别代表库存和定价服务的后端API服务。

此配置的目标是将API定义与管理API交付方式的策略分开。为此,我们最小化了API定义部分中显示的配置。在为每个位置确定适当的上游组之后,我们停止处理并使用指令来查找API的策略(第10行)。

使用重写指令将处理移至API策略部分

重写指令的结果是NGINX Plus搜索匹配以/ _warehouse开头的URI的位置块。第15行的位置块使用=修饰符执行完全匹配,从而加快处理速度。

在这个阶段,我们的政策部分非常简单。位置块本身标记为第16行,这意味着客户端无法直接向它发出请求。重新定义$ api_name变量以匹配API的名称,以便它在日志文件中正确显示。最后,请求被代理到API定义部分中指定的上游组,使用$ request_uri变量 - 其中包含原始请求URI,未经修改。

API定义有两种方法 - 广泛而精确。每种API最合适的方法取决于API的安全要求以及后端服务是否需要处理无效的URI。

在warehouse_api_simple.conf中,我们通过在第3行和第8行定义URI前缀来使用Warehouse API的广泛方法。这意味着以任一前缀开头的任何URI都代理到相应的后端服务。使用基于前缀的位置匹配,对以下URI的API请求都是有效的:

如果唯一的考虑是将每个请求代理到正确的后端服务,则广泛的方法提供最快的处理和最紧凑的配置。另一方面,精确的方法使API网关能够通过显式定义每个可用API资源的URI路径来理解API的完整URI空间。采用精确的方法,Warehouse API的以下配置使用精确匹配(=)和正则表达式(〜)的组合来定义每个URI。

此配置更详细,但更准确地描述了后端服务实现的资源。这具有保护后端服务免于格式错误的客户端请求的优点,代价是正常表达式匹配的一些小额外开销。有了这个配置,NGINX Plus接受一些URI并拒绝其他URI无效:

使用精确的API定义,现有的API文档格式可以驱动API网关的配置。可以从OpenAPI规范(以前称为Swagger)自动化NGINX Plus API定义。此博客文章的Gists中提供了用于此目的的示例脚本。

随着API的发展,有时会发生需要更新客户端的重大更改。一个这样的示例是重命名或移动API资源。与Web浏览器不同,API网关无法向其客户端发送命名新位置的重定向(代码301)。幸运的是,当修改API客户端不切实际时,我们可以动态地重写客户端请求。

在下面的示例中,我们可以在第3行看到定价服务以前是作为库存服务的一部分实现的:rewrite指令将对旧定价资源的请求转换为新的定价服务。

动态重写URI意味着当我们最终在第26行代理请求时,我们不能再使用$ request_uri变量(正如我们在warehouse_api_simple.conf的第21行所做的那样)。这意味着我们需要在API定义部分的第9行和第14行使用稍微不同的重写指令,以便在处理切换到策略部分时保留URI。

HTTP API和基于浏览器的流量之间的主要区别之一是如何将错误传达给客户端。当NGINX Plus作为API网关部署时,我们将其配置为以最适合API客户端的方式返回错误。

顶级API网关配置包括一个定义如何处理错误响应的部分。

第27行的指令指定当请求与任何API定义都不匹配时,NGINX Plus会返回错误而不是默认错误。此(可选)行为要求API客户端仅向API文档中包含的有效URI发出请求,并防止未经授权的客户端发现通过API网关发布的API的URI结构。

第28行指的是后端服务本身产生的错误。未处理的异常可能包含我们不希望发送到客户端的堆栈跟踪或其他敏感数据。此配置通过向客户端发送标准化错误来进一步提供保护。

完整的错误响应列表在第29行的include伪指令引用的单独配置文件中定义,其前几行如下所示。如果首选不同的错误格式,并且通过更改第30行上的default_type值以匹配,则可以修改此文件。您还可以在每个API的策略部分中使用单独的include指令来定义一组覆盖默认值的错误响应。

有了这种配置,客户端对无效URI的请求就会收到以下响应。

在没有某种形式的身份验证的情况下发布API以保护它们是不常见的。 NGINX Plus提供了几种保护API和验证API客户端的方法。有关基于IP地址的访问控制列表(ACL),数字证书身份验证和HTTP基本身份验证的信息,请参阅文档。在这里,我们专注于API特定的身份验证方法。

API密钥身份验证

API密钥是客户端和API网关已知的共享密钥。它们本质上是作为长期凭证发布给API客户端的长而复杂的密码。创建API密钥很简单 - 只需编码一个随机数,如本例所示。

在顶级API网关配置文件api_gateway.conf的第6行,我们包含一个名为api_keys.conf的文件,其中包含每个API客户端的API密钥,由客户端名称或其他描述标识。

API密钥在块中定义。 map指令有两个参数。第一个定义了API密钥的位置,在本例中是在$ http_apikey变量中捕获的客户端请求的apikey HTTP头。第二个参数创建一个新变量($ api_client_name)并将其设置为第一个参数与键匹配的行上的第二个参数的值。

例如,当客户端提供API密钥7B5zIqmRGXmrJTFmKa99vcit时,$ api_client_name变量设置为client_one。此变量可用于检查经过身份验证的客户端,并包含在日志条目中以进行更详细的审核。

地图块的格式很简单,易于集成到自动化工作流程中,从现有的凭证存储生成api_keys.conf文件。 API密钥身份验证由每个API的策略部分强制执行。

客户端应在apikey HTTP头中显示其API密钥。如果此标头丢失或为空(第20行),我们发送401响应以告知客户端需要进行身份验证。第23行处理API键与地图块中的任何键都不匹配的情况 - 在这种情况下,api_keys.conf第2行的默认参数将$ api_client_name设置为空字符串 - 我们发送403响应告诉身份验证失败的客户端。

有了这个配置,Warehouse API现在可以实现API密钥身份验证。

JWT身份验证

JSON Web令牌(JWT)越来越多地用于API身份验证。原生JWT支持是NGINX Plus独有的,可以在我们的博客上验证JWT,如使用JWT和NGINX Plus验证API客户端中所述。

本系列的第一篇博客详细介绍了将NGINX Plus部署为API网关的完整解决方案。可以从我们的GitHub Gist仓库查看和下载此博客中讨论的完整文件集。本系列的下一篇博客将探讨更高级的用例,以保护后端服务免受恶意或行为不端的客户端的攻击。

原文:https://dzone.com/articles/deploying-nginx-plus-as-an-api-gateway-part-1-ngin

本文:http://pub.intelligentx.net/deploying-nginx-plus-api-gateway-part-1-nginx

讨论:请加入知识星球或者小红圈【首席架构师圈】

⑼ SQL*PLUS的相关命令

下面就介绍一下一些常用的sql*plus命令:
1. 执行一个SQL脚本文件
SQL>start file_name
SQL>@ file_name
我们可以将多条sql语句保存在一个文本文件中,这样当要执行这个文件中的所有的sql语句时,用上面的任一命令即可,这类似于dos中的批处理。
@与@@的区别是什么?
@等于start命令,用来运行一个sql脚本文件。
@命令调用当前目录下的,或指定全路径,或可以通过SQLPATH环境变量搜寻到的脚本文件。该命令使用是一般要指定要执行的文件的全路径,否则从缺省路径(可用SQLPATH变量指定)下读取指定的文件。
@@用在sql脚本文件中,用来说明用@@执行的sql脚本文件与@@所在的文件在同一目录下,而不用指定要执行sql脚本文件的全路径,也不是从SQLPATH环境变量指定的路径中寻找sql脚本文件,该命令一般用在脚本文件中。
如:在c: emp目录下有文件start.sql和nest_start.sql,start.sql脚本文件的内容为:
@@nest_start.sql - - 相当于@ c: emp est_start.sql
则我们在sql*plus中,这样执行:
SQL> @ c: empstart.sql
2. 对当前的输入进行编辑
SQL>edit
3. 重新运行上一次运行的sql语句
SQL>/
4. 将显示的内容输出到指定文件
SQL> SPOOL file_name
在屏幕上的所有内容都包含在该文件中,包括你输入的sql语句。
5. 关闭spool输出
SQL> SPOOL OFF
只有关闭spool输出,才会在输出文件中看到输出的内容。
6.显示一个表的结构
SQL> desc table_name
7. COL命令:
主要格式化列的显示形式。
该命令有许多选项,具体如下:
COL[UMN] [{ column|expr} [ option ...]]
Option选项可以是如下的子句:
ALI[AS] alias
CLE[AR]
FOLD_A[FTER]
FOLD_B[EFORE]
FOR[MAT] format
HEA[DING] text
JUS[TIFY] {L[EFT]|C[ENTER]|C[ENTRE]|R[IGHT]}
LIKE { expr|alias}
NEWL[INE]
NEW_V[ALUE] variable
NOPRI[NT]|PRI[NT]
NUL[L] text
OLD_V[ALUE] variable
ON|OFF
WRA[PPED]|WOR[D_WRAPPED]|TRU[NCATED]
1). 改变缺省的列标题
COLUMN column_name HEADING column_heading
For example:
Sql>select * from dept;
DEPTNO DNAME LOC
---------- ---------------------------- ---------
10 ACCOUNTING NEW YORK
sql>col LOC heading location
sql>select * from dept;
DEPTNO DNAME location
--------- ---------------------------- -----------
10 ACCOUNTING NEW YORK
2). 将列名ENAME改为新列名EMPLOYEE NAME并将新列名放在两行上:
Sql>select * from emp
Department name Salary
---------- ---------- ----------
10 aaa 11
SQL> COLUMN ENAME HEADING ’Employee|Name’
Sql>select * from emp
Employee
Department name Salary
---------- ---------- ----------
10 aaa 11
note: the col heading turn into two lines from one line.
3). 改变列的显示长度:
FOR[MAT] format
Sql>select empno,ename,job from emp;
EMPNO ENAME JOB
---------- ---------- ---------
7369 SMITH CLERK
7499 ALLEN SALESMAN
7521 WARD SALESMAN
Sql> col ename format a40
EMPNO ENAME JOB
---------- ---------------------------------------- ---------
7369 SMITH CLERK
7499 ALLEN SALESMAN
7521 WARD SALESMAN
4). 设置列标题的对齐方式
JUS[TIFY] {L[EFT]|C[ENTER]|C[ENTRE]|R[IGHT]}
SQL> col ename justify center
SQL> /
EMPNO ENAME JOB
---------- ---------------------------------------- ---------
7369 SMITH CLERK
7499 ALLEN SALESMAN
7521 WARD SALESMAN
对于NUMBER型的列,列标题缺省在右边,其它类型的列标题缺省在左边
5). 不让一个列显示在屏幕上
NOPRI[NT]|PRI[NT]
SQL> col job noprint
SQL> /
EMPNO ENAME
---------- ----------------------------------------
7369 SMITH
7499 ALLEN
7521 WARD
6). 格式化NUMBER类型列的显示:
SQL> COLUMN SAL FORMAT ,990
SQL> /
Employee
Department Name Salary Commission
---------- ---------- --------- ----------
30 ALLEN ,600 300
7). 显示列值时,如果列值为NULL值,用text值代替NULL值
COMM NUL[L] text
SQL>COL COMM NUL[L] text
8). 设置一个列的回绕方式
WRA[PPED]|WOR[D_WRAPPED]|TRU[NCATED]
COL1
--------------------
HOW ARE YOU?
SQL>COL COL1 FORMAT A5
SQL>COL COL1 WRAPPED
COL1
-----
HOW A
RE YO
U?
SQL> COL COL1 WORD_WRAPPED
COL1
-----
HOW
ARE
YOU?
SQL> COL COL1 WORD_WRAPPED
COL1
-----
HOW A
9). 显示列的当前的显示属性值
SQL> COLUMN column_name
10). 将所有列的显示属性设为缺省值
SQL> CLEAR COLUMNS
8. 屏蔽掉一个列中显示的相同的值
BREAK ON break_column
SQL> BREAK ON DEPTNO
SQL> SELECT DEPTNO, ENAME, SAL
FROM EMP
WHERE SAL < 2500
ORDER BY DEPTNO;
DEPTNO ENAME SAL
---------- ----------- ---------
10 CLARK 2450
MILLER 1300
20 SMITH 800
ADAMS 1100
9. 在上面屏蔽掉一个列中显示的相同的值的显示中,每当列值变化时在值变化之前插入n个空行。
BREAK ON break_column SKIP n
SQL> BREAK ON DEPTNO SKIP 1
SQL> /
DEPTNO ENAME SAL
---------- ----------- ---------
10 CLARK 2450
MILLER 1300
20 SMITH 800
ADAMS 1100
10. 显示对BREAK的设置
SQL> BREAK
11. 删除6、7的设置
SQL> CLEAR BREAKS
12. Set 命令:
该命令包含许多子命令:
SET system_variable value
system_variable value 可以是如下的子句之一:
APPI[NFO]{ON|OFF|text}
ARRAY[SIZE] {15|n}
AUTO[COMMIT]{ON|OFF|IMM[EDIATE]|n}
AUTOP[RINT] {ON|OFF}
AUTORECOVERY [ON|OFF]
AUTOT[RACE] {ON|OFF|TRACE[ONLY]} [EXP[LAIN]] [STAT[ISTICS]]
BLO[CKTERMINATOR] {.|c}
CMDS[EP] {;|c|ON|OFF}
COLSEP {_|text}
COM[PATIBILITY]{V7|V8|NATIVE}
CON[CAT] {.|c|ON|OFF}
COPYC[OMMIT] {0|n}
COPYTYPECHECK {ON|OFF}
DEF[INE] {&|c|ON|OFF}
DESCRIBE [DEPTH {1|n|ALL}][LINENUM {ON|OFF}][INDENT {ON|OFF}]
ECHO {ON|OFF}
EDITF[ILE] file_name[.ext]
EMB[EDDED] {ON|OFF}
ESC[APE] {|c|ON|OFF}
FEED[BACK] {6|n|ON|OFF}
FLAGGER {OFF|ENTRY |INTERMED[IATE]|FULL}
FLU[SH] {ON|OFF}
HEA[DING] {ON|OFF}
HEADS[EP] {||c|ON|OFF}
INSTANCE [instance_path|LOCAL]
LIN[ESIZE] {80|n}
LOBOF[FSET] {n|1}
LOGSOURCE [pathname]
LONG {80|n}
LONGC[HUNKSIZE] {80|n}
MARK[UP] HTML [ON|OFF] [HEAD text] [BODY text] [ENTMAP {ON|OFF}] [SPOOL
{ON|OFF}] [PRE[FORMAT] {ON|OFF}]
NEWP[AGE] {1|n|NONE}
NULL text
NUMF[ORMAT] format
NUM[WIDTH] {10|n}
PAGES[IZE] {24|n}
PAU[SE] {ON|OFF|text}
RECSEP {WR[APPED]|EA[CH]|OFF}
RECSEPCHAR {_|c}
SERVEROUT[PUT] {ON|OFF} [SIZE n] [FOR[MAT] {WRA[PPED]|WOR[D_
WRAPPED]|TRU[NCATED]}]
SHIFT[INOUT] {VIS[IBLE]|INV[ISIBLE]}
SHOW[MODE] {ON|OFF}
SQLBL[ANKLINES] {ON|OFF}
SQLC[ASE] {MIX[ED]|LO[WER]|UP[PER]}
SQLCO[NTINUE] {> |text}
SQLN[UMBER] {ON|OFF}
SQLPRE[FIX] {#|c}
SQLP[ROMPT] {SQL>|text}
SQLT[ERMINATOR] {;|c|ON|OFF}
SUF[FIX] {SQL|text}
TAB {ON|OFF}
TERM[OUT] {ON|OFF}
TI[ME] {ON|OFF}
TIMI[NG] {ON|OFF}
TRIM[OUT] {ON|OFF}
TRIMS[POOL] {ON|OFF}
UND[ERLINE] {-|c|ON|OFF}
VER[IFY] {ON|OFF}
WRA[P] {ON|OFF}
1). 设置当前session是否对修改的数据进行自动提交
SQL>SET AUTO[COMMIT] {ON|OFF|IMM[EDIATE]| n}
2).在用start命令执行一个sql脚本时,是否显示脚本中正在执行的SQL语句
SQL> SET ECHO {ON|OFF}
3).是否显示当前sql语句查询或修改的行数
SQL> SET FEED[BACK] {6|n|ON|OFF}
默认只有结果大于6行时才显示结果的行数。如果set feedback 1 ,则不管查询到多少行都返回。当为off 时,一律不显示查询的行数
4).是否显示列标题
SQL> SET HEA[DING] {ON|OFF}
当set heading off 时,在每页的上面不显示列标题,而是以空白行代替
5).设置一行可以容纳的字符数
SQL> SET LIN[ESIZE] {80|n}
如果一行的输出内容大于设置的一行可容纳的字符数,则折行显示。
6).设置页与页之间的分隔
SQL> SET NEWP[AGE] {1|n|NONE}
当set newpage 0 时,会在每页的开头有一个小的黑方框。
当set newpage n 时,会在页和页之间隔着n个空行。
当set newpage none 时,会在页和页之间没有任何间隔。
7).显示时,用text值代替NULL值
SQL> SET NULL text
8).设置一页有多少行数
SQL> SET PAGES[IZE] {24|n}
如果设为0,则所有的输出内容为一页并且不显示列标题
9).是否显示用DBMS_OUTPUT.PUT_LINE包进行输出的信息。
SQL> SET SERVEROUT[PUT] {ON|OFF}
在编写存储过程时,我们有时会用dbms_output.put_line将必要的信息输出,以便对存储过程进行调试,只有将serveroutput变量设为on后,信息才能显示在屏幕上。
10).当SQL语句的长度大于LINESIZE时,是否在显示时截取SQL语句。
SQL> SET WRA[P] {ON|OFF}
当输出的行的长度大于设置的行的长度时(用set linesize n命令设置),当set wrap on时,输出行的多于的字符会另起一行显示,否则,会将输出行的多于字符切除,不予显示。
11).是否在屏幕上显示输出的内容,主要用与SPOOL结合使用。
SQL> SET TERM[OUT] {ON|OFF}
在用spool命令将一个大表中的内容输出到一个文件中时,将内容输出在屏幕上会耗费大量的时间,设置set termspool off后,则输出的内容只会保存在输出文件中,不会显示在屏幕上,极大的提高了spool的速度。
12).将SPOOL输出中每行后面多余的空格去掉
SQL> SET TRIMS[OUT] {ON|OFF}
13)显示每个sql语句花费的执行时间
set TIMING {ON|OFF}
14). 遇到空行时不认为语句已经结束,从后续行接着读入。
SET SQLBLANKLINES ON
Sql*plus中, 不允许sql语句中间有空行, 这在从其它地方拷贝脚本到sql*plus中执行时很麻烦. 比如下面的脚本:
select deptno, empno, ename
from emp
where empno = '7788';
如果拷贝到sql*plus中执行, 就会出现错误。这个命令可以解决该问题
15).设置DBMS_OUTPUT的输出
SET SERVEROUTPUT ON BUFFER 20000
用dbms_output.put_line('strin_content');可以在存储过程中输出信息,对存储过程进行调试
如果想让dbms_output.put_line(' abc');的输出显示为:
SQL> abc,而不是SQL>abc,则在SET SERVEROUTPUT ON后加format wrapped参数。
16). 输出的数据为html格式
set markup html
在8.1.7版本(也许是816? 不太确定)以后, sql*plus中有一个set markup html的命令, 可以将sql*plus的输出以html格式展现.
注意其中的spool on, 当在屏幕上输出的时候, 我们看不出与不加spool on有什么区别, 但是当我们使用spool filename 输出到文件的时候, 会看到spool文件中出现了等tag.
14.修改sql buffer中的当前行中,第一个出现的字符串
C[HANGE] /old_value/new_value
SQL> l
1* select * from dept
SQL> c/dept/emp
1* select * from emp
15.编辑sql buffer中的sql语句
EDI[T]
16.显示sql buffer中的sql语句,list n显示sql buffer中的第n行,并使第n行成为当前行
L[IST] [n]
17.在sql buffer的当前行下面加一行或多行
I[NPUT]
18.将指定的文本加到sql buffer的当前行后面
A[PPEND]
SQL> select deptno,
2 dname
3 from dept;
DEPTNO DNAME
---------- --------------
10 ACCOUNTING
20 RESEARCH
30 SALES
40 OPERATIONS
SQL> L 2
2* dname
SQL> a ,loc
2* dname,loc
SQL> L
1 select deptno,
2 dname,loc
3* from dept
SQL> /
DEPTNO DNAME LOC
---------- -------------- -------------
10 ACCOUNTING NEW YORK
20 RESEARCH DALLAS
30 SALES CHICAGO
40 OPERATIONS BOSTON
19.将sql buffer中的sql语句保存到一个文件中
SAVE file_name
20.将一个文件中的sql语句导入到sql buffer中
GET file_name
21.再次执行刚才已经执行的sql语句
RUN
or
/
22.执行一个存储过程
EXECUTE procere_name
23.在sql*plus中连接到指定的数据库
CONNECT user_name/passwd@db_alias
24.设置每个报表的顶部标题
TTITLE
25.设置每个报表的尾部标题
BTITLE
26.写一个注释
REMARK [text]
27.将指定的信息或一个空行输出到屏幕上
PROMPT [text]
28.将执行的过程暂停,等待用户响应后继续执行
PAUSE [text]
Sql>PAUSE Adjust paper and press RETURN to continue.
29.将一个数据库中的一些数据拷贝到另外一个数据库(如将一个表的数据拷贝到另一个数据库)
COPY {FROM database | TO database | FROM database TO database}
{APPEND|CREATE|INSERT|REPLACE} destination_table
[(column, column, column, ...)] USING query
sql>COPY FROM SCOTT/TIGER@HQ TO JOHN/CHROME@WEST
create emp_temp
USING SELECT * FROM EMP
30.不退出sql*plus,在sql*plus中执行一个操作系统命令:
HOST
Sql> host hostname
该命令在windows下可能被支持。
31.在sql*plus中,切换到操作系统命令提示符下,运行操作系统命令后,可以再次切换回sql*plus:
!
sql>!
$hostname
$exit
sql>
该命令在windows下不被支持。
32.显示sql*plus命令的帮助
HELP
如何安装帮助文件:
Sql>@ ?sqlplusadminhelphlpbld.sql ?sqlplusadminhelphelpus.sql
Sql>help index
33.显示sql*plus系统变量的值或sql*plus环境变量的值
Syntax
SHO[W] option
where option represents one of the following terms or clauses:
system_variable
ALL
BTI[TLE]
ERR[ORS] [{FUNCTION|PROCEDURE|PACKAGE|PACKAGE BODY|
TRIGGER|VIEW|TYPE|TYPE BODY} [schema.]name]
LNO
PARAMETERS [parameter_name]
PNO
REL[EASE]
REPF[OOTER]
REPH[EADER]
SGA
SPOO[L]
SQLCODE
TTI[TLE]
USER
1) . 显示当前环境变量的值:
Show all
2) . 显示当前在创建函数、存储过程、触发器、包等对象的错误信息
Show error
当创建一个函数、存储过程等出错时,变可以用该命令查看在那个地方出错及相应的出错信息,进行修改后再次进行编译。
3) . 显示初始化参数的值:
show PARAMETERS [parameter_name]
4) . 显示数据库的版本:
show REL[EASE]
5) . 显示SGA的大小
show SGA
6). 显示当前的用户名
show user
34.查询一个用户下的对象
SQL>select * from tab;
SQL>select * from user_objects;
35.查询一个用户下的所有的表
SQL>select * from user_tables;
36.查询一个用户下的所有的索引
SQL>select * from user_indexes;
37. 定义一个用户变量
方法有两个:
a. define
b. COL[UMN] [{column|expr} NEW_V[ALUE] variable [NOPRI[NT]|PRI[NT]]
OLD_V[ALUE] variable [NOPRI[NT]|PRI[NT]]
下面对每种方式给予解释:
a. Syntax
DEF[INE] [variable]|[variable = text]
定义一个用户变量并且可以分配给它一个CHAR值。
assign the value MANAGER to the variable POS, type:
SQL> DEFINE POS = MANAGER
assign the CHAR value 20 to the variable DEPTNO, type:
SQL> DEFINE DEPTNO = 20
list the definition of DEPTNO, enter
SQL> DEFINE DEPTNO
―――――――――――――――
DEFINE DEPTNO = ”20” (CHAR)
定义了用户变量POS后,就可以在sql*plus中用&POS或&&POS来引用该变量的值,sql*plus不会再提示你给变量输入值。
b. COL[UMN] [{column|expr} NEW_V[ALUE] variable [NOPRI[NT]|PRI[NT]]
NEW_V[ALUE] variable
指定一个变量容纳查询出的列值。
例:column col_name new_value var_name noprint
select col_name from table_name where ……..
将下面查询出的col_name列的值赋给var_name变量.
一个综合的例子:
得到一个列值的两次查询之差(此例为10秒之内共提交了多少事务):
column redo_writes new_value commit_count
select sum(stat.value) redo_writes
from v$sesstat stat, v$statname sn
where stat.statistic# = sn.statistic#
and sn.name = 'user commits';
-- 等待一会儿(此处为10秒);
execute dbms_lock.sleep(10);
set veri off
select sum(stat.value) - &commit_count commits_added
from v$sesstat stat, v$statname sn
where stat.statistic# = sn.statistic#
and sn.name = 'user commits';
38. 定义一个绑定变量
VAR[IABLE] [variable [NUMBER|CHAR|CHAR (n)|NCHAR|NCHAR (n) |VARCHAR2 (n)|NVARCHAR2 (n)|CLOB|NCLOB|REFCURSOR]]
定义一个绑定变量,该变量可以在pl/sql中引用。
可以用print命令显示该绑定变量的信息。
如:
column inst_num heading Inst Num new_value inst_num format 99999;
column inst_name heading Instance new_value inst_name format a12;
column db_name heading DB Name new_value db_name format a12;
column dbid heading DB Id new_value dbid format 9999999999 just c;
prompt
prompt Current Instance
prompt ~~~~~~~~~~~~~~~~
select d.dbid dbid
, d.name db_name
, i.instance_number inst_num
, i.instance_name inst_name
from v$database d,
v$instance i;
variable dbid number;
variable inst_num number;
begin
:dbid := &dbid;
:inst_num := &inst_num;
end;
/
说明:
在sql*plus中,该绑定变量可以作为一个存储过程的参数,也可以在匿名PL/SQL块中直接引用。为了显示用VARIABLE命令创建的绑定变量的值,可以用print命令
注意:
绑定变量不同于变量:
1. 定义方法不同
2. 引用方法不同
绑定变量::variable_name
变量:&variable_name or &&variable_name
3.在sql*plus中,可以定义同名的绑定变量与用户变量,但是引用的方法不同。
39. &与&&的区别
&用来创建一个临时变量,每当遇到这个临时变量时,都会提示你输入一个值。
&&用来创建一个持久变量,就像用用define命令或带new_vlaue字句的column命令创建的持久变量一样。当用&&命令引用这个变量时,不会每次遇到该变量就提示用户键入值,而只是在第一次遇到时提示一次。
如,将下面三行语句存为一个脚本文件,运行该脚本文件,会提示三次,让输入deptnoval的值:
select count(*) from emp where deptno = &deptnoval;
select count(*) from emp where deptno = &deptnoval;
select count(*) from emp where deptno = &deptnoval;
将下面三行语句存为一个脚本文件,运行该脚本文件,则只会提示一次,让输入deptnoval的值:
select count(*) from emp where deptno = &&deptnoval;
select count(*) from emp where deptno = &&deptnoval;
select count(*) from emp where deptno = &&deptnoval;
40.在输入sql语句的过程中临时先运行一个sql*plus命令
#
有没有过这样的经历? 在sql*plus中敲了很长的命令后, 突然发现想不起某个列的名字了, 如果取消当前的命令,待查询后再重敲, 那太痛苦了. 当然你可以另开一个sql*plus窗口进行查询, 但这里提供的方法更简单.
比如说, 你想查工资大于4000的员工的信息, 输入了下面的语句:
SQL> select deptno, empno, ename
2 from emp
3 where
这时, 你发现你想不起来工资的列名是什么了.
这种情况下, 只要在下一行以#开头, 就可以执行一条sql*plus命令, 执行完后, 刚才的语句可以继续输入
SQL>> select deptno, empno, ename
2 from emp
3 where
6 #desc emp
Name Null? Type
----------------------------------------- -------- --------------
EMPNO NOT NULL NUMBER(4)
ENAME VARCHAR2(10)
JOB VARCHAR2(9)
MGR NUMBER(4)
HIREDATE DATE
SAL NUMBER(7,2)
COMM NUMBER(7,2)
DEPTNO NUMBER(2)
6 sal > 4000;
DEPTNO EMPNO ENAME
---------- ---------- ----------
10 7839 KING
41. SQLPlus中的快速复制和粘贴技巧
1) 鼠标移至想要复制内容的开始
2) 用右手食指按下鼠标左键
3) 向想要复制内容的另一角拖动鼠标,与Word中选取内容的方法一样
4) 内容选取完毕后(所选内容全部反显),鼠标左键按住不动,用右手中指按鼠标右键
5) 这时,所选内容会自动复制到SQL*Plus环境的最后一行
42、得到当前数据库中当前用户可见的所有表名
select table_name from user_tables;

⑽ As plus怎么重启

关闭程序之后,再重新打开As plus。
如果重启还不行的话,建议你卸载重装。
卸载Aspen,可以使用Aspen自带的卸载程序Uninstall AspenTech Software(在Aspen Configuration下) 卸载全部aspen程序。全选所有程序(程序前一定要打上√),点击Uninstall。锋拍李卸载中。卸贺激载完成,点击Close。来到控制面板,点击卸载程序银迟,找到Sentinel RMS License Manager8.5.1,并卸载。到此,软件卸载工作完成。