当前位置:   article > 正文

oracle常用命令_oracle命令

oracle命令

目录

一、基础增删改查

1.解锁用户

2.修改用户密码

3.查看所有用户的缺省表空间

4.查看表空间路径,名称,大小

5.查看数据库大小

6.查询数据库连接数-总数

7.查询数据库连接数-详细连接数

8.查询字符集

9.数据库启停

10.修改密码过期时间

11.通过表名-->找用户

12.性能排查sql   a.查看耗时SQL;b.查看CPU耗时最多的SQL语句;c.查看消耗磁盘读取最多的SQL

13.查询表空间-数据文件可扩展

14.数据库备份


一、基础增删改查

  1. --条件查询
  2. select * from Kess a where a.UUID = 'b487-757';
  3. nner join(等值连接) 只返回两个表中联结字段相等的行
  4. left join(左联接) 返回包括左表中的所有记录和右表中联结字段相等的记录
  5. right join(右联接) 返回包括右表中的所有记录和左表中联结字段相等的记录
  6. INNER JOIN 语法:
  7. INNER JOIN 连接两个数据表的用法:
  8. select * FROM 表1 INNER JOIN 表2 ON 表1.字段号=表2.字段号
  9. --去重
  10. select distinct(a.cust_code) from otc_match_app a where a.app_date=20181108 and to_char(a.app_timestamp,'mmddhhMM')<'11080901';
  11. --查数据库中所有的表的话
  12. select count(*) FROM dba_tables;
  13. --模糊查询
  14. select * from Persons where City like 'N%';
  15. --以逆字母顺序显示公司名称,并以数字顺序显示顺序号:asc升序-默认、desc降序
  16. select Company, Number FROM kess order by Company DESC, Number ASC;
  17. --资金总和,分组
  18. select Customer,SUM(OrderPrice) FROM Orders
  19. GROUP BY Customer
  20. --插入语句
  21. INSERT INTO 表名称 VALUES (值1, 值2,....);
  22. --也可以指定所要插入数据的列:
  23. INSERT INTO table_name (列1, 列2,...) VALUES (值1, 值2,....);
  24. --修改语句
  25. UPDATE 表名称 SET 列名称 = 新值 WHERE 列名称 = 某值;
  26. UPDATE Person SET Address = 'Zhongshan 23', City = 'Nanjing' where LastName = 'Wilson'
  27. --删除数据:删除满足条件的记录
  28. DELETE from KESS where UUID = 'b487-7';
  29. --删除所有数据,不会影响表结构,不会记录日志,数据不能恢复--》删除很快
  30. truncate table KESS;
  31. --删除所有数据,包括表结构一并删除,不会记录日志,数据不能恢复--》删除很快
  32. drop table KESS;

1.解锁用户

alter user test account unlock;

2.修改用户密码

alter user sys  identified by pswd12asd1a;

3.查看所有用户的缺省表空间

SELECT username, default_tablespace FROM dba_users;

4.查看表空间路径,名称,大小

select file_name,tablespace_name,bytes from dba_data_files;

5.查看数据库大小

select round(sum(bytes)/1024/1024/1024,2) as size_GB from dba_segments;

6.查询数据库连接数-总数

  1. select inst_id, resource_name, current_utilization, max_utilization, initial_allocation, limit_value
  2. from gv$resource_limit
  3. where resource_name in('processes','sessions')
  4. order by inst_id, resource_name;

7.查询数据库连接数-详细连接数

  1. select inst_id, username, machine, module, program, service_name, count(*)
  2. from gv$session
  3. where type<>'BACKGROUND'
  4. and username not in ('SYS','PUBLIC','SYSRAC','DBSNMP')
  5. and status<>'KILLED'
  6. group by service_name, username, inst_id, machine, module, program
  7. order by service_name, username, inst_id, machine, module, program;


8.查询字符集

  1. SELECT
  2. SYS_CONTEXT('USERENV', 'LANG') AS LANG,
  3. SYS_CONTEXT('USERENV', 'LANGUAGE') AS LANGUAGE
  4. FROM
  5. dual;

9.数据库启停

  1. 1. 使用root用户通过SSH登录BIEE资料库服务器shell命令控制台
  2. 2. 切换到oracle用户下:
  3. #su - oracle
  4. 3. 使用数据库管理员连接oracle数据库:
  5. $sqlplus / as sysdba
  6. 4. 启动数据库:
  7. >startup
  8. 5. 退出数据库连接 :
  9. >exit
  10. 注:关闭数据库:
  11. 关闭监听服务:
  12. $lsnrctl stop
  13. 使用数据库管理员连接oracle数据库:
  14. $sqlplus / as sysdba
  15. 关闭数据库:
  16. >shutdown immediate
  17. 退出数据库连接 :
  18. >exit
  19. 6. 启动数据库监听:
  20. $lsnrctl start
  21. 7. 查看服务启动状态,看到以下回显信息,服务启动成功:
  22. $lsnrctl status

10.修改密码过期时间

  1. sqlplus / as sysdba
  2. SELECT username, PROFILE FROM dba_users;
  3. 查看密码周期
  4. SELECT * FROM dba_profiles s WHERE s.profile='DEFAULT' AND resource_name = 'PASSWORD_LIFE_TIME';
  5. 修改为密码周期为不限制;
  6. alter profile default limit password_life_time unlimited;
  7. 6、如果已经提示:java.sql.SQLException: ORA-28001: 口令已经失效这样的错误,还需要修改一下密码,改为本密码就可以。
  8. alter user 用户名 identified by 旧密码;
  9. commit;

11.通过表名-->找用户

select owner,table_name from dba_tables where table_name='RENWEI';

12.性能排查sql   a.查看耗时SQL;b.查看CPU耗时最多的SQL语句;c.查看消耗磁盘读取最多的SQL

  1. 定位问题
  2. 1、通过PID与v$process、v$session两张视图快速定位出语句的sql_id,如下:
  3. SQL> select sql_id from v$session where paddr= (select addr from v$process where spid ='29889');
  4. SQL_ID
  5. -------------
  6. 59vtwwcggzcwh
  7. 2、通过sql_id查看具体sql
  8. SQL> select sql_text from v$sql where sql_id='59vtwwcggzcwh';
  9. SQL_TEXT
  10. --------------------------------------------------------------------------------
  11. select * from scott.t3 where name=dbms_random.string('u', 10)
  12. --1、查看耗时SQL
  13. select *
  14. from (select v.sql_id,
  15. v.child_number,
  16. v.sql_text,
  17. v.elapsed_time,
  18. v.cpu_time,
  19. v.disk_reads,
  20. rank() over(order by v.elapsed_time desc) elapsed_rank
  21. from v$sql v) a
  22. where elapsed_rank <= 10;
  23. -- 2.查看CPU消耗时间最多的前10条SQL语句
  24. select *
  25. from (select v.sql_id,
  26. v.child_number,
  27. v.sql_text,
  28. v.elapsed_time,
  29. v.cpu_time,
  30. v.disk_reads,
  31. rank() over(order by v.cpu_time desc) elapsed_rank
  32. from v$sql v) a
  33. where elapsed_rank <= 10;
  34. --3.查看消耗磁盘读取最多的前10条SQL语句
  35. select *
  36. from (select v.sql_id,
  37. v.child_number,
  38. v.sql_text,
  39. v.elapsed_time,
  40. v.cpu_time,
  41. v.disk_reads,
  42. rank() over(order by v.disk_reads desc) elapsed_rank
  43. from v$sql v) a
  44. where elapsed_rank <= 10;

13.查询表空间-数据文件可扩展

  1. SELECT
  2. S.TABLESPACE_NAME,
  3. S.CURSIZE AS "CURRENT_TBS_SIZE(MB)",
  4. TRUNC(NVL2(F.FREE, S.CURSIZE - F.FREE, S.CURSIZE)) AS "USED_SIZE(MB)",
  5. NVL(F.FREE, 0) AS "CURRENT_FREE_SIZE(MB)",
  6. CASE
  7. WHEN S.MAXSIZE - S.CURSIZE > 0 THEN
  8. S.MAXSIZE - S.CURSIZE
  9. ELSE
  10. 0
  11. END AS "EXTENSIBLE_FREE_SIZE(MB)",
  12. S.MAXSIZE AS "MAX_SIZE(MB)",
  13. LPAD(TO_CHAR(TRUNC(NVL2(F.FREE, S.CURSIZE - F.FREE, S.CURSIZE) * 100 / S.MAXSIZE)), 3, ' ')
  14. || '%' AS "PCT_USED"
  15. FROM
  16. (
  17. SELECT
  18. TABLESPACE_NAME,
  19. TRUNC(SUM(BYTES) / 1024 / 1024) AS CURSIZE,
  20. TRUNC(SUM(
  21. CASE
  22. WHEN(MAXBYTES < BYTES
  23. OR MAXBYTES IS NULL
  24. OR AUTOEXTENSIBLE = 'NO') THEN
  25. BYTES
  26. ELSE
  27. MAXBYTES
  28. END
  29. ) / 1024 / 1024) AS MAXSIZE
  30. FROM
  31. DBA_DATA_FILES
  32. GROUP BY
  33. TABLESPACE_NAME
  34. UNION ALL
  35. SELECT
  36. TABLESPACE_NAME,
  37. TRUNC(SUM(BYTES) / 1024 / 1024) AS CURSIZE,
  38. TRUNC(SUM(
  39. CASE
  40. WHEN(MAXBYTES < BYTES
  41. OR MAXBYTES IS NULL
  42. OR AUTOEXTENSIBLE = 'NO') THEN
  43. BYTES
  44. ELSE
  45. MAXBYTES
  46. END
  47. ) / 1024 / 1024) AS MAXSIZE
  48. FROM
  49. DBA_TEMP_FILES
  50. GROUP BY
  51. TABLESPACE_NAME
  52. ) S,
  53. (
  54. SELECT
  55. TABLESPACE_NAME,
  56. TRUNC(SUM(BYTES) / 1024 / 1024) AS FREE
  57. FROM
  58. DBA_FREE_SPACE
  59. GROUP BY
  60. TABLESPACE_NAME
  61. ) F
  62. WHERE
  63. F.TABLESPACE_NAME (+) = S.TABLESPACE_NAME
  64. ORDER BY
  65. 7 DESC;

14.数据库备份

1.查看管理理员目录

select * from dba_directories;


2.赋于要导出数据表的所属用户权限

sql>grant read,write on directory dpdata1 to RENWEI;

3.备份 :RENWEI

expdp system/passwd123@orcl directory=PUMP_DIR dumpfile=RENWEI20221008.dmp logfile=RENWEI20221008.log schemas=RENWEI

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/盐析白兔/article/detail/811279?site
推荐阅读
相关标签
  

闽ICP备14008679号