??xml version="1.0" encoding="utf-8" standalone="yes"?>
在编辑模式下最后行填上
deb http://debian.cn99.com/debian stable main non-free contrib
deb http://debian.cn99.com/debian-non-US stable/non-US main contrib non-free
deb http://debian.cn99.com/debian proposed-updates main contrib non-free
deb http://debian.cn99.com/debian-non-US proposed-updates/non-US main contrib non-free
deb http://debian.cn99.com/debian-security woody/updates main contrib non-free
deb-src http://debian.cn99.com/debian stable main non-free contrib
deb-src http://debian.cn99.com/debian-non-US stable/non-US main contrib non-free
deb-src http://debian.cn99.com/debian proposed-updates main contrib non-free
deb-src http://debian.cn99.com/debian-non-US proposed-updates/non-US main contrib non-free
2、保存退?/span>
3、升Uƈ安装x windows(GNOME)桌面环境
sudo apt-get update
安装 X H口pȝQsudo apt-get install x-window-system-core?/span>
安装d理器:sudo apt-get install xdm/gdm/kdm[注]。最常见的图形化d理器包?XDM、GDM、KDMQ用户可Ҏ自己的需要选择其中之一?/span>
安装桌面环境或窗口管理器Qsudo apt-get install Ubuntu-desktop/kubuntu -desktop/xubuntu-desktop。这分别安?GNOME、KDE、XFCE 桌面环境。对?GNOME、KDE、XFCE q些桌面环境来说Qؓ了获得更强的定制效果Q也可仅安装最基本的组Ӟ如:sudo apt-get install gnome-core/kde-core/xfce4。当Ӟ如果不需要桌面环境,也可选择安装H口理器代ѝ那L话,可以执行指o sudo apt-get install fluxbox/icewm/enlightenment/fvwm
]]>
q是Linuxpȝ理员最常用到的命o之一Q它用于改变文g或目录的讉K权限。该命o有两U用法:
用包含字母和操作W表辑ּ的文字设定法
其语法格式ؓQ?/span>chmod [who] [opt] [mode] 文g/目录?/span>
其中who表示对象Q是以下字母中的一个或l合Q?/span>
uQ表C文件所有?/span>
gQ表C同l用?/span>
oQ表C其它用?/span>
aQ表C所有用?/span>
opt则是代表操作Q可以ؓQ?/span>
+Q添加某个权?/span>
-Q取消某个权?/span>
=Q赋予给定的权限Qƈ取消原有的权?/span>
?/span>mode则代表权限:
rQ可?/span>
wQ可?/span>
xQ可执行
例如Qؓ同组用户增加Ҏ?/span>a.txt的读写权限:
chmod g+rw a.txt
用数字设定法
而数字设定法则更为简单:chmod [mode] 文g?/span>
关键?/span>mode的取|一开始许多初学者会被搞p涂Q其实很单,我们?/span>rwx看成二进制数Q如果有则有1表示Q没有则?/span>0表示Q那?/span>rwx r-x r- -则可以表C成为:
111 101 100
再将其每三位转换成ؓ一个十q制敎ͼ是754?/span>
例如Q我们想?/span>a.txtq个文g的权限ؓQ?/span>
自己 同组用户 其他用户
可读 ?/span> ?/span> ?/span>
可写 ?/span> ?/span> 可执?/span>
那么Q我们先Ҏ上表得到权限串ؓQ?/span>rw-rw-r--Q那么{换成二进制数是110 110 100Q再每三位{换成Z个十q制敎ͼ得?/span>664Q因此我 们执行命令:
chmod 664 a.txt
可以使用命ochmod来ؓ文g或目录赋予权限?span style="font-size: 8pt" lang="EN-US">Linux/Unix ?span lang="EN-US">档案存取权限分ؓ三 : 档案拥有者、群l、其他。利?span style="font-size: 8pt" lang="EN-US"> chmod 可以藉以控制档案如何被他人所存取?span lang="EN-US">
使用权限Q所有用?span lang="EN-US">
格式Q?span style="font-size: 8pt" lang="EN-US">chmod [-cfvR] [--help] [--version] mode file...
参数说明Q?span lang="EN-US">
mode : 权限讑֮字串Q格式如?span style="font-size: 8pt" lang="EN-US"> : [ugoa...][[+-=][rwxX]...][,...]Q其?span style="font-size: 8pt" lang="EN-US">u 表示该档案的拥有者,g 表示与该档案的拥有者属于同一个群?span style="font-size: 8pt" lang="EN-US">(group)者,o 表示其他以外的hQ?span style="font-size: 8pt" lang="EN-US">a 表示q三者皆是?span lang="EN-US">
+ 表示增加权限?span style="font-size: 8pt" lang="EN-US">- 表示取消权限?span style="font-size: 8pt" lang="EN-US">= 表示唯一讑֮权限?span lang="EN-US">
r 表示可读取,w 表示可写入,x 表示可执行,X 表示只有当该档案是个子目录或者该档案已经被设定过为可执行?span lang="EN-US">
-s :在文件执行时把进E的属主或组ID|ؓ该文件的文g属主?span lang="EN-US">
-c : 若该档案权限实已经更改Q才昄其更改动?span lang="EN-US">
-f : 若该档案权限无法被更改也不要昄错误讯息
-v : 昄权限变更的详l资?span lang="EN-US">
-R : 对目前目录下的所有档案与子目录进行相同的权限变更(即以递回的方式逐个变更)
--help : 昄辅助说明
--version : 昄版本
chmod ugo+r file1.txt
档?span style="font-size: 8pt" lang="EN-US"> file1.txt 设ؓ所有h皆可d :
chmod a+r file1.txt
档?span style="font-size: 8pt" lang="EN-US"> file1.txt ?span style="font-size: 8pt" lang="EN-US"> file2.txt 设ؓ该档案拥有者,与其所属同一个群体者可写入Q但其他以外的h则不可写?span style="font-size: 8pt" lang="EN-US"> :
chmod ug+w,o-w file1.txt file2.txt
?span style="font-size: 8pt" lang="EN-US"> ex1.py 讑֮为只有该档案拥有者可以执?span style="font-size: 8pt" lang="EN-US"> :
chmod u+x ex1.py
目前目录下的所有档案与子目录皆设ؓM人可d :
chmod -R a+r *
当其他用h?span style="font-size: 8pt" lang="EN-US">oracle?span style="font-size: 8pt" lang="EN-US">sqlplusq个E序Ӟ他的w䆾因这个程序暂时变?span style="font-size: 8pt" lang="EN-US">oracle
chmod u+s sqlplus
此外,chmod也可以用数字来表C权限如 chmod 777 file
语法为:chmod abc file
其中a,b,c各ؓ一个数字,分别表示User?span style="font-size: 8pt" lang="EN-US">Group、及Other的权限?span lang="EN-US">
r=4Q?span style="font-size: 8pt" lang="EN-US">w=2Q?span style="font-size: 8pt" lang="EN-US">x=1
若要rwx属性则4+2+1=7Q?span lang="EN-US">
若要rw-属性则4+2=6Q?span lang="EN-US">
若要r-x属性则4+1=5?span lang="EN-US">
范例?/strong>Q?span lang="EN-US">
chmod a=rwx file
?span lang="EN-US">
chmod 777 file
效果相同
chmod ug=rwx,o=x file
?span lang="EN-US">
chmod 771 file
效果相同
若用chmod 4755 filename可此程式具?span style="font-size: 8pt" lang="EN-US">root的权?span lang="EN-US">
如果是管理员也就是常说的ROOT用户的话Q基本上有可以查看所有文件的权力.
chmod 4755与chmod 755 的区别在于开头多了一位,q个4表示其他用户执行文gӞh与所有者相当的权限?/span>
例如Qroot用户创徏了一个上|认证程序netloginQ如果其他用戯上网也要用到q个E序Q那需要root用户q行chmod 755 netlogin命o使其他用户也能运行netlogin?/span>
但是netlogin执行时可能需要访问一些只有root用户才有权访问的文gQ那么其他用h行netlogin时可能因为权限不够还是不能上|?/span>
q种情况下,可以用 chmod 4755 netlogin 讄其他用户在执行netlogin也有root用户的权限,从而顺利上|?/span>
作者:北南南北
来自Q?/strong>LinuxSir.Org
摘要Q?/strong>本文主要讲述在Linux pȝ中用?user)和用L(group)理相应的概念;用户(user)和用L(group)相关命o的列举;其中也对单用户多dQ多用户多Q务也做以解说Q本文应该说是比较基的文档;
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++
正文
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++
一、理解Linux的单用户多Q务,多用户多d概念Q?br />
Linux 是一个多用户、多d的操作系l;我们应该了解单用户多d和多用户多Q务的概念Q?/span>
1、Linux 的单用户多Q务;
单用户多dQ比如我们以beinan dpȝQ进入系l后Q我要打开gedit 来写文档Q但在写文档的过E中Q我感觉点音乐Q所以又打开xmms 来点音乐Q当然听炚w乐还不行QMSN q得打开Q想知道几个弟兄现在正在做什么,q样一P我在用beinan 用户dӞ执行了gedit 、xmms以及msn{,当然q有输入法fcitx Q这栯来就有点单了Q一个beinan用户Qؓ了完成工作,执行了几个Q务;当然beinanq个用户Q其它的能以q程dq来Q也能做其它的工作?/span>
2、Linux 的多用户、多dQ?br />
有时可能是很多用户同时用同一个系l,但ƈ不所有的用户都一定都要做同一件事Q所以这有多用户多d之说Q?/span>
举个例子Q比如LinuxSir.Org 服务器,上面有FTP 用户、系l管理员、web 用户、常规普通用LQ在同一时刻Q可能有的弟兄正在访问论坛;有的可能在上传Y件包理子站Q比如luma 或Yuking 兄在理他们的主늳l和FTP Q在与此同时Q可能还会有pȝ理员在l护pȝQ浏览主늚用的是nobody 用户Q大安用同一个,而上传Y件包用的是FTP用户Q管理员的对pȝ的维护或查看Q可能用的是普通帐h权限root帐号Q?/span>不同用户所h的权限也不同Q要完成不同的Q务得需要不同的用户Q也可以?strong>不同的用P可能完成的工作也不一?/strong>Q?/p>
值得注意的是Q多用户多Q务ƈ不是大家同时挤到一接在一台机器的的键盘和昄器前来操作机器,多用户可能通过q程d来进行,比如Ҏ务器的远E控Ӟ只要有用h限Q何h都是可以上去操作或访问的Q?/span> 用户在系l中是分角色的,在Linux pȝ中,׃角色不同Q权限和所完成的Q务也不同Q值得注意的是用户的角色是通过UID和识别的Q特别是UIDQ在pȝ理中,pȝ理员一定要坚守UID 唯一的特性; root 用户Q系l唯一Q是真实的,可以dpȝQ可以操作系lQ何文件和命oQ拥有最高权限; 多用Ll从事实来说对系l管理更为方ѝ从安全角度来说Q多用户理的系l更为安全,比如beinan用户下的某个文g不想让其它用L刎ͼ只是讄一下文件的权限Q只有beinan一个用户可d写可~辑p了,q样一来只有beinan一个用户可以对其私有文件进行操作,Linux 在多用户下表现最佻ILinux能很好的保护每个用户的安全,但我们也得学会Linux 才是Q再安全的系l,如果没有安全意识的管理员或管理技术,q样的系l也不是安全的?/span> 从服务器角度来说Q多用户的下的系l安全性也是最为重要的Q我们常用的Windows 操作pȝQ它在系U权限管理的能力只能说是一般般Q根本没有没有办法和Linux或Unix cȝl相比; 当然用户QuserQ的概念理解q不仅仅于此Q在Linuxpȝ中还有一些用h用来完成特定d的,比如nobody和ftp {,我们讉KLinuxSir.Org 的网늨序,是nobody用户Q我们匿名访问ftp Ӟ会用到用户ftp或nobody Q如果您想了解Linuxpȝ的一些帐Ph?/etc/passwd Q?/span> 举例Q我们ؓ了让一些用h权限查看某一文档Q比如是一个时间表Q而编写时间表的h要具有读写执行的权限Q我们想让一些用L道这个时间表的内容,而不让他们修改,所以我们可以把q些用户都划C个组Q然后来修改q个文g的权限,让用L可读Q这LL下面的每个用户都是可ȝQ?/span> /etc/passwd 注:用户QuserQ的配置文gQ?/span>
比如Fedora ?/etc/logins.defs 文g内容Q?/span>
通过useradd d用户时的规则文gQ?/span>
关于用户QuserQ和用户l(groupQ管理内容大U就是这么多Q只要把上面所说的内容了解和掌握,用户QuserQ和用户l(groupQ管理就差不多了Q由于用PuserQ和用户l(groupQ是和文件及目录权限联系在一LQ所以文件及目录权限的操作也会独立成文来l大家介l; 本文只是让新手弟兄明白用PuserQ和用户l(groupQ一些原理,所以我在写此文的时候,大多是解说内容,我的意思是通过解说和烦引一些命令,让新手弟兄明白一点理论是比较重要的,技术操作无非是命o的用法; 本文内容会不断的更新和变动,一些命令需要独立成文加以解_我会在最q的几天内完成; Linux 相关的man 和相关的help Q?/span> 对于本文Qpandonny 兄也有A献,谢谢Q?/span> 《Linux 用户QuserQ和用户l(groupQ管理概q?/span>
3、用L角色区分Q?br />
虚拟用户Q这cȝ户也被称之ؓ伪用h假用P与真实用户区分开来,q类用户不具有登录系l的能力Q但却是pȝq行不可~少的用P比如bin、daemon、adm、ftp、mail{;q类用户都系l自w拥有的Q而非后来d的,当然我们也可以添加虚拟用P
普通真实用Pq类用户能登录系l,但只能操作自己家目录的内容;权限有限Q这cȝ户都是系l管理员自行d的;
4、多用户操作pȝ的安全;
二、用?userQ和用户l(groupQ概念;
1、用PuserQ的概念Q?br />
通过前面对Linux 多用L理解Q我们明白Linux 是真正意义上的多用户操作pȝQ所以我们能在Linuxpȝ中徏若干用户QuserQ。比如我们的同事想用我的计算机,但我不想让他用我的用户名dQ因为我的用户名下有不想让别人看到的资料和信息(也就是隐U内容)q时我就可以l他Z个新的用户名Q让他用我所开的用户名L腾,q从计算机安全角度来说是W合操作规则的;
2、用LQgroupQ的概念Q?br />
用户l(groupQ就是具有相同特征的用户QuserQ的集合体;比如有时我们要让多个用户h相同的权限,比如查看、修Ҏ一文g或执行某个命令,q时我们需要用LQ我们把用户都定义到同一用户l,我们通过修改文g或目录的权限Q让用户l具有一定的操作权限Q这LL下的用户对该文g或目录都h相同的权限,q是我们通过定义l和修改文g的权限来实现的;
用户和用L的对应关pLQ一对一、多对一、一对多或多对多Q?br />
一对一Q某个用户可以是某个l的唯一成员Q?br />多对一Q多个用户可以是某个唯一的组的成员,不归属其它用LQ比如beinan和linuxsir两个用户只归属于beinan用户l;
一对多Q某个用户可以是多个用户l的成员Q比如beinan可以是rootl成员,也可以是linuxsir用户l成员,q可以是adm用户l成员;
多对多:多个用户对应多个用户l,q且几个用户可以是归属相同的l;其实多对多的关系是前面三条的扩展Q理解了上面的三条,q条也能理解Q?/p>
三、用PuserQ和用户l(groupQ相关的配置文g、命令或目录Q?br />
1、与用户QuserQ和用户l(groupQ相关的配置文gQ?br />
1Q与用户QuserQ相关的配置文gQ?br />
/etc/shadow 注:用户QuserQ媄子口令文Ӟ
2Q与用户l(groupQ相关的配置文gQ?br />
/etc/group 注:用户l(groupQ配|文Ӟ
/etc/gshadow 注:用户l(groupQ的影子文gQ?/span>
2、管理用PuserQ和用户l(groupQ的相关工具或命令;
1Q管理用PuserQ的工具或命令;
adduser 注:d用户
passwd 注:为用戯|密?br />usermod 注:修改用户命oQ可以通过usermod 来修改登录名、用L家目录等{;
pwcov 注:同步用户?etc/passwd ?etc/shadow
pwck 注:pwck是校验用户配|文?etc/passwd ?etc/shadow 文g内容是否合法或完_
pwunconv 注:是pwcov 的立逆向操作Q是?etc/shadow?nbsp;/etc/passwd 创徏/etc/passwd Q然后会删除 /etc/shadow 文gQ?br />finger 注:查看用户信息工具
id 注:查看用户的UID、GID及所归属的用L
chfn 注:更改用户信息工具
su 注:用户切换工具
sudo 注:sudo 是通过另一个用h执行命oQexecute a command as another userQ,su 是用来切换用P然后通过切换到的用户来完成相应的dQ但sudo 能后面直接执行命令,比如sudo 不需要root 密码可以执行root 赋与的执行只有root才能执行相应的命令;但得通过visudo 来编?etc/sudoers来实玎ͼ
visudo 注:visodo 是编?nbsp;/etc/sudoers 的命令;也可以不用这个命令,直接用vi 来编?nbsp;/etc/sudoers 的效果是一LQ?br />sudoedit 注:和sudo 功能差不多;
2Q管理用LQgroupQ的工具或命令;
groupdel 注:删除用户l;
groupmod 注:修改用户l信?br />groups 注:昄用户所属的用户l?br />grpck
grpconv 注:通过/etc/group?etc/gshadow 的文件内Ҏ同步或创?etc/gshadow Q如?etc/gshadow 不存在则创徏Q?br />grpunconv 注:通过/etc/group ?etc/gshadow 文g内容来同步或创徏/etc/group Q然后删除gshadow文gQ?br />
3?etc/skel 目录Q?br />
/etc/skel目录一般是存放用户启动文g的目录,q个目录是由root权限控制Q当我们d用户Ӟq个目录下的文g自动复制到新d的用L家目录下Q?etc/skel 目录下的文g都是隐藏文gQ也是cM.file格式的;我们可通过修改、添加、删?etc/skel目录下的文gQ来为用h供一个统一、标准的、默认的用户环境Q?/span>
ȝ?nbsp;92
drwxr-xr-x 3 root root 4096 8?nbsp;11 23:32 .
drwxr-xr-x 115 root root 12288 10?nbsp;14 13:44 ..
-rw-r--r-- 1 root root 24 5?nbsp;11 00:15 .bash_logout
-rw-r--r-- 1 root root 191 5?nbsp;11 00:15 .bash_profile
-rw-r--r-- 1 root root 124 5?nbsp;11 00:15 .bashrc
-rw-r--r-- 1 root root 5619 2005-03-08 .canna
-rw-r--r-- 1 root root 438 5?nbsp;18 15:23 .emacs
-rw-r--r-- 1 root root 120 5?nbsp;23 05:18 .gtkrc
drwxr-xr-x 3 root root 4096 8?nbsp;11 23:16 .kde
-rw-r--r-- 1 root root 658 2005-01-17 .zshrc
/etc/skel 目录下的文gQ一般是我们用useradd 和adduser 命od用户QuserQ时Q系l自动复制到新添加用PuserQ的家目录下Q如果我们通过修改 /etc/passwd 来添加用hQ我们可以自己创建用L家目录,然后?etc/skel 下的文g复制到用L家目录下Q然后要用chown 来改变新用户家目录的属主Q?/span>
4?etc/login.defs 配置文gQ?br />
/etc/login.defs 文g是当创徏用户时的一些规划,比如创徏用户Ӟ是否需要家目录QUID和GID的范_用户的期限等{,q个文g是可以通过root来定义的Q?/span>
# Directory where mailboxes reside, _or_ name of file, relative to the
# home directory. If you _do_ define both, MAIL_DIR takes precedence.
# QMAIL_DIR is for Qmail
#
#QMAIL_DIR Maildir
MAIL_DIR /var/spool/mail 注:创徏用户Ӟ要在目录/var/spool/mail中创Z个用户mail文gQ?br />#MAIL_FILE .mail
# Password aging controls:
#
# PASS_MAX_DAYS Maximum number of days a password may be used.
# PASS_MIN_DAYS Minimum number of days allowed between password changes.
# PASS_MIN_LEN Minimum acceptable password length.
# PASS_WARN_AGE Number of days warning given before a password expires.
#
PASS_MAX_DAYS 99999 注:用户的密码不q期最多的天数Q?br />PASS_MIN_DAYS 0 注:密码修改之间最的天数Q?br />PASS_MIN_LEN 5 注:密码最长度;
PASS_WARN_AGE 7 注:
#
# Min/max values for automatic uid selection in useradd
#
UID_MIN 500 注:最UID?00 Q也是说添加用hQUID 是从500开始的Q?br />UID_MAX 60000 注:最大UID?0000Q?br />
#
# Min/max values for automatic gid selection in groupadd
#
GID_MIN 500 注:GID 是从500开始;
GID_MAX 60000
#
# If defined, this command is run when removing a user.
# It should remove any at/cron/print jobs etc. owned by
# the user to be removed (passed as the first argument).
#
#USERDEL_CMD /usr/sbin/userdel_local
#
# If useradd should create home directories for users by default
# On RH systems, we do. This option is ORed with the -m flag on
# useradd command line.
#
CREATE_HOME yes 注:是否创用户家目录Q要求创建;
5?etc/default/useradd 文gQ?br />
GROUP=100
HOME=/home 注:把用L家目录徏?home中;
INACTIVE=-1 注:是否启用帐号q期停权Q?1表示不启用;
EXPIRE= 注:帐号l止日期Q不讄表示不启用;
SHELL=/bin/bash 注:所用SHELL的类型;
SKEL=/etc/skel 注: 默认d用户的目录默认文件存放位|;也就是说Q当我们用adduserd用户Ӟ用户家目录下的文Ӟ都是从这个目录中复制q去的;
后记Q?br />
参考文档:
致谢Q?br />
相关文档Q?br />
《用PuserQ和用户l(groupQ配|文件详解?/span>
《Linux 用户QUserQ查询篇?/span>
《Linux 用户理工具介绍?/span>
《Linux pȝ中的权限的控制?/span>
《在Linuxpȝ中,扚wd用户的操作流E?/span>
]]>
/Q?/strong>根目录,一般根目录下只存放目录Q不要存放文Ӟ/etc?bin?dev?lib?sbin应该和根目录攄在一个分Z
/bin:/usr/bin:可执行二q制文g的目录,如常用的ls,tar,mv,cat{?/span>
/bootQ?/strong>攄linuxpȝ启动时用到的一些文件?boot/vmlinuz为linux的内核文Ӟ以及/boot/gurb?/span>单独分区Q分区大?00M卛_
/devQ?/strong>存放linuxpȝ下的讑֤文gQ访问该目录下某个文Ӟ相当于访问某个设备,常用的是挂蝲光驱mount /dev/cdrom /mnt?
/etcQ?/strong>pȝ配置文g存放的目录,不徏议在此目录下存放可执行文Ӟ重要的配|文件有/etc/inittab?etc/fstab?etc/init.d?etc/X11?etc/sysconfig?etc/xinetd.d修改配置文g之前记得备䆾?
注:/etc/X11存放与x windows有关的设|?
/homeQ?/strong>pȝ默认的用户家目录Q新增用戯̎hQ用L家目录都存放在此目录下,~表示当前用户的家目录Q~test表示用户test的家目录?/span>单独分区Qƈ讄较大的磁盘空_方便用户存放数据
/lib:/usr/lib:/usr/local/libQ?/strong>pȝ使用的函数库的目录,E序在执行过E中Q需要调用一些额外的参数旉要函数库的协助,比较重要的目录ؓ/lib/modules?
/lost+fountQ?/strong>pȝ异常产生错误Ӟ会将一些遗q片段攄于此目录下,通常q个目录会自动出现在装置目录下。如加蝲盘?disk 中,此目录下׃自动产生目录/disk/lost+found
/mnt:/mediaQ?/strong>光盘默认挂蝲点,通常光盘挂蝲?mnt/cdrom下,也不一定,可以选择L位置q行挂蝲?
/optQ?/span>l主机额外安装Y件所摆放的目录。如QFC4使用的Fedora C开发YӞ如果惌自行安装新的KDE 桌面软gQ可以将该Y件安装在该目录下。以前的 Linux pȝ中,习惯攄?/usr/local 目录?
/procQ?/strong>此目录的数据都在内存中,如系l核心,外部讑֤Q网l状态,׃数据都存放于内存中,所以不占用盘I间Q比较重要的目录?proc/cpuinfo?proc/interrupts?proc/dma?proc/ioports?proc/net/*{?
/rootQ?/strong>pȝ理员root的家目录Q系l第一个启动的分区?Q所以最好将/root?攄在一个分Z?
/sbin:/usr/sbin:/usr/local/sbinQ?/strong>攄pȝ理员用的可执行命令,如fdisk、shutdown、mount{。与/bin不同的是Q这几个目录是给pȝ理员root使用的命令,一般用户只?查看"而不能设|和使用?
/tmpQ?/strong>一般用h正在执行的程序时存放文件的目录,M人都可以讉K,重要数据不可攄在此目录?
/srvQ?/strong>服务启动之后需要访问的数据目录Q如www服务需要访问的|页数据存放?srv/www?
/usrQ?/strong>应用E序存放目录Q?/span>/usr/bin存放应用E序Q?/span>/usr/share存放׃n数据Q?/span>/usr/lib存放不能直接q行的,却是许多E序q行所必需的一些函数库文g?/span>/usr/local:存放软g升包?/span>/usr/share/doc:pȝ说明文g存放目录?/span>/usr/share/man: E序说明文g存放目录Q?man ls时会查询/usr/share/man/man1/ls.1.gz的内?/span>单独分区Q设|较大的盘I间
/varQ?/strong>攄pȝ执行q程中经常变化的文gQ如随时更改的日志文?var/logQ?/span>/var/log/messageQ?/strong>所有的d文g存放目录Q?/span>/var/spool/mailQ邮件存攄目录Q?/span>/var/run:E序或服务启动后Q其PID存放在该目录下?/span>单独分区Q设|较大的盘I间
4、Last line mode下命令简?
在用「last line mode」之前,误住先按「ESC」键定您已l处于「command mode」下后,再按「:」冒号即可进入「last line mode」?
A) 列出行号
「set nu」:输入「set nu」后Q会在文件中的每一行前面列受?
B) 跛_文g中的某一?
?」:?」号表示一个数字,在冒号后输入一个数字,再按回R键就会蟩到该行了Q如输入数字15Q再回RQ就会蟩到文章的W?5行?
C) 查找字符
?关键字」:先按?」键Q再输入您想L的字W,如果W一ơ找的关键字不是您想要的Q可以一直按「n」会往后寻扑ֈ您要的关键字为止?
?关键字」:先按?」键Q再输入您想L的字W,如果W一ơ找的关键字不是您想要的Q可以一直按「n」会往前寻扑ֈ您要的关键字为止?
D) 保存文g
「w」:在冒可入字母「w」就可以文件保存v来?
E) dvi
「q」:按「q」就是退出,如果无法dviQ可以在「q」后跟一个?」强制离开vi?
「qw」:一般徏议离开Ӟ搭配「w」一起用,q样在退出的时候还可以保存文g?
5、vi命o列表
1、下表列出命令模式下的一些键的功能:
h
左移光标一个字W?
l
右移光标一个字W?
k
光标上移一?
j
光标下移一?
^
光标Ud臌?
0
数字"0"Q光标移x章的开?
G
光标U至文章的最?
$
光标Ud臌?
Ctrl+f
向前d
Ctrl+b
向后d
Ctrl+d
向前d?
Ctrl+u
向后d?
i
在光标位|前插入字符
a
在光标所在位|的后一个字W开始增?
o
插入新的一行,从行首开始输?
ESC
从输入状态退臛_令状?
x
删除光标后面的字W?
#x
删除光标后的Q个字符
X
(大写X)Q删除光标前面的字符
#X
删除光标前面?个字W?
dd
删除光标所在的?
#dd
删除从光标所在行数的#?
yw
复制光标所在位|的一个字
#yw
复制光标所在位|的#个字
yy
复制光标所在位|的一?
#yy
复制从光标所在行数的#?
p
_脓
u
取消操作
cw
更改光标所在位|的一个字
#cw
更改光标所在位|的#个字
2、下表列命o模式下的一些指?
w filename
储存正在~辑的文件ؓfilename
wq filename
储存正在~辑的文件ؓfilenameQƈ退出vi
q!
攑ּ所有修改,退出vi
set nu
昄行号
/?
查找Q在/后输入要查找的内?
n
??一起用,如果查找的内容不是想要找的关键字Q按n或向后(?联用Q或向前Q与?联用Ql查找,直到扑ֈ为止?
对于W一ơ用viQ有几点注意要提醒一下:
1、用vi打开文g后,是处于「命令行模式Qcommand modeQ」,您要切换到「插入模式(Insert modeQ」才能够输入文字。切换方法:在「命令行模式Qcommand modeQ」下按一下字母「i」就可以q入「插入模式(Insert modeQ」,q时候你可以开始输入文字了?
2、编辑好后,需从插入模式切换ؓ命o行模式才能对文gq行保存Q切换方法:按「ESC」键?
3、保存ƈ退出文Ӟ在命令模式下输入:wq卛_Q(别忘了wq前面?Q?nbsp;
对于DBA来说Q启动和关闭oracle监听器是很基的Q务,但是Linuxpȝ理员或者程序员有时也需要在开发数据库中做一些基本的DBA操作Q因此了解一些基本的理操作对他们来说很重要?/span>
本文讨论用LSNRCTL命o启动、关闭和查看监听器的状态的Ҏ?/span>
怎样启动、关闭和重新启动oracle监听?/span>
在启动、关闭或者重启oracle监听器之前确保用lsnrctl status命o查oracle监听器的状态。除了得到监听器的状态之外,你还可以从lsnrctl status命o的输Z得到如下的信息:
监听器的启动旉
监听器的q行旉
监听器参数文件listener.ora的位|,通常位于$ORACLE_HOME/network/admin目录?
监听器日志文件的位置
如果oracle监听器没用运行,你将得到如下的信?/span>
view plaincopy to clipboardprint?
$ lsnrctl status
LSNRCTL for Linux: Version 11.1.0.6.0 - Production on 04-APR-2009 16:27:39
Copyright (c) 1991, 2007, Oracle. All rights reserved.
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.1.2)(PORT=1521)))
TNS-12541: TNS:no listener
TNS-12560: TNS:protocol adapter error
TNS-00511: No listener
Linux Error: 111: Connection refused
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC)))
TNS-12541: TNS:no listener
TNS-12560: TNS:protocol adapter error
TNS-00511: No listener
Linux Error: 2: No such file or directory
如果oracle监听器正在运行,你将得到如下信息
view plaincopy to clipboardprint?
$ lsnrctl status
LSNRCTL for Linux: Version 11.1.0.6.0 - Production on 04-APR-2009 16:27:02
Copyright (c) 1991, 2007, Oracle. All rights reserved.
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.1.2)(PORT=1521)))
STATUS of the LISTENER
————————
Alias LISTENER
Version TNSLSNR for Linux: Version 11.1.0.6.0 - Production
Start Date 29-APR-2009 18:43:13
Uptime 6 days 21 hr. 43 min. 49 sec
Trace Level off
Security ON: Local OS Authentication
SNMP OFF
Listener Parameter File /u01/app/oracle/product/11.1.0/network/admin/listener.ora
Listener Log File /u01/app/oracle/diag/tnslsnr/devdb/listener/alert/log.xml
Listening Endpoints Summary…
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.1.2)(PORT=1521)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC)))
Services Summary…
Service “devdb” has 1 instance(s).
Instance “devdb”, status UNKNOWN, has 1 handler(s) for this service…
Service “devdb.thegeekstuff.com” has 1 instance(s).
Instance “devdb”, status READY, has 1 handler(s) for this service…
Service “devdbXDB.thegeekstuff.com” has 1 instance(s).
Instance “devdb”, status READY, has 1 handler(s) for this service…
Service “devdb_XPT.thegeekstuff.com” has 1 instance(s).
Instance “devdb”, status READY, has 1 handler(s) for this service…
The command completed successfully
2.启动oracle监听?/strong>
如果oracle监听器没用运行,你可以用lsnrctl start命o启动oracle监听器,该命令将启动所有的监听器,如果你只惛_动特定的监听器,可以再start后面指定监听器的名字Q例如:lsnrctl start [listener-name]?/span>
view plaincopy to clipboardprint?
$ lsnrctl start
LSNRCTL for Linux: Version 11.1.0.6.0 - Production on 04-APR-2009 16:27:42
Copyright (c) 1991, 2007, Oracle. All rights reserved.
Starting /u01/app/oracle/product/11.1.0/bin/tnslsnr: please wait…
TNSLSNR for Linux: Version 11.1.0.6.0 - Production
System parameter file is /u01/app/oracle/product/11.1.0/network/admin/listener.ora
Log messages written to /u01/app/oracle/diag/tnslsnr/devdb/listener/alert/log.xml
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.1.2)(PORT=1521)))
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC)))
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.1.2)(PORT=1521)))
STATUS of the LISTENER
————————
Alias LISTENER
Version TNSLSNR for Linux: Version 11.1.0.6.0 - Production
Start Date 04-APR-2009 16:27:42
Uptime 0 days 0 hr. 0 min. 0 sec
Trace Level off
Security ON: Local OS Authentication
SNMP OFF
Listener Parameter File /u01/app/oracle/product/11.1.0/network/admin/listener.ora
Listener Log File /u01/app/oracle/diag/tnslsnr/devdb/listener/alert/log.xml
Listening Endpoints Summary…
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.1.2)(PORT=1521)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC)))
Services Summary…
Service “devdb” has 1 instance(s).
Instance “devdb”, status UNKNOWN, has 1 handler(s) for this service…
The command completed successfully
$ lsnrctl start
LSNRCTL for Linux: Version 11.1.0.6.0 - Production on 04-APR-2009 16:27:42
Copyright (c) 1991, 2007, Oracle. All rights reserved.
Starting /u01/app/oracle/product/11.1.0/bin/tnslsnr: please wait…
TNSLSNR for Linux: Version 11.1.0.6.0 - Production
System parameter file is /u01/app/oracle/product/11.1.0/network/admin/listener.ora
Log messages written to /u01/app/oracle/diag/tnslsnr/devdb/listener/alert/log.xml
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.1.2)(PORT=1521)))
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC)))
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.1.2)(PORT=1521)))
STATUS of the LISTENER
————————
Alias LISTENER
Version TNSLSNR for Linux: Version 11.1.0.6.0 - Production
Start Date 04-APR-2009 16:27:42
Uptime 0 days 0 hr. 0 min. 0 sec
Trace Level off
Security ON: Local OS Authentication
SNMP OFF
Listener Parameter File /u01/app/oracle/product/11.1.0/network/admin/listener.ora
Listener Log File /u01/app/oracle/diag/tnslsnr/devdb/listener/alert/log.xml
Listening Endpoints Summary…
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.1.2)(PORT=1521)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC)))
Services Summary…
Service “devdb” has 1 instance(s).
Instance “devdb”, status UNKNOWN, has 1 handler(s) for this service…
The command completed successfully
3.关闭oracle监听?/span>
如果oracle监听器正在运行,可以使用lsnrctl stop命o关闭oracle监听器,该命令将关闭所有的监听器,如果你只惛_闭特定的监听器,可以再stop后面指定监听器的名字Q例如:lsnrctl stop [listener-name]
view plaincopy to clipboardprint?
$ lsnrctl stop
LSNRCTL for Linux: Version 11.1.0.6.0 - Production on 04-APR-2009 16:27:37
Copyright (c) 1991, 2007, Oracle. All rights reserved.
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.1.2)(PORT=1521)))
The command completed successfully
4.重启oracle监听?/strong>
用lsnrctl reload重启监听器,此命令可以代替lsnrctl stop和lsnrctl start。重启将会在不需要关闭和启动监听器的情况下读取listener.ora的配|?/span>
view plaincopy to clipboardprint?
$ lsnrctl reload
LSNRCTL for Linux: Version 11.1.0.6.0 - Production on 04-APR-2009 17:03:31
Copyright (c) 1991, 2007, Oracle. All rights reserved.
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.1.2)(PORT=1521)))
The command completed successfully
Oracle监听器帮?/strong>
1.查看所有的监听器命?/span>
lsnrctl hep命o可以昄所有可用的监听器命令。在oracle11g中其输出如下Q?/span>
start - Start the Oracle listener
stop - Stop the Oracle listener
status - Display the current status of the Oracle listener
services - Retrieve the listener services information
version - Display the oracle listener version information
reload - This will reload the oracle listener SID and parameter files. This is equivalent to lsnrctl stop and lsnrctl start.
save_config - This will save the current settings to the listener.ora file and also take a backup of the listener.ora file before overwriting it. If there are no changes, it will display the message “No changes to save for LISTENER”
trace - Enable the tracing at the listener level. The available options are ‘trace OFF’, ‘trace USER’, ‘trace ADMIN’ or ‘trace SUPPORT’
spawn - Spawns a new with the program with the spawn_alias mentioned in the listener.ora file
change_password - Set the new password to the oracle listener (or) change the existing listener password.
show - Display log files and other relevant listener information.
view plaincopy to clipboardprint?
$ lsnrctl help
LSNRCTL for Linux: Version 11.1.0.6.0 - Production on 04-APR-2009 16:12:09
Copyright (c) 1991, 2007, Oracle. All rights reserved.
The following operations are available
An asterisk (*) denotes a modifier or extended command:
start stop status
services version reload
save_config trace spawn
change_password quit exit
set* show*
2.得到指定监听器命令的详细帮助信息
可以使用lsnrctl help得到指定的命令的详细帮助信息。如下所C?/span>
view plaincopy to clipboardprint?
$ lsnrctl help show
LSNRCTL for Linux: Version 11.1.0.6.0 - Production on 04-APR-2009 16:22:28
Copyright (c) 1991, 2007, Oracle. All rights reserved.
The following operations are available after show
An asterisk (*) denotes a modifier or extended command:
rawmode displaymode
rules trc_file
trc_directory trc_level
log_file log_directory
log_status current_listener
inbound_connect_timeout startup_waittime
snmp_visible save_config_on_stop
dynamic_registration
本文来自CSDN博客Q{载请标明出处Q?/span>http://blog.csdn.net/zjliu1984/archive/2009/06/16/4273304.aspx
数据库名、实例名、数据库域名、全局数据库名、服务名 Q?
q是几个令很多初学者容易淆的概念。相信很多初学者都与我一栯标题上这些个概念搞得一头雾水。我们现在就来把它们弄个明白?/span>
一、数据库? DB_NAME和instance_name在\oracle\admin\szcg\pfile\下的init.ora文g中,其中szcg是数据库?/span> 数据库名的作?/strong> 查询当前数据?/strong> 修改数据库名 二、数据库实例?/strong> 查询当前数据库实例名 数据库实例名与ORACLE_SID 数据库实例名与网l连?/strong> 三、数据库域名 查询数据库域?/strong> 全局数据库名 四、数据库服务?/strong> 查询数据库服务名 数据库服务名与网l连?
什么是数据库名Q?/strong>
数据库名是一个数据库的标识,像人的w䆾证号一栗他用参数DB_NAME表示Q如果一台机器上装了多全数据库,那么每一个数据库都有一个数据库名。在数据库安装或创徏完成之后Q参数DB_NAME被写入参数文件之中。格式如下:
DB_NAME=myorcl
...
在创建数据库时就应考虑好数据库名,q且在创建完数据库之后,数据库名不宜修改Q即使要修改也会很麻烦。因为,数据库名q被写入控制文g中,控制文g是以二进制型式存储的Q用h法修Ҏ制文件的内容。假讄户修改了参数文g中的数据库名Q即修改DB_NAME的倹{但是在Oracle启动Ӟ׃参数文g中的DB_NAME与控制文件中的数据库名不一_D数据库启动失败,返回ORA-01103错误?/p>
数据库名是在安装数据库、创建新的数据库、创建数据库控制文g、修Ҏ据结构、备份与恢复数据库时都需要用到的?
有很多Oracle安装文g目录是与数据库名相关的,如:
winnt: d:\oracle\product\10.1.0\oradata\DB_NAME\...
Unix: /home/app/oracle/product/10.1.0/oradata/DB_NAME/...
pfile:
winnt: d:\oracle\product\10.1.0\admin\DB_NAME\pfile\ini.ora
Unix: /home/app/oracle/product/10.1.0/admin/DB_NAME/pfile/init$ORACLE_SID.ora
跟踪文g目录Q?
winnt: /home/app/oracle/product/10.1.0/admin/DB_NAME/bdump/...
另外Q在创徏数据Ӟcareate database命o中的数据库名也要与参数文件中DB_NAME参数的g_否则生错误?
同样Q修Ҏ据库l构的语句alter databaseQ?当然也要指出要修改的数据库的名称?
如果控制文g损坏或丢失,数据库将不能加蝲Q这时要重新创徏控制文gQ方法是以nomount方式启动实例Q然后以create controlfile命o创徏控制文gQ当然这个命令中也是指指DB_NAME?
q有在备份或恢复数据库时Q都需要用到数据库名?
MQ数据库名很重要Q要准确理解它的作用?/p>
Ҏ一:select name from v$database;
Ҏ二:show parameter db
Ҏ三:查看参数文g?/p>
前面Q应在创建数据库时就定好数据库名,数据库名不应作修改,因ؓ修改数据库名是一件比较复杂的事情。那么现在就来说明一下,如何在已创徏数据之后Q修Ҏ据库名。步骤如下:
1.关闭数据库?
2.修改数据库参数文件中的DB_NAME参数的gؓ新的数据库名?
3.以NOMOUNT方式启动实例Q修建控制文?有关创徏控制文g的命令语法,请参考oracle文档)
什么是数据库实例名Q?
数据库实例名是用于和操作pȝq行联系的标?/font>Q就是说数据库和操作pȝ之间的交互用的是数据库实例名。实例名也被写入参数文g中,该参Cؓinstance_nameQ在winntq_中,实例名同时也被写入注册表?
数据库名和实例名可以相同也可以不同?
在一般情况下Q数据库名和实例名是一对一的关p,但如果在oracleq行服务器架?即oracle实时应用集群)中,数据库名和实例名是一对多的关pR这一点在W一中已有图例说明?/p>
Ҏ一Qselect instance_name from v$instance;
Ҏ二:show parameter instance
Ҏ三:在参数文件中查询?/p>
虽然两者都表是oracle实例Q但两者是有区别的?font color="#0000ff">instance_name是oracle数据库参数。而ORACLE_SID是操作系l的环境变量。ORACLD_SID用于与操作系l交?/font>Q也是_从操作系l的角度讉K实例名,必须通过ORACLE_SID。在winnt不台QORACLE_SIDq需存在于注册表中?
且ORACLE_SID必须与instance_name的g_否则Q你会收到一个错误,在unixq_Q是“ORACLE not available”,在winntq_Q是“TNS:协议适配器错?#8221;?/p>
数据库实例名除了与操作系l交互外Q还用于|络q接的oracle服务器标识。当你配|oracleLq接串的时候,需要指定实例名。当?i以后版本的网l组件要求用的是服务名SERVICE_NAME。这个概忉|下来说明 ?/p>
什么是数据库域名?
在分布式数据库系l中Q不同版本的数据库服务器之间Q不行的操作pȝ是unix或是windowsQ各服务器之间都可以通过数据库链路进行远E复Ӟ数据库域名主要用于oracle分布式环境中的复制。D例说明如Q?
全国交通运政系l的分布式数据库Q其中:
徏节点Q?fj.jtyz
徏厦门节点Q?xm.fj.jtyz
江西Q?jx.jtyz
江西上饶Qsr.jx.jtyz
q就是数据库域名?
数据库域名在存在于参数文件中Q他的参数是db_domain.
Ҏ一Qselect value from v$parameter where name = 'db_domain';
Ҏ二:show parameter domain
Ҏ三:在参数文件中查询?/p>
全局数据库名=数据库名+数据库域名,如前q福点的全局数据库名是:oradb.fj.jtyz
什么是数据库服务名Q?
从oracle9i版本开始,引入了一个新的参敎ͼx据库服务名。参数名是SERVICE_NAME?
如果数据库有域名Q则数据库服务名是全局数据库名Q否则,数据库服务名与数据库名相?/font>?/p>
Ҏ一Qselect value from v$parameter where name = 'service_name';
Ҏ二:show parameter service_name
Ҏ三:在参数文件中查询?/p>
从oracle8i开始的oracle|络lgQ数据库与客L的连接主Z使用数据库服务名。之前用的是ORACLE_SID,x据库实例名?nbsp;
]]>
I)启动一个数据库需要三个步骤:
1、创Z个ORACLE实例Q非安装阶段Q?/span>
2、由实例安装数据库(安装阶段Q?/span>
3、打开数据库(打开阶段Q?/span>
命oQ?/span>
a、STARTUP NOMOUNTQ仅仅创Z个ORACLE实例Q?/span>
b、STARTUP MOUNTQ创建实例ƈ且安装数据库Q但没有打开数据库)
c、STARTUPQ创建实例、安装数据库、打开数据库)
情况一Q?/span>
STARTUP NOMOUNT;
ALTER DATABASE MOUNT;
ALTER DATABASE OPEN;
情况二:
STARTUP MOUNT;
ALTER DATABASE OPEN;
情况三:
STARTUP;
II)其他打开方式
除了前面介绍的三U数据库打开方式选项外,q有另外其他的一些选项?/span>
(1) STARTUP RESTRICT
q种方式下,数据库将被成功打开Q但仅仅允许一些特权用PhDBA角色的用P才可以用数据库。这U方式常用来Ҏ据库q行l护Q如数据的导?导出操作时不希望有其他用戯接到数据库操作数据?/span>
(2) STARTUP FORCE
该命令其实是关闭数据库(shutdown abortQ和启动数据库(startupQ两条命令的一个综合。该命o仅在关闭数据库遇到问题不能关闭数据库旉用?/span>
(3) ALTER DATABASE OPEN READ ONLY;
该命令在创徏实例以及安装数据库后Q以只读方式打开数据库。对于那些仅仅提供查询功能的产品数据库可以采用这U方式打开?/span>
二、数据库关闭QSHUTDOWNQ?/span>
1、SHUTDOWN NORMAL
q是数据库关闭SHUTDOWN命o的确省选项。也是说如果你发出SHUTDOWNq样的命令,也即是SHUTDOWN NORNAL的意思?/span>
发出该命令后QQ何新的连接都再不允许连接到数据库。在数据库关闭之前,Oracle等待目前连接的所有用户都从数据库中退出后才开始关闭数据库。采用这U方式关闭数据库Q在下一ơ启动时不需要进行Q何的实例恢复。但需要注意一点的是,采用q种方式Q也许关闭一个数据库需要几天时_也许更长?/span>
2、SHUTDOWN IMMEDIATE
q是我们常用的一U关闭数据库的方式,惛_快地关闭数据库,但又惌数据库干净的关闭,帔R用这U方式?/span>
当前正在被Oracle处理的SQL语句立即中断Q系l中M没有提交的事务全部回滚。如果系l中存在一个很长的未提交的事务Q采用这U方式关闭数据库也需要一D|_该事务回滚时_。系l不{待q接到数据库的所有用户退出系l,回滚当前所有的zd事务Q然后断开所有的q接用户?/span>
3、SHUTDOWN ABORT
q是关闭数据库的最后一招,也是在没有Q何办法关闭数据库的情况下才不得不采用的方式,一般不要采用。如果下列情况出现时可以考虑采用q种方式关闭数据库?/span>
a?数据库处于一U非正常工作状态,不能用shutdown normal或者shutdown immediateq样的命令关闭数据库;
b?需要立卛_闭数据库Q?/span>
c?在启动数据库实例旉到问题;
所有正在运行的SQL语句都将立即中止。所有未提交的事务将不回滚。Oracle也不{待目前q接到数据库的用户退出系l。下一ơ启动数据库旉要实例恢复,因此Q下一ơ启动可能比qx需要更多的旉?/span>
4、SHUTDOWN TRANSACTIONAL
该选项仅在Oracle 8i后才可以使用。该命o常用来计划关闭数据库Q它使当前连接到pȝ且正在活动的事务执行完毕Q运行该命o后,M新的q接和事务都是不允许的。在所有活动的事务完成后,数据库将和SHUTDOWN IMMEDIATE同样的方式关闭数据库?/span>