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. 如何登 ...
随机推荐
- UVALive - 5857 Captain Q's Treasure
UVALive - 5857 思路: 状压dp,用map写 代码: #pragma GCC optimize(2) #pragma GCC optimize(3) #pragma GCC optimi ...
- linux中的wc命令
linux中wc命令用法 Linux系统中的wc(Word Count)命令的功能为统计指定文件中的字节数.字数.行数,并将统计结果显示输出. 1.命令格式: wc [选项]文件... 2.命令功能: ...
- python 读取excel文件
方法一:利用pandas import pandas as pd inputfile_1 = "F:\\大论文实验\\福贡县数据\\贫困人口数据_2015.xlsx" data1 ...
- Monkey测试log的保存与分析
v\:* {behavior:url(#default#VML);} o\:* {behavior:url(#default#VML);} w\:* {behavior:url(#default#VM ...
- 搭建Python自动化测试环境+元素定位
https://blog.csdn.net/GitChat/article/details/79081187
- 支付-stripe
国外三大支付paypal,braintree,stripe,有兴趣可以去了解一下他们的区别. 支付宝和paypal基本只需要发送charge信息请求交给后端做就ok了,那么stripe前端也只需要收集 ...
- numpy+plot初试
#coding:utf-8 """ 灵活设置筛子个数,比如3个筛子 """ import numpy as np import matplo ...
- Visual Studio 删除空行
Visual Studio 没有提供此功能,只能用正则表达式,具体做法如下: 一.ctrl+ H 打开替换框 二.在替换框中的源中输入 ^(?([^\r\n])\s)*\r?$\r?\n 图如下: 完 ...
- URL组成部分详解
URL组成部分详解 URL是Uniform Resource Locator的简写,统一资源定位符. 一个URL是由以下几部分组成的: scheme://host:port/path/?query-s ...
- mysql <=> null 问题
SELECT * FROM cms_user WHERE age=NULL; Empty set (0.03 sec) 查询表中记录age值为null mysql> SELECT * FROM ...