数据库常用管理命令—测试工程师核心开发技术(9)

发表于:2020-1-20 13:56

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:51Testing教研团队    来源:51Testing软件测试网原创

分享:
  3.2.5 数据库常用管理命令
  为了更好地对数据库进行管理,Oracle提供了常用的数据库管理命令。下面详细介绍这些命令。
  1.数据库启动与停止命令
  首先,在Windows命令行窗口下输入命令"sqlplus/nolog",无须登录即可在服务器本机上进入SQL Plus控制台。在SQL Plus命令行窗口中输入"connect /as sysdba"连接到数据库服务器。
  启动数据库的命令格式为"startup 启动选项"。
  停止数据库的命令格式为"shutdown 停止选项"。
  1)启动选项
  (1)nomount。只创建例程,不挂载数据库,能与数据库进行通信,但不能使用数据库中的任何文件。如果要"重建控制文件"或"运行一个创建新数据库的脚本",就必须选择该模式。
  (2)mount。不但创建例程,而且挂载数据库,但不打开数据库。在该模式下,仅数据库管理员可通过部分命令修改数据库,用户无法访问数据库。
  (3)open。不但创建例程,而且挂载数据库,并打开数据库,这是正常启动模式,也是默认选项。
  (4)force。如果以正常方式启动数据库时遇到困难,则可使用该选项强制启动数据库。与正常模式的差别在于无论数据库处于什么模式,都可以使用该选项。该选项首先异常关闭数据库,然后重新启动它,而不需要事先用"shutdown"语句关闭数据库。
  (5)restrict。启动数据库并将其置于open模式,但此时只有拥有restricted session权限的用户才能访问数据库。
  (6)pfile=filename。指定一个初始化参数文件来启动数据库,Oracle中的参数文件通常是以".ora"结尾的一系列文件,下一节会介绍相关内容。
  2)停止选项
  (1)normal。以正常方式关闭数据库,此时Oracle将执行如下操作。
  ● 阻止任何用户建立新的连接。
  ● 等待当前所有正在连接的用户主动断开连接。正在连接的用户能够继续他们当前的工作甚至提交新的事务。
  ● 一旦所有用户都断开连接,才关闭、卸载数据库,并终止例程。
  (2)transactional。该选项比normal选项稍微主动一些,能在尽可能短的时间内关闭数据库。此时Oracle将执行如下操作。
  ● 阻止任何用户建立新的连接,同时阻止当前连接的用户开始新的事务。
  ● 等待所有当前未提交的活动事务提交完毕,并立即断开用户的连接。
  ● 一旦所有的用户都断开连接,立即关闭、卸载数据库,并终止例程。
  (3)immediate。在尽可能短的时间内关闭数据库。对于一些比较紧急的情况,如即停电或由于数据库本身的异常需要关闭或重启,可以采用此选项。Oracle在关闭时将执行如下操作。
  ● 阻止任何用户建立新的连接,同时阻止当前连接的用户开始新的事务。
  ● 回退任何当前未提交的事务。
  ● Oracle不再等待用户主动断开连接,而直接关闭、卸载数据库,并终止例程。
  (4)abort。如果以上3种情况都无法关闭数据库,就说明数据库存在严重错误,只能使用abort选项强行关闭数据库。在使用该选项时,Oracle将执行如下操作。
  ● 阻止任何用户建立新的连接,同时阻止当前连接的用户开始新的事务。
  ● 立即结束当前正在执行的SQL语句。
  ● 立即断开所有用户的连接,直接关闭、卸载数据库,并终止例程。
  3)转换启动模式
  例如,可以使用命令"alter database open"将数据从mount模式转换为open模式,提供正常服务。
  注意,如果只是正常启动和停止数据库,不需要任何特殊的管理操作,直接在Windows系统的服务控制面板中启动和停止数据库服务即可。
  2.端口侦听命令
  侦听端口的操作主要包括查看状态、启动和停止这3种,这3种操作使用一条Windows命令lsnrctl即可完成。
  ● lsnrctl start:启动侦听端口,与启动服务中的OracleOraDB12Home1TNSListener效果一样。
  ● lsnrctl stop:停止侦听端口,与停止服务中的OracleOraDB12Home1TNSListener效果一样。
  ● lsnrctl status:查看当前侦听器的状态是否正常。
  3.控制台操作命令
  DB Console或者Oracle Enterprise Manager的相关命令如下。
  ● 启动控制台的命令如下。
  emctl start dbconsole
  ● 停止控制台的命令如下。
  emctl stop dbconsole
  ● 查看控制台状态的命令如下。
  emctl startus dbconsole
  4.SQL Plus常用命令
  SQL Plus是Oracle自带的一个与Oracle数据库进行交互操作的应用程序,功能非常强大。通过SQL Plus实用程序,我们可以运行各种SQL语句或者SQL脚本,对Oracle进行各类管理操作。下面对常用的一些SQL Plus命令做一个简单总结。在真正学习的时候,我们完全可以使用功能更强大、界面更友好的工具来代替SQL Plus,如PLSQL Developer、SQL Developer、TOAD等。
  登录SQL Plus的命令如下。
  ● 作为普通用户登录的命令如下。
  sqlplus tester/T123456@orcl
  ● 作为超级管理员登录的命令如下。
  sqlplus sys/Test123456@orcl as sysdba
  ● 在本地登录的命令如下。
  sqlplus/as sysdba
  此时不用指定用户名和口令。
  常用功能列举如下。
  ● SQL> @文件名.sql-运行一个SQL文件(批处理运行方式)。
  ● SQL> spool文件名-将屏幕上的所有输出保存到文件中,直到运行spool off。
  ● SQL> desc用户名.表名-描述表的结构。
  ● SQL> help命令-查看某个命令的用法。
  ● SQL> column列名format A20-设置列名的显示宽度为20个字符。
  ● SQL> column列名heading 新列名-修改列名的显示名称。
  ● SQL> set linesize 100-将SQL Plus中每行的显示宽度设置为100个字符,默认为80个字符。
  ● SQL> set autocommit on | off -设置当前SQL语句是否自动提交(如插入或修改一条数据),如果不自动提交,则需要通过commit命令手动提交,让SQL语句生效。
  ● SQL> show 参数名-显示当前系统中各类参数的值,包括系统初始化参数。
  ● SQL> alter session set nls_date_format = 'yyyy-mm-dd hh24:mi:ss' -修改时间格式。
  ● SQL> alter session set nls_date_language='american' -修改日期格式为美国标准日期格式。
  ● SQL> select sysdate from dual -显示服务器当前时间。
  ● SQL> select to_char(sysdate, 'yyyy-mm-dd hh24:mi:ss') from dual -格式化日期时间的显示。
  5.Dual表
  Oracle Dual表比较特殊,是一个系统表,只有一个名为Dummy的字符型字段,因为Oracle要求SQL语句必须完整,所以我们需要在查询一些非表数据时加上Dual表,如"select sysdate from dual"。

版权声明:51Testing软件测试网获得人民邮电出版社和作者授权连载本书部分章节。
任何个人或单位未获得明确的书面许可,不得对本文内容复制、转载或进行镜像,否则将追究法律责任。
22/2<12
重磅发布,2022软件测试行业现状调查报告~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2023
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号