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).备份环境 ...
随机推荐
- 【spoj LCS2】 Longest Common Substring II
http://www.spoj.com/problems/LCS2/ (题目链接) 题意 求多个串的最长公共子串 Solution 对其中一个串构造后缀自动机,然后其它串在上面跑匹配.对于每个串都可以 ...
- Delphi总结使用TStrings的一些技巧
[delphi] view plaincopyprint? 先把要讨论的几个属性列出来: 1.CommaText 2.Delimiter & DelimitedText 3.Names &am ...
- PHP 下载远程图片
方法一:file_get_contents /**-- 下载远程文件 --**/ function down_img($url){ set_time_limit(60); if($url==" ...
- Java 读写Properties配置文件
Java 读写Properties配置文件 JAVA操作properties文件 1.Properties类与Properties配置文件 Properties类继承自Hashtable类并且实现了M ...
- js原生设计模式——7原型模式之new+call(this)组合应用再探讨实例
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8&qu ...
- Unity 4.3 2D 教程:新手上路
这篇文章译自 Christopher LaPollo 先生的 Unity 4.3 2D 教程的第一部分 Unity 4.3 2D Tutorial: Getting Started 感谢这套优秀教程的 ...
- mac命令行对复杂ipa包重新签名
最近在做ios的自动化平台,需要通过命令行安装卸载ipa包 好了问题来,别人上传的ipa包,很可能是开发签名了只能在特定手机上安装的测试ipa包,那我们如何将其安装在我们的自动化的iphone上呢? ...
- Java中的封装、继承、多态
封装 在如何理解面向对象这篇文章中,提到所谓的封装就是"功能都给你做好了,你不必去理解它是怎么写出来的,直接使用即可.".但你得清楚一点,那就是这句话是相对于使用者来说的,而作为开 ...
- 关于redis的主从、哨兵、集群
关于redis主从.哨兵.集群的介绍网上很多,这里就不赘述了. 一.主从 通过持久化功能,Redis保证了即使在服务器重启的情况下也不会损失(或少量损失)数据,因为持久化会把内存中数据保存到硬盘上,重 ...
- ER图,以及转化成关系模式
1.找出条件中的实体(矩形),属性(椭圆),关系(菱形)关系分为1:1,1:N,M:N,列出ER图 2. -1:1联系的转换方法 -两个实体分别转化为一个关系模式,属性即是本来的属性 -关系可以与任意 ...