最近由于工作原因,再次接触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:\oracle\product\10.2.0\oradata\zjforcl\USERS02.DBF'SIZE 32767M;- --增大现表空间
ALTER DATABASE
DATAFILE 'D:\oracle\product\10.2.0\oradata\zjforcl\USERS02.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_idfrom employeesstart with manager_id is nullconnect by prior employee_id=manager_id
- 查询某张表用户授权情况
SELECT * FROM user_tab_privs t where t.TABLE_NAME=upper('gp_ps_es_apply');