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).备份环境 ...
随机推荐
- win10新特性,ubuntu子系统(安装及配置)
最新版win10下可以直接跑ubuntu镜像,直接入正题. 这里如果你没有可能是你的版本不是最新的,我这里是最新的win10直接是有这个功能的.勾选后会要求重启,确定即可. 然后win键弹出搜索,输入 ...
- iOS 之 UICollectionView
1. iOS 之 UICollectionView 之 原理介绍 2. iOS 之 UICollectionView 之 开发步骤 之 OC 3. iOS 之 UICollectionView 之 开 ...
- poj 1013(uva 608) Counterfeit Dollar
#include <cstdio> #include <cstdlib> #include <cstring> #include <cmath> #in ...
- Java 原型模式
http://www.cnblogs.com/itTeacher/archive/2012/12/02/2797857.html http://www.cnblogs.com/java-my-life ...
- CodeForces757B
B. Bash's Big Day time limit per test 2 seconds memory limit per test 512 megabytes input standard i ...
- Android客户端连接服务器端,向服务器端发送请求HttpURLConnection
在Java中想后台服务器发送请求一般都直接使用了Java的网络编程,或者使用HttpClient向后台服务器端发送HTTP请求.虽然在安卓中,所有Java的API都可以使用,而却使用其并不会出现什么问 ...
- Java如何判断字符串中包含有全角,半角符号
首先介绍下全角跟半角之间的区别: 在计算机屏幕上,一个汉字要占两个英文字符的位置,人们把一个英文字符所占的位置称为"半角",相对地把一个汉字所占的位置称为"全角" ...
- java泛型简单学习
一. 泛型概念的提出(为什么需要泛型)? 首先,我们看下下面这段简短的代码: //import java.util.List; public class GenericTest { public st ...
- 第一章 Java语言概述
1.人机交互有两种方法:一种是图形化界面,一种是命令行方式 2.如何打开命令行:开始-在运行命令行中输入cmd 3.常用的DOS命令: dir(directory):列出当前目录下文件及文件夹 md( ...
- Color.js 增强你对颜色的控制
Color.js是一个能加强前端开发中对颜色处理的第三方库. 假设你已经基本了解色彩通道.色彩空间.色相.饱和度.亮度.不透明度等概念.当然了,毕竟前端算是半只脚踏进设计领域了,相信这些概念难不到你. ...