Oracle 一些简单操作
登录oracle
以root用户切换到oracle数据库用户:su - oracle
输入sqlplus /nolog 不连接任何数据库
conn /as sysdba 用sysdba登录
startup 开启实例
shutdown 关闭实例 shutdown immediate (立即关闭实例)
conn 用户名/密码 也可以登录
查询当前实例名
select instance_name from v$instance;
show parameter instance_name
指定某个实例进行登录:sqlplus system(用户名)/jhy(密码)@orcl(实例) as sysdba
oracle实例设置开机启动:
[root@centoscms oracle]# vi /etc/oratab
orcl:/oracle/app/product/10.2.0/db_1:Y
查看监听:
lsnrctl start|stop|status (启动|停止|活动状态 监听)
查询命令:
desc dba_users; (查询dba_users表结构)
select username from dba_users; (查询当前sid下的所有用户的username)
select count(*) from username.tablename; (查询tablename表的行数)
drop user username cascade; (删除名称为username的oracle用户)
select distinct table_name from user_tab_columns; (查看当前user模式下所有表名)
select sum(bytes)/(1024*1024) as "size(M)" from user_segments where segment_name=upper('&table_name');
查看ASM磁盘使用情况
select name,total_mb,free_mb from v$asm_disk;
select name,total_mb,free_mb from v$asm_diskgroup;
select state,name,type,total_mb, free_mb from v$asm_diskgroup_stat;
查看ASM磁盘路径
select name, path, group_number from v$asm_disk_stat;
asmcmd命令使用
在ASM中建表
表空间:
create tablespace ceshi001 datafile '+DATA2/RAC/DATAFILE/ceshi001.dbf' size 1024m autoextend on next 100m maxsize unlimited extent management local segment space management auto;(next 100m:表空间大小超过原定大小时,每次自动扩展100m,这里中间不要加size,否则会报错,提示数值无效)
commit:提交之前的操作
临时表空间:
create temporary tablespace temp001 tempfile '+DATA2/RAC/TEMPFILE/temp001.dbf' size 200m autoextend on next 20M maxsize unlimited extent management local;
临时表空间操作参考:http://www.cnblogs.com/kerrycode/p/4006840.html
查看表空间详细信息
select * from dba_data_files;
select * from dba_temp_files;
查看某表的大小
select segment_name,bytes from dba_segments where segment_type='TABLE' and segment_name='DSE_TASK1';
select * from user_tables;
查看用户下所有的表
select instance_name,status,version,database_status from v$instance;
echo $ORACLE_HOME
查询所有用户
select username from dba_users;
查看指定用户有哪些系统权限
select * from dba_role_privs where grantee=upper('username');
查看指定用户有哪些对象权限
select * from dba_tab_privs where grantee=upper('username');
创建临时表空间
CREATE TEMPORARY TABLESPACE temp001 TEMPFILE '/u01/app/oracle/oradata/temp001.dbf' SIZE 200m AUTOEXTEND ON NEXT 32m MAXSIZE 2048m EXTENT MANAGEMENT LOCAL;
指定默认临时表空间
ALTER DATABASE DEFAULT TEMPORARY TABLESPACE temp001;
创建表空间
create tablespace test001 datafile '/u01/app/oracle/oradata/test001.dbf' size 10240m AUTOEXTEND ON EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO;
创建用户
CREATE USER test001 IDENTIFIED BY shuyi123 DEFAULT TABLESPACE test001 temporary tablespace temp001;
create user ceshi identified by shuyi123 default tablespace ceshi001 temporary tablespace temp001;
授权
grant dba to ceshi001;
grant connect,resource to ceshi001;
grant unlimited tablespace to ceshi001;
grant create database link to ceshi001;
grant select any sequence,create materialized view toceshi001;
用户B 要 访问用户A 的表:
用system登录,将用户A的表授权给public或者 B
grant select on A.table1 to public; grant select on A.table to B;
或者用A登录,将表的select授权给public或者B
撤销权限 revoke
建表
create table dse_task1 (id number not null,task_id number,server_uuid char(1024),proxy_uuid char(1024),repo_uuid char(1024));
插入数据
insert into dse_task1 value( select rownum as id,rownum+10 as task_id,dbms_random.string('x', 40) as server_uuid,dbms_random.string('x',40) as proxy_uuid,dbms_random.string('x',40) as repo_uuid from dual connect by level<=100000);
复制表数据到新表
create table dse_task2 as select * from dse_task1;
查询表空间表容量
select segment_name,tablespace_name,bytes B, bytes/1024 KB, bytes/1024/1024 MB from user_segments where segment_type='TABLE' and tablespace_name='TEST001';
查询当前用户每个表大小
select segment_name,sum(bytes)/1024/1024 from user_extents group by segment_name
清空表数据并释放空间
truncate table dse_task2 drop storage;
// alter table dse_task2 deallocate unused keep 0
清除当前用户的回收站:purge recyclebin;
清楚所有用户的回收站:purge dba_recyclebin;
彻底删除表:drop table dse_task1 purge;
查看数据库的创建日期和归档方式
select created, log_mode from v$database;
删除用户及表空间:
删除用户:drop user xxx;
如果用户的schema中有objects,需要加cascade参数,即drop user xxx cascade;
删除表空间:
可以先将其offline:alter tablespace xx offline;
将磁盘上的数据文件一同删除:drop tablespace xxx including contents and datafiles;
drop tablespace TEST including contents and datafiles;
源文档 <http://blog.itpub.net/23862439/viewspace-1058093/>
查看数据库库对象
select owner, object_type, status , count(*) count# from all_objects group by owner, object_type, status;
查看表空间的名称及大小
SELECT t.tablespace_name, round(SUM(bytes / (1024 * 1024)), 0) ts_size FROM dba_tablespaces t, dba_data_files d WHERE t.tablespace_name = d.tablespace_name GROUP BY t.tablespace_name;
select name from v$tablespace;
源文档 <http://blog.itpub.net/23862439/viewspace-1058093/>
查看表空间物理文件的名称及大小
select tablespace_name, file_id, file_name, round(bytes / (1024 * 1024), 0) total_space from dba_data_files order by tablespace_name;
select name from v$datafile;
源文档 <http://blog.itpub.net/23862439/viewspace-1058093/>
查看临时表空间路径
select TABLESPACE_NAME,FILE_NAME from dba_temp_files;
删除日志文件:
清空日志:Alter database clear logfile group 4;
处于current状态的日志文件组是不能够删除的,除非先进行强制日志切换alter system switch logfile;.
alter database drop logfile member 'f:\oracledata\redo4.log';
查询系统中的数据库日志文件组:select group#,member from v$logfile;
查看各日志文件组与日志文件成员的信息:select group#,members,archived,status from V$log;
注意:当一个日志文件组中仅剩一个日志文件的时候该日志文件时不能被删除的。
Oracle 一些简单操作的更多相关文章
- Oracle 数据库简单操作
现在大型企业一般都用Oracle数据库,Oracle数据库在一般采用expdp,impdp 导出导入数据,但是在操作中经常会遇到一些问题.下面来浅析这些问题. 1. 导出数据 一般导出数据的时候需要建 ...
- oracle数据库简单操作
导入某用户所有表和数据:imp sgp/sgp@192.168.0.99:1521/orcl file=sgp20161025.dmp full=y 导出指定表及数据:exp sgp/sgp@192. ...
- php连接oracle及简单操作
使你的php支持oracle,按照以下步骤即可: 1.安装php环境,找一下appserv或者xampp,一键安装,很方便 2.把php的ext目录下的php_oci8.dll拷到system32目录 ...
- ORACLE的安装与网页版创建表空间的简单操作以及PLsql的简单操作
1.oracle的安装: 安装简单易学,在这里不做解释.下载看装包后耐心等待,注意安装目录不要有中文字符,尽量按照指定目录进行安装.安装完成后会占用有大约5g的内存. 如果要卸载oracle,需要用其 ...
- Oracle中对XMLType的简单操作(extract、extractvalue...)
Oracle中对XMLType的简单操作(extract.extractvalue...) 1.下面先创建一个名未test.xml的配置文件. <?xml version="1. ...
- 吴裕雄--天生自然 oracle学习笔记:oracle理论学习详解及各种简单操作例子
1. 数据库的发展过程 层次模型 -->网状模型 -->关系模型 -->对象关系模型 2. 关于数据库的概念 DB:数据库(存储信息的仓库) DBMS:数据库管理系统(用于管理数据库 ...
- oracle数据库误操作把表删除了,怎样恢复
一:表的恢复 对误删的表,只要没有使用PURGE永久删除选项,那么从flash back区恢复回来希望是挺大的.一般步骤有:1.从flash back里查询被删除的表 select * from re ...
- python(pymysql)之mysql简单操作
一.mysql简单介绍 说到数据库,我们大多想到的是关系型数据库,比如mysql.oracle.sqlserver等等,这些数据库软件在windows上安装都非常的方便,在Linux上如果要安装数据库 ...
- linux/windows系统oracle数据库简单冷备同步
linux/windows系统oracle数据库简单冷备同步 我们有一个财务系统比较看重财务数据的安全性,同时我们拥有两套系统,一个生产环境(linux),一个应急备份环境(windows).备份环境 ...
随机推荐
- 【bzoj3998】 TJOI2015—弦论
http://www.lydsy.com/JudgeOnline/problem.php?id=3998 (题目链接) 题意 给出一个字符串,求它的字典序第K小的子串是什么,分情况讨论不在同一位置的相 ...
- C++第五天学习
回顾: 1.友元 friend 2.运算符重载 类型 operator运算符(参数表) 抽象.封装 类是面向对象程序设计中最基本的概念 类的背后隐藏的思想是数据抽象和封装 是进行封装和数据隐藏的工具, ...
- 高斯RBF核函数中Sigma取值和SVM分离面的影响
1:高斯RBF核函数的定义 k(x) = exp(-x^2/(2×sigma)) 在MATLAB中输入一下代码:ezsurf('exp(-x^2/(2*sigma^2))'); 在GOOGLE中输入“ ...
- .Net多线程编程—误用点分析
1 共享变量问题 错误写法: 所有的任务可能会共享同一个变量,所以输出结果可能会一样. public static void Error() { ;i<;i++) { Task.Run(() = ...
- line-height系列——定义和工作原理总结
一.line-height的定义和工作原理总结 line-height的属性值: normal 默认 设置合理的行间距. number 设置数字,此数字会与当前的字体尺寸相乘来设置行间距li ...
- selenium相关面试题
selenium中如何判断元素是否存在? selenium中hidden或者是display = none的元素是否可以定位到? selenium中如何保证操作元素的成功率?也就是说如何保证我点击的元 ...
- MATLAB绘制等高线和梯度场
clear;clc;close all [X,Y] = meshgrid(-:.:); % 产生网格数据X和Y Z = X.*exp(-X.^ - Y.^); % 计算网格点处曲面上的Z值 [DX,D ...
- [html] 学习笔记-Canvas图形绘制处理
使用Canvas API 可以将一个图形重叠绘制在另外一个图形上,也可以给图形添加阴影效果. 1.Canvas 图形组合 通过 globalCompositeOperation = 属性 来指定重叠效 ...
- Omi教程-使用group-data通讯
写在前面 Omi框架组建间的通讯非常遍历灵活,上篇文章介绍了几种通讯方式,其中childrenData的方式可以批量传递数据给组件,但是有很多场景下data的来源不一定非要都从childrenData ...
- 阿里巴巴Java开发手册———个人追加的见解和补充(一)
先上干货,<阿里巴巴Java开发手册>的下载地址 https://yq.aliyun.com/articles/69327?spm=5176.100239.blogcont69327.15 ...