Oracle常用sql命令
1.查看数据库归档是开启还是关闭
SQL> archive log list
更改数据库归档模式:
SQL> shutdown immediate
SQL> startup mount
SQL> alter database archivelog(改为归档)/noarchivelog(改为非归档)
SQL> alter database open
查看参数/控制/数据/日志/归档/告警日志(bdump目录下,以alert打头)文件位置:
SQL> show parameter spfile
SQL> show parameter control
SQL> select file_name from dba_data_files;
SQL> select group#,member from v$logfile;
SQL> show parameter recovery;
SQL> set linesize 1000
SQL> show parameter dump
2.查看oracle相关的进程(实例名:ora11g)
SQL> ps -ef|grep ora11g
LOCAL=NO的进程表示非oracle本身的后台进程,是别的用户通过监听,连进该数据库进行访问的
3.查看oracle实例名
SQL>show parameter instance_name
4. 查看SGA开辟多大空间
SQL> show parameter sga
查看PGA开辟多大空间
SQL> show parameter pga
* 共享池和数据缓存区的大小分配由SGA_MAX_SIZE决定,他们被分配多少由Oracle决定
查看共享池多大
SQL> show parameter shared_pool_size
查看数据缓冲区多大
SQL> show parameter db_cache_size
查看日志缓冲区多大
SQL> show parameter log_buffer
5. 修改数据库参数 scope 参数
--memory 只改变当前实例运行,重新启动数据库后失效
--spfile 只改变spfile的设置,不改变当前实例运行,重启启动数据库后生效
--both 同时改变实例及spfile,当前更改立即生效,重新启动数据库后仍然生效
alter system set<parameter_name>=<value>scope=memory|spfile|both[sid=<sid_name>]
如:SQL> alter system set sga_target=2000M scope=both
SQL> alter system set log_buffer=15000000 scope=spfile(log_buffer必须重启才生效)
6. 启动数据库
SQL> startup
只读模式打开数据库,使数据库不会发生改变(插入、更新或删除)
SQL> alter database open read only;
以受限模式打开数据库,只有同时具有create session和restricted session权限的用户才能使用数据库
SQL> startup restrict;
把数据库置于某种状态,在该状态下只有sys和system用于才能查询数据库
SQL> alter system quiesce restrict;
SQL> alter system unquiesce;
强制启动
SQL> startup force
7. 关闭数据库
SQL> shutdown immediate
8. 查看数据库状态
SQL> select status from v$instance;
9. 查看数据库的打开模式
SQL> select open_mode from v$database;
10. 如何查看数据库的所有用户有哪些?
set linesize 300(设置行宽为100)
SQL> select * from all_users
11. 查询哪些用户正在使用Oracle?
SQL> select username from v$session;
12. 查询某个用户是从哪台机器登录Oracle的?
SQL> select * from v$session;
13. 从已知表新建另一个表:
SQL>CREATE TABLE b
AS SELECT * (可以是表a中的几列)
FROM a
WHERE a.column = ...;
14.查找、删除重复记录:
法一: 用Group by 语句此查找很快的
SQL> select count(num), max(name) from student --查找表中num 列重复的,列出重复的记录数,并列出他的name属性
group by num
having count(num) >1 --按num分组后找出表中num 列重复,即出现次数大于一次
delete from student(上面Select的)
这样的话就把所有重复的都删除了。-----慎重
15. 创建数据库表
SQL> create table subject
(
id char(4) not null,
name varchar2(128),
primary key (id)
);
16. 查看表结构:
SQL> desc subject
17. 创建索引:
SQL> create index
18. 创建唯一索引:
SQL> create unique index
19. 为学生电话号码创建唯一索引,目的不希望学生使用同一手机号码:
SQL> create unique index ix_student_cellphone on student(cellphone)
20. 表增加列
增加QQ号列:
SQL> alter table student add qqno varchar2(18);
21. 表更改列属性
修改地址列:
SQL> alter table student modify address varchar2(256);
22. 表删除列
删除QQ号列:
SQL> alter table student drop column qqno;
23. 删除表(彻底删除表,包含引用或依赖该表的任何对象,如view,index)
SQL> drop table student cascade constrains purge;
cascade constraints 表示删除表和引用该表的任何对象,如view,index等
purge表示删除时彻底删除,不放入回收站
24. 插入表数据
SQL> insert into subject(id, name) values('0001','Language');
SQL> insert into subject(id, name) values('0002','Math');
SQL> insert into grade(stuid, subid) select student.id,subject.id from
student join subject on student,id <> subject.id;
25. 更新表数据
SQL> update grade set grade=100.0 where stuid='00000001' and subid='0001';
26. 删除一条或多条表数据
SQL> delete from grade where stuid='00000008';
SQL> delete from student where id='00000008';
27. 清空表
SQL> truncate table grade;
28. 创建账号/用户
SQL> create user bajie identified by bajie;
把表空间USERS和临时表表空间TEMP作为用户的默认使用空间
SQL> create user 'NEWUSER' profile 'default' identified by 'newpassword' password expire default tablespace 'USERS' teporary tablespace 'TEMP' account unlock;
SQL> grant 'CONNECT' to 'NEWUSER';
29. 编辑用户
--解锁用户账户、修改密码、增加表空间配额
SQL> alter user 'username' identified by 'newpwd' quota unlimited on tools account unlock;
--删除用户
SQL> drop user ljb cascade
30. 给用户授权
--授予创建会话和查询权限和修改数据权限:
SQL> grant create session to bajie;
SQL> grant select,update on grade to bajie;
--给用户NEWUSER授予访问表和包权限,with grant选项增加将相同权力授予其他用户,默认没有权利:
SQL> grant select on 'TABLE_NAME' TO 'NEWUSER' with grant option;
SQL> grant insert on 'TABLE_NAME' TO 'NEWUSER' with grant option;
SQL> grant execute on 'TABLE_NAME' TO 'NEWUSER';
31. 收回权限:
SQL> revoke update on grade from bajie;
SQL> revoke insert on 'TABLE_NAME' from 'NEWUSER';
SQL> recoke execute on 'TABLE_NAME' from 'NEWUSER';
32. 如何测试SQL语句执行所用的时间
SQL> set timing on;
33. 怎么把select出来的结果导到一个文本文件中
SQL> spool /home/ss/grade.txt;
SQL> select * from grade;
SQL> spool off;
34. 如何知道用户拥有的权限
SQL> select * from dba_sys_privs where grantee='user name';
35. 查询system用户的权限演示:
SQL> select PRIVILEGE from dba_sys_privs where grantee='SYSTEM';
36. 在sys用户下输入下面命令解锁被锁住的用户:
SQL> alter user <user_name> account unlock
37. 分配配额:
SQL> alter user hr quota 500m on hr_data; --分配500MB
SQL> alter user ap quota unlimited on ap_idx;--不限配额
38. 为整个数据库实例设置默认表空间:
SQL> alter database default tablespace tablespace-name;
39. 验证软件包是否有安装?
SQL> rpm -q package_name
e.g. rpm -q unixODBC-decvel-2.2.11
40. 安装软件包
SQL> rpm -ivh unixODBC-devel-2*rpm
41. 查看所有可设置的参数列表(在SQL*PLUS环境)
SQL> show all;
42. 查看执行当前程序所遇到的错误(在SQL*PLUS环境)
SQL> show errors;
43. 如何构建一个PL/SQL程序,如何获取结果输出(Oracl提供了一个内置的包dbms_output,在程序中调用命令dbms_output.put_line,Oracle PL/SQL就可以为用户提供输出信息)
(1)登录到SQL*Plus
(2)在SQL> 提示符下键入服务器输出命令:set serveroutput on;
(3)键入如下PL/SQL程序:
Declare
L_start_date date;
Begin
L_start_date :='29-SEP-2005';
dbms_output.putline (l_start_date); --show date
End;
/
44. 如何访问数据库中的数据(用select语句对变量进行赋值)
SQL> select prod_name into v_prod_name from products;
45. 通过Dblink访问远程数据库的表(在报表库访问业务库的表)
SQL> select * from 库名.表名@DBlink
46. 检查数据库用户密码是否过期
SQL> select username,profile,expiry_date from dba_users
47. 清空共享池
SQL> alter system flush shared_pool;
48. 登陆数据库用户
SQL> connect username/password
49. 查询数据字典获取extent/segment相关信息
SQL> select * from user_extents;
SQL> select * from user_segments;
50. 数据库最大连接数
select count(*) from v$process; --当前连接数
show parameter processes; --查询数据库最大连接数设置
alter system set processes=1500 scope=spfile; --更改系统连接数
更改后需要重启数据库
51. 显示数据库脚本
SQL> show REL[EASE]
52. 在sql*plus中连接指定的数据库
SQL> CONNECT user_name/passwd@db_alias
53. 执行一个存储过程
SQL> EXECUTE procedure_name
54. 查看数据库版本信息
SQL> select * from v$version;
Oracle常用sql命令的更多相关文章
- oracle常用SQL语句(汇总版)
Oracle数据库常用sql语句 ORACLE 常用的SQL语法和数据对象一.数据控制语句 (DML) 部分 1.INSERT (往数据表里插入记录的语句) INSERT INTO 表名(字段名1, ...
- oracle 常用sql语句
oracle 常用sql语句 1.查看表空间的名称及大小 select t.tablespace_name, round(sum(bytes/(1024*1024)),0) ts_sizefrom d ...
- Oracle常用SQL查询(2)
三.查看数据库的SQL 1 .查看表空间的名称及大小 select t.tablespace_name, round ( sum (bytes / ( 1024 * 1024 )), 0 ) ts ...
- Oracle常用SQL查询
一.ORACLE的启动和关闭 1.在单机环境下要想启动或关闭oracle系统必须首先切换到oracle用户,如下: su - oracle a.启动Oracle系统 oracle>svrmgrl ...
- ORACLE 常用SQL查询
一.ORACLE的启动和关闭 1 .在单机环境下 要想启动或关闭ORACLE系统必须首先切换到ORACLE用户,如下 su - oracle a.启动ORACLE系统 oracle > sv ...
- Oracle常用SQL语句大全
常用Oracle数据库SQL语句汇总. 1.常用操作 --清空回收站purge recyclebin;--查询回收站select * from recyclebin--查询Oracle版本信息sele ...
- python 操作数据库的常用SQL命令
这俩天在学习PYTHON操作数据库的知识.其实基本SQL命令是与以前学习的MYSQL命令一致,只是增加了一些PYTHON语句. 1,安装pymysql,并导入. import pymysql 2,因为 ...
- oracle 常用set命令
SQL> set timing on; //设置显示“已用时间:XXXX”SQL> set autotrace on; //设置允许对执行的sql进行分析 ...
- Oracle数据库sql命令整理
转至:https://blog.csdn.net/weixin_43712330/article/details/88358604 以下为oracle数据库中sql语句的整理,将持续更新01. 如何登 ...
随机推荐
- leetcode算法题01
最近求职需要重新刷算法题,从今天开始每天至少做一个leatcode的题 如果有更好的算法或者换了语言也会更新 题目: 给定一个整数数组和一个目标值,找出数组中和为目标值的两个数. 你可以假设每个输入只 ...
- 承接Unity外包 U3D外包 Unity3D外包 小型Unity项目外包用Unity还是UE4
转自mobilehub公众号(ID: mobilehub),作者:屠敏 VR浪潮席卷而来,相对于资本的狂热,现实中真正需要的是有实力的VR硬件研发团队和专业内容制作队伍.对于入门级的开发者而言,游戏引 ...
- input[type=file]的美化
__ 一般的选择框在美化过程中会出现各种问题,样式出错,文字无法更改等... 所有随之而生的便是这样的一种修饰方式:[将type=file的input与另一个按钮通过js绑定,这样便可以通过改变另一个 ...
- Apache Solr入门教程(转)
1.为什么选择Apache Solr Apache Solr是一个功能强大的搜索服务器,它支持REST风格API.Solr是基于Lucene的,Lucene 支持强大的匹配能力,如短语,通配符,连接, ...
- day6_自定义类型转换
#include <iostream> using namespace std; class Point2D{ public: Point2D(int x, int y):m_x(x), ...
- python 学习笔记 2 ----> dive into python 3
Python Shell idle的使用 >>> >>>help() ----> help> 可以在help这个工具中查找Python内置函数的文档等等 ...
- Python方法和属性的动态绑定 --面向对象
需要了解的: __ slots __:属于魔术变量,即:系统实现某些特定功能的变量 __ slots __: 1.限定类实例能添加的属性 2.对当前类起作用,对继承的子类是不起作用的 实操: # co ...
- Vue之添加全局变量
定义全局变量 原理: 设置一个专用的的全局变量模块文件,模块里面定义一些变量初始状态,用export default 暴露出去,在main.js里面使用Vue.prototype挂载到vue实例上面或 ...
- CF #552(div3)G 最小lcm
题目链接:http://codeforces.com/contest/1154/problem/G 题意:lcm是最小公倍数,本题就是给你一个数组(可能会重复),要求你判断出那两个数的最小公倍数最小, ...
- linux添加本地yum源
增加一块硬盘 然后格式化成btrfs格式的文件 mkfs.btrfs /dev/sde 永久挂载 echo "/dev/sde /mnt btrfs defaults 0 0" & ...