项目中最基本的Oracle操作命令(转载) 项目中最基本的Oracle操作命令

1.查询实例

   env | grep ORA

2.登陆数据库(前提是用oracle用户登陆)

   sqlplus "/as sysdba"

3.表操作基础
(1) 创建表
create table tab_name
(
     column_name data_type ,
     column_name data_type ,
     column_name data_type , 
     ……
)


(2) 修改表


插入列
alter table tab_name add(column_name data_type)
修改列
alter table tab_name modify(column_name data_type)
删除列
alter table tab_name drop column column_name;
表重命名
rename tab_name to change_name
删除表
drop table tab_name删除记录和结构,不可恢复

sql修改oracle表字段名称:

扫描二维码关注公众号,回复: 1349341 查看本文章

alter table tb_user_test rename column neme  to cname; 

如果表的字段名是关键字,则在关键字外加双引号:
alter table tb_user_test rename column cname to "validate"  

4.创建、增加以及修改表空间

create or replace tablespace ml_default_dat  datafile 'ml_default_dat.dat' size 50M;
create tablespace ml_default_idx  datafile 'ml_default_idx.dat' size 50M;

CREATE TABLESPACE tablespace
   DATAFILE 
   '/opt/oracle/bmedata/lvdata2' SIZE 100M
   EXTENT MANAGEMENT LOCAL UNIFORM SIZE 128K
   SEGMENT SPACE MANAGEMENT AUTO; ---创建表空间,指定存放路径

增加表空间的大小,如将表空间IMUSE01增加100M:

alter tablespace bmp_user_dat add datafile '/home/oracle/oradb/oradata/inomc/bmp_user_datt.dat' size 500M;

alter tablespace bmp_user_idx add datafile '/home/oracle/oradb/oradata/inomc/bmp_user_indexx.dat' size 100M;

修改表空间的大小,如将表空间IMUSE01改为1000M:

alter database datafile '/export/home/oracle/oradata/mdspdata/imuse01_dat1' resize 1000M; 

5.创建Oracle用户

create user bmp identified by ml default tablespace tabs_scpdb temporary tablespace tempucdb;

6.给用户赋予权限

grant resource,dba,connect to ml

7.数据库与监听操作
shutdown immediate  关闭数据库

startup   启动数据库

lsnrctl status 查询监听
lsnrctl start  启动监听

8.给用户解锁
alter user ml account unlock;

9.查某个实例下有哪些用户及用户对应的密码

select username,created,password from dba_users;

10.下面介绍Oracle查询用户表空间
◆Oracle查询用户表空间:select * from user _all_tables
◆Oracle查询所有函数 和储存过程:select * from user_source
◆Oracle查询所有用户:select * from all_users.select * from dba_users
◆Oracle查看当前用户连接 :select * from v$Session
◆Oracle查看当前用户权限 :select * from session_privs
◆Oracle查看用户表空间使用情况:

Sql代码   收藏代码
  1. select  a.file_id  "FileNo" ,a.tablespace_name   "Tablespace_name" ,  a.bytes  "Bytes" ,a.bytes- sum (nvl(b.bytes,0))  "Used" ,   sum (nvl(b.bytes,0))  "Free" ,   sum (nvl(b.bytes,0))/a.bytes*100  "%free"    from  dba_data_files a, dba_free_space b   where  a.file_id=b.file_id(+)   group   by  a.tablespace_name ,  a.file_id,a.bytes  order   by  a.tablespace_name;  

 
11.删除用户、表空间以及清空回收站数据

删除用户

drop user bmeml cascade;

删除表空间和文件(注意:先要删除该表空间的用户

drop tablespace law including CONTENTS and datafiles;

清空oracle的回收站

PURGE RECYCLEBIN;

恢复回收站中的表

FLASHBACK TABLE foo TO BEFORE DROP;

注意:在删除表或表空间时,oracle并没有真正的删除,被放在类似回收站里。
如果出现这种错误:ORA-38301:can not perform DDL/DML over objects in Recycle BIn。
就说明跟回收站有关了,有可能要清空相关数据你才能创建。PURGE table "BIN$V3f/oYUITrCEF2cotS5JaA==$0"清楚回收站里的单个表。

12.创建临时表空间

CREATE TEMPORARY TABLESPACE tempucdb TEMPFILE 'tempucdb.dbf' SIZE 50M AUTOEXTEND ON;

13.如果错误删除了某个数据库文件,数据库起不来如何办
SQL> startup
  ORACLE instance started.
  Total System Global Area 96393244 bytes
  Fixed Size 75804 bytes Variable Size 56918016 bytes
  Database Buffers 39321600 bytes Redo Buffers 77824 bytes
  Database mounted.
  ORA-01157: cannot identify/lock data file 10 - see DBWR trace file ORA- 01110: data file 10: 'D:\TEST.DBF'

SQL> alter database datafile 'd: \test.dbf' offline drop;

SQL> alter database open;

猜你喜欢

转载自weichangyu.iteye.com/blog/1683575