oracle数据库控制台命令,04. 数据库常用管理命令

数据库的启动与停止

在cmd中,以无登录方式进入SQL*Plus控制台,然后连接数据库服务器

sqlplus /nolog

connect /as sysdba

c073318b8245

image.png

启动与停止命令

startup 启动选项

shutdowm 停止选项

启动选项

NOMOUNT:

只创建例程,不装载数据库,即不能使用数据库中的任何文件,但重建控制文件或运行创建新数据库的脚本时,必须使用此模式启动.

MOUNT:

不仅创建例程,还装载数据库,在该模式下管理员可修改数据库,用户无法访问数据库.

常用于执行以下4类维护工作:

重命名数据文件;

添加,删除,重命名,重做日志文件;

执行数据库完全恢复操作;

改变数据库的归档模式

OPEN:

正常启动数据库,不仅创建例程,还装载数据库,并打开数据库,缺省启动

FORCE:

强制重启数据库,与正常模式不同,无论数据库处于什么模式,均可以强制启动,且此启动是先异常关闭数据库(无需使用shutdown关闭),然后重新启动

PESTRICT:

启动数据库,并置入OPEN模式,但只有拥有PESTRICTED SESSION权限的用户才可以访问数据库

PFILE=filename:

指定一个参数化文件来启动数据库(.ora后缀文件)

停止选项

NORMAL:

正常关闭数据库,此时Oracle执行如下操作:

阻止用户新连接数据库

等待所有连接用户主动断开(未主动断开前可正常操作,提交事务等)

直到所有用户都断开连接,才进行关闭,卸载数据库.并终止例程

TRANSACTIONAL:

与NORMAL模式相比,其过程如下:

阻止用户新连接数据库,同时阻止当前连接用户开始新的事务

等待所有未提交事务提交完毕,然后立即端口用户连接

一旦所有用户都断开连接,立即进行关闭,卸载数据库,并终止例程

IMMEDIATE:

立即关闭,一般在断电或异常时使用,其过程如下:

阻止用户新连接数据库,同时阻止当前连接用户开始新的事务

所有当前未提交的事务均被退回

Oracle不再等用户断开连接,而是直接关闭,卸载并终止例程

ABORT:

强制关闭数据库,一般为发生严重错误,以上三种方式无法关闭时使用此方式,其过程如下:

阻止用户新连接数据库,同时阻止当前连接用户开始新的事务

所有当前未提交的事务均不被退回

立即结束当前正则执行的SQL语句

立即断开所有连接,直接关闭,卸载和终止例程

转换启动模式

alter database open或xxx

使用alter语句即可改变当前数据库的模式

Windows系统下,正常的启动停止数据库,可在服务控制面板中(services.msc)启动和停止相关服务即可

端口侦听操作命令

对侦听端口的操作主要包括:查看状态,启动和停止三种,使用Windows命令lsnrctl实现(cmd中操作)

lsnrctl start:启动侦听端口,与启动服务OracleOraDb11g_home2TNSListener效果一样

lsnrctl stop:停止侦听端口,与停止服务OracleOraDb11g_home2TNSListener效果一样

lsnrctl status:查看当前侦听器的状态是否正常

管理控制台操作命令

DB Console 或者 Oracle Enterprise Manager 的启动与停止(cmd中操作)

启动:emctl start dbconsole

停止:emctl stop dbconsole

状态:emctl status dbconsole

SQL*Plus常用命令

SQL*Plus是Oracle自带的交互操作程序

SQL*Plus可运行各种SQL语句或脚本

PLSQL Developer,TOAD等比SQL*Plus功能更强大,界面更友好

SQL*Plus常用功能:

命令

释义

@ filename.sql

运行sql文件(批处理方式运行)

spool filename

将屏幕输出保存到文件中,直至运行到spool off

desc 用户名.表名

描述表结构

help 命令名

查看某个命令的用法

column 列名 format A20

设置列名的显示宽度为20

column 列名 heading 新列名

将列名的显示名称修改为新列名

set linesize 100

将sqlplus中每行的显示宽度设置为100字符,默认为80

set autocommit on/off

设置sql语句是否自动提交(若否,需要使用commit命令手动提交)

show 参数名

显示当前系统的各类参数值,包括系统初始化参数

alter session set nls_date_format='yyyy-mm-dd hh24:mi:ss';

修改时间格式

alter session set nls_date_language='american';

修改日期格式为美国格式

select sysdate from dual;

显示服务器当前时间

select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') from dual;

格式化显示系统当前日期时间

select to_char(systimestamp,'yyyy-mm-dd hh24:mi:ssXFF') from dual

格式化显示事件戳

select to_char('2018-11-2 14:15:9','yyyy-mm-dd hh24:mi:ss') from dual

格式化显示时间

select * from &tablename;

参数化的使用,提示输入tablename的值(表名)

Dual表简介

Dual是一个系统表,只有一个Dummy Varchar2(1)字段

因Oracle语句要求必须完整,故在查询非表数据是加上Dual表

Dual表无具体数据,只是用来查询无具体表数据时,用来完整sql语句的

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值