oracle基本命令笔记

  最近由于工作原因,再次接触oracle,因此重新来熟知下oracle基本的命令。

  • --改密码

1.运行——键入“cmd” 回车
2.键入“sqlplus/nolog” 回车
3.键入“conn/as sysdba” 回车
4.键入“alter user scott identified by tiger;”

  • --普通用户登录

conn scott/tiger@127.0.0.1:1521/orcl

  • --账号解锁

conn sys/sys as sysdba;--以DBA的身份登录
alter user scott account unlock;--然后解锁

  • --账号授权

grant create session,create table,create view,create trigger, create sequence,create procedure,unlimited tablespace,create database link to scott;

  • ---清空表数据

truncate table 表名/delete from 表名

  • ---删除表

drop table 表名

  • --增加另一个表空间

ALTER TABLESPACE USERS
add DATAFILE 'D:oracleproduct10.2.0oradatazjforclUSERS02.DBF'
SIZE 32767M;

  • --增大现表空间

ALTER DATABASE
DATAFILE 'D:oracleproduct10.2.0oradatazjforclUSERS02.DBF'
RESIZE 32767M;

  • --表空间查询使用情况

SELECT tbs "表空间名", sum(totalM) "总共大小M", sum(usedM) "已使用空间M", sum(remainedM) "剩余空间M", sum(usedM)/sum(totalM)*100 "已使用百分比", sum(remainedM)/sum(totalM)*100 "剩余百分比"
FROM ( SELECT b.file_id ID, b.tablespace_name tbs, b.file_name name, b.bytes/1024/1024 totalM, (b.bytes-sum(nvl(a.bytes,0)))/1024/1024 usedM, sum(nvl(a.bytes,0)/1024/1024) remainedM, sum(nvl(a.bytes,0)/(b.bytes)*100), (100 - (sum(nvl(a.bytes,0))/(b.bytes)*100)) FROM dba_free_space a,dba_data_files b WHERE a.file_id = b.file_id GROUP BY b.tablespace_name,b.file_name,b.file_id,b.bytes ORDER BY b.tablespace_name ) GROUP BY tbs

  •  ---wmsys.wm_concat(column)函数实现字段合并

原:

合并后:

select deptno,wmsys.wm_concat(ename) from emp group by deptno;

  • --start with connect by prior 递归查询用法

start with 子句:遍历起始条件,有个小技巧,如果要查父结点,这里可以用子结点的列,反之亦然。
connect by 子句:连接条件。关键词prior,prior跟父节点列parentid放在一起,就是往父结点方向遍历;prior跟子结点列subid放在一起,则往叶子结点方向遍历, parentid、subid两列谁放在“=”前都无所谓,关键是prior跟谁在一起。
order by 子句:排序,不用多说。

select employee_id,last_name,salary,job_id,manager_id
from employees
start with manager_id is null
connect by prior employee_id=manager_id
  • 查询某张表用户授权情况
SELECT * FROM user_tab_privs t where t.TABLE_NAME=upper('gp_ps_es_apply');

参考

原文地址:https://www.cnblogs.com/hoaprox/p/7677065.html