zoukankan      html  css  js  c++  java
  • ORACLE常用操作命令

    1、ORACLE实例启动、停止

    SQL>startup;  #启动ORACLE实例

    SQL>shutdown immediate; #关闭ORACLE实例,常用。阻止新用户连接且阻止已连接用户建立新事务;回退未提交的事务;强制关闭用户连接、卸载数据库,并终止实例。

    SQL>shutdown abort;# 建议immediate停止失败的情况下使用

    2、ORACLE 监听启停

    lsnrctl status 查看ORACLE监听状态

    lsnrctl start 启动ORACLE监听

    lsnrctl stop 关闭ORACLE监听

    3、查看ORCLE实例和数据库状态

    SQL>select status from v$instance;

    SQL>select open_mode from v$database;

    4、查看ORACLE版本

    SQL>select * from v$version;

    5、查看ORACLE相关参数

    SQL>show parameter processes;

    SQL> show parameter sga;

    SQL> select name,value from v$parameter where name='processes';

    6、修改ORACLE参数

    SQL> alter system set processes=1500 scope=spfile; #重启ORACLE使修改参数生效

    7、查看数据文件和大小

    SQL>select bytes/1024/1024/1024 as "Size(G)",name from v$datafile order by bytes;

    8、查看临时文件和大小

    SQL> select bytes/1024/1024/1024 as "Size(G)",name from v$tempfile order by bytes;

    9、创建、删除、解锁ORACLE用户和修改ORACLE用户密码

    SQL> create user username identified by password default tablespace tablespace; #创建oracle数据库用户,

    SQL> drop user username cascade; #删除oracle用户

    SQL> alter user username account unlock; #解锁oracle用户

    SQL>alter user username identified by new_password; #修改oracle用户密码

    10、查看ORACLE执行计划、执行时间

    SQL>set autotrace on; #打开跟踪SQL执行计划

    SQL>select username from dba_users; #跟踪的SQL

    SQL>set autotrace off;

    SQL> set timing on; #打开执行时间统计

    11、查看alter日志位置

    SQL>show parameter background_dump_dest;

    SQL>select name,value from v$parameter v where v.name like '%background%';

    12、创建数据表空间、临时表空间、回滚表空间

    SQL>create tablespace tablespacename datafile '/home/oracle/tablespace.dbf' size 1024M; #创建数据表空间

    SQL>create temp tablespae temp  tempfile '/home/oracle/temp.dbf' size 1024M; #创建临时表空间

    SQL> create undo tablespace undotbs datafile '/home/oracle/undotbs.dbf' size 1024M; #创建回滚表空间

    13、扩展数据表空间、临时表空间

    SQL>alter tablespace tablespacename add datafile '/home/oracle/add_tablespacename.dbf' size 1024M; #增加数据文件方式,不允许自动增长

    SQL> alter tablespace tablespacename add datafile '/home/oracle/add_tablespacename.dbf' size 1024M autoextend on next 5M maxsize 2048M; #增加数据文件方式且允许自动增长

    SQL> alter database datafile '/home/oracle/tablespace.dbf' autoextend on next 5M maxsize 2048M; #允许已存在的数据文件自动扩展

    SQL> alter database datafile '/home/oracle/tablespace.dbf' resize 2048M; # 改变当前数据文件大小

    #调整临时表空间文件

    SQL> alter tablespace temp add tempfile '/home/oracle/temp2.dbf' size 2048M; #扩展临时表空间大小,默认autoextend off

    SQL> alter tablespace temp add tempfile '/home/oracle/temp2.dbf' size 1024M antoextend on next 128M maxsize 2048M; #扩展临时表空间大小

    SQL> alter database tempfile '/home/oracle/temp.dbf'  resize 2048M;

    14、查看表空间文件大小

    SQL> select sum(d.bytes)/1024/1024/1024 ||'G' as total_bytes,d.tablespace_name from dba_datafiles d where d.tablespace_name = 'UNDOTBS' group by d.tablespace_name;

    15、ORACLE用户进程杀死,常用于drop数据库用户失败时查询进程

    SQL> set line 120

    SQL>col username for a30;

    SQL>select sid,serial#,username,type from v$session;

    or

    SQL>select sid,serial# from v$session where username='USERNAME';

    SQL>alter system kill session 'sid, serial#';

    16、删除表空间

    SQL> drop tablespace tablespacename including contents and datafiles;

    17、查看ORACLE实例默认临时表空间

    SQL>select property_name,property_value from database_properties where property_name='DEFAULT_TEMP_TABLESPACE';

    SQL>alter database default temporary tablespace temp2;#修改oracle实例默认临时表空间,不能直接删除,需先创建新的临时表空间、修改后再删除

    18、查看用户的默认表空间和默认临时表空间、用户状态(密码是否过期、用户是否被锁)

    SQL>select username, default_tablespace, temporary_tablespace from dba_users;

    SQL>select username,account_status from dba_users;

       状态包括(0 OPEN、1 EXPIRED、2 EXPIRED(GRACE)、4 LOCKED(TIMED)、8 LOCKED),OPEN状态表示用户处于正常状态。LOCKED和LOCKED(TIMED)表示用户被锁定状态。EXPIRED和EXPIRED(GRACE)表示用户密码过期状态。

    19、查看ORACLE补丁版本号

    oracle$ $ORACLE_HOME/opatch lsinventory

    20、查看用户表占用空间大小

    SELECT SEGMENT_NAME TABLE_NAME,SUM(BYTES)/(1024*1024)   "TABLE_SIZE[MB]"
    FROM USER_SEGMENTS
    WHERE  SEGMENT_TYPE='TABLE' AND SEGMENT_NAME='TABLE_NAME'
    GROUP BY SEGMENT_NAME;
    SELECT SEGMENT_NAME  TABLE_NAME,SUM(BYTES)/(1024*1024)  "TABLE_SIZE[MB]"
    FROM DBA_SEGMENTS
    WHERE  SEGMENT_TYPE='TABLE' AND SEGMENT_NAME='TABLE_NAME'
    GROUP BY SEGMENT_NAME;

    21、索引统计更新

    SQL>ANALYZE TABLE OWNER.TABLE_NAME COMPUTE STATISTICS;

    SQL>EXEC DBMS_STATS.GATHER_TABLE_STATS('OWNER','TABLE_NAME');

  • 相关阅读:
    02:AWT介绍
    01:GUI编程简介
    业余草 SpringCloud教程 | 第六篇: 分布式配置中心(Spring Cloud Config)(Finchley版本)
    业余草 SpringCloud教程 | 第五篇: 路由网关(zuul)(Finchley版本)
    业余草 SpringCloud教程 | 第四篇:断路器(Hystrix)(Finchley版本)
    业余草 SpringCloud教程 | 第三篇: 服务消费者(Feign)(Finchley版本)
    业余草 SpringCloud教程 | 第二篇: 服务消费者(rest+ribbon)(Finchley版本)
    业余草 SpringCloud 教程 | 第一篇: 服务的注册与发现Eureka(Finchley版本)
    业余草分享2018最新面试题总结
    业余草分享面试题,JVM结构、GC工作机制详解
  • 原文地址:https://www.cnblogs.com/linyfeng/p/7225094.html
Copyright © 2011-2022 走看看