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. 如何登 ...
随机推荐
- sparkSQL脚本更改问题
相应的pom依赖文件 <dependencies> <!-- <dependency> <groupId>org.apache.storm</group ...
- POJ 3616 奶牛挤奶
Milking Time 贝茜是一个勤劳的牛.事实上,她如此专注于最大化她的生产力,于是她决定安排下一个N(1≤N≤1,000,000)小时(方便地标记为0..N-1),以便她生产尽可能多的牛奶. ...
- cobble服务器安装配置
1.配置系统关闭 firewalld防火墙 [root@sky ~]# systemctl stop firewalld.service [root@sky ~]# systemctl disable ...
- 2 - Binary Search & LogN Algorithm
254. Drop Eggs https://www.lintcode.com/problem/drop-eggs/description?_from=ladder&&fromId=1 ...
- linux 配置ftp服务
需求:定时远程上传文件,windows->linux linux是一个云服务器,centos7 1:安装vsftpd yum install vsftpd 2:设置开机启动服务chkconfig ...
- LeetCode--026--删除排序数组中的重复项(java)
给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度. 不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成. 示例 1 ...
- getter unddfined
今天用vue.js写代码 报错: getter unddfined 错误原因:没有在main.js中注册store
- vmware虚拟机安装vmware tools
为了在主机与虚拟机之间共享文件,需要安装vmware tools.在安装vmware tools的过程中遇到了几个坑,在此记录一下. 一.虚拟机关机情况下进行设置.虚拟机->设置->CD/ ...
- 2019南昌网络赛G. tsy's number
题意:\(\sum_{i=1}^n\sum_{j=1}^n\sum_{k=1}^n\frac{\phi(i)*\phi(j^2)*\phi(k^3)}{\phi(i)*\phi(j)*\phi(k)} ...
- zzw原创_mysql脚本打印出提示信息
批量执行大量数据库脚本的时候,数据库脚本报错,要定位到哪个脚本,如果数据库脚本中不主动打印脚本信息比较困难 一.ORACLE 在oracle数据库脚本,可以借助prompt比如脚本中放如下语句: pr ...