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).备份环境 ...
随机推荐
- 数组(Array)资源
上面的程序中在Java代码中定义了两个数组,Android并不推荐在Java代码中定义数组,因为Androd允许通过资源文件来定义数组资源. Android采用位于/res/values目录下的arr ...
- css全局样式表
http://blog.csdn.net/baok1592/article/details/6448378
- 开箱即用 - jwt 无状态分布式授权
基于JWT(Json Web Token)的授权方式 JWT 是JSON风格轻量级的授权和身份认证规范,可实现无状态.分布式的Web应用授权: 从客户端请求服务器获取token, 用该token 去访 ...
- Postman编程
Postman常用Api Postman像jmeter一样提供前置处理脚本和后置处理脚本.脚本主要使用JavaScript语法,并内置提供了一些js代码库,提供了一些内置对象和方法. 参考:https ...
- CSS3中字体平滑处理和抗锯齿渲染
在围观Drupal官方主题的时候,发现了一个有意思的非标准CSS选择器-webkit-font-smoothing,于是上手把玩了一番.如何使用css3字体平滑显示呢 要知道,W3C对CSS中字体的抗 ...
- 图论——Dijkstra算法
图论其实是比较难的一种题型,但是一些模板题,是没有什么太大难度的! 这里给大家带来的是迪杰斯特拉(Dijkstra)算法. 迪杰斯特拉算法是由荷兰计算机科学家狄克斯特拉于1959 年提出的,因此又叫狄 ...
- Oracle执行计划顺序
先从最开头一直往右看,直到看到最右边的并列的地方,对于不并列的,靠右的先执行:对于并列的,靠上的先执行. 即并列的缩进块,从上往下执行,非并列的缩进块,从下往上执行. 如下示例: Execu ...
- ArcGIS制图表达Representation实战篇2-河流渐变与符号旋转
ArcGIS制图表达Representation实战篇2-河流渐变与符号旋转 by 李远祥 上一章节主要是从实战中使用规则和几何效果,如何分解制图规则.本章主要还是通过一些特殊要求如河流线宽渐变和符号 ...
- asp.net core mvc剖析:处理管道构建
在启动流程文章中提到,在WebHost类中,通过BuildApplication完成http请求处理管道的构建.在来看一下代码: ...... //这个调用的就是Startup.cs类中的Config ...
- 用《内网穿山甲》把本地IIS中的站点共享到远程访问
前言: 因为各种原因,我们常常要把本机或局域网中搭建的站点发给远方的人访问,他有可能是测试人员.客户.前端.或领导演示,或是内部系统内部论坛临时需要在远程访问,事件变得很麻烦,要么有公网IP,要么能控 ...