oracle 常用命令及创建用户和表实例

1、用户

  查看当前用户的缺省表空间

  SQL>select username,default_tablespace from user_users;

  查看当前用户的角色

  SQL>select * from user_role_privs;

  查看当前用户的系统权限和表级权限

  SQL>select * from user_sys_privs;

  SQL>select * from user_tab_privs;

2、表

  查看用户下所有的表

  SQL>select * from user_tables;

  查看名称包含log字符的表

  SQL>select object_name,object_id from user_objects

  where instr(object_name,'LOG')>0;

  查看某表的创建时间

  SQL>select object_name,created from user_objects where object_name=upper('&table_name');

  查看某表的大小

  SQL>select sum(bytes)/(1024*1024) as "size(M)" from user_segments

  where segment_name=upper('&table_name');

  查看放在ORACLE的内存区里的表

  SQL>select table_name,cache from user_tables where instr(cache,'Y')>0;

3、索引

  查看索引个数和类别

  SQL>select index_name,index_type,table_name from user_indexes order by table_name;

  查看索引被索引的字段

  SQL>select * from user_ind_columns where index_name=upper('&index_name');

  查看索引的大小

  SQL>select sum(bytes)/(1024*1024) as "size(M)" from user_segments

  where segment_name=upper('&index_name');

4、序列号

  查看序列号,last_number是当前值

  SQL>select * from user_sequences;

5、视图

  查看视图的名称

  SQL>select view_name from user_views;

  查看创建视图的select语句

  SQL>set view_name,text_length from user_views;

  SQL>set long 2000; 说明:可以根据视图的text_length值设定set long 的大小

  SQL>select text from user_views where view_name=upper('&view_name');

6、同义词

  查看同义词的名称

  SQL>select * from user_synonyms;

7、约束条件

  查看某表的约束条件

  SQL>select constraint_name, constraint_type,search_condition, r_constraint_name

  from user_constraints where table_name = upper('&table_name');

  SQL>select c.constraint_name,c.constraint_type,cc.column_name

  from user_constraints c,user_cons_columns cc

  where c.owner = upper('&table_owner') and c.table_name = upper('&table_name')

  and c.owner = cc.owner and c.constraint_name = cc.constraint_name

  order by cc.position;

8、存储函数和过程

  查看函数和过程的状态

  SQL>select object_name,status from user_objects where object_type='FUNCTION';

  SQL>select object_name,status from user_objects where object_type='PROCEDURE';

  查看函数和过程的源代码

  SQL>select text from all_source where owner=user and name=upper('&plsql_name');

9、查看表空间的名称及大小

  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;

10、查看表空间物理文件的名称及大小

  select tablespace_name, file_id, file_name,

  round(bytes/(1024*1024),0) total_space

  from dba_data_files

  order by tablespace_name;

11、查看回滚段名称及大小

  select segment_name, tablespace_name, r.status,

  (initial_extent/1024) InitialExtent,(next_extent/1024) NextExtent,

  max_extents, v.curext CurExtent

  From dba_rollback_segs r, v$rollstat v

  Where r.segment_id = v.usn(+)

  order by segment_name ;

12、查看控制文件

  select name from v$controlfile;

13、查看日志文件

  select member from v$logfile;

14、查看表空间的使用情况

  select sum(bytes)/(1024*1024) as free_space,tablespace_name

  from dba_free_space

  group by tablespace_name;

  SELECT A.TABLESPACE_NAME,A.BYTES TOTAL,B.BYTES USED, C.BYTES FREE,

  (B.BYTES*100)/A.BYTES "% USED",(C.BYTES*100)/A.BYTES "% FREE"

  FROM SYS.SM$TS_AVAIL A,SYS.SM$TS_USED B,SYS.SM$TS_FREE C

  WHERE A.TABLESPACE_NAME=B.TABLESPACE_NAME AND A.TABLESPACE_NAME=C.TABLESPACE_NAME;

15、查看数据库库对象

  select owner, object_type, status, count(*) count# from all_objects group by owner, object_type, status;

16、查看数据库的版本

  Select version FROM Product_component_version

  Where SUBSTR(PRODUCT,1,6)='Oracle';

17、查看数据库的创建日期和归档方式

  Select Created, Log_Mode, Log_Mode From V$Database;


实例:

创建表空间:create tablespace user_space_1 datafile'e:\表名.dbf' size 10M;

  创建用户:create user user1 identified by a123;
  用户授权:grant connect,create any table to user1;
  断开连接:disconnect;
  连接用户:connect user1/a123@fitdemo;

--创建序列
 create sequence my_seq_1
 increment by 1
 start with 1
 nomaxvalue
 nocycle
 cache 10;
启动服务:net start oracleservicefitdemo
启动监听:lsnrctl start 

Microsoft Windows XP [版本 5.1.2600]
(C) 版权所有 1985-2001 Microsoft Corp.

C:\Documents and Settings\Administrator>sqlpuls
'sqlpuls' 不是内部或外部命令,也不是可运行的程序
或批处理文件。

C:\Documents and Settings\Administrator>sqlplus

SQL*Plus: Release 9.0.1.0.1 - Production on 星期一 10月 11 15:35:53 2010

(c) Copyright 2001 Oracle Corporation.  All rights reserved.

请输入用户名:  sys/a123@ditdemo as sysdba
ERROR:
ORA-01017: 无效的用户名/口令;拒绝登录

请输入用户名:  sys/a123@fitdemo as sysdba

连接到:
Personal Oracle9i Release 9.0.1.1.1 - Production
With the Partitioning option
JServer Release 9.0.1.1.1 - Production

SQL> create user myuser identified by a123;

用户已创建

SQL> grant connect,create any table to myuser;

授权成功。

SQL> disconnect;
从Personal Oracle9i Release 9.0.1.1.1 - Production
With the Partitioning option
JServer Release 9.0.1.1.1 - Production中断开
SQL> connect myuser/a123@fitdemo
已连接。
SQL> create sequence mysql
  2  increment by 1
  3  start with 1
  4  nomaxvalue
  5  nocycle
  6  cache 20;

序列已创建。

SQL> commit;
提交完成。
SQL> create table student()
  2
SQL> ;
SQL> ;
SQL> asd;
SP2-0042: 未知命令"asd" -- 其余行忽略。
SQL> create table student(
  2  stu_id varchar2(20) primary key,
  3  stu_name varchar2(20) not null,
  4  stu_age number(3),
  5  stu_sex number(1),
  6  stu_date date);
create table student(
*
ERROR 位于第 1 行:
ORA-01950: 表空间'SYSTEM'中无权限

SQL> disconnect;
从Personal Oracle9i Release 9.0.1.1.1 - Production
With the Partitioning option
JServer Release 9.0.1.1.1 - Production中断开
SQL> myuser/a123@fitdemo as sysdba
SP2-0734: 未知的命令开头 "myuser/a12..." - 忽略了剩余的行。
SQL> connect myuser/a123@fitdemo as sysdba
已连接。
SQL> crelect * from student
SP2-0734: 未知的命令开头 "crelect * ..." - 忽略了剩余的行。
SQL> celect * from student
SP2-0734: 未知的命令开头 "celect * f..." - 忽略了剩余的行。
SQL> select * from student
  2  select * from student;
select * from student
*
ERROR 位于第 2 行:
ORA-00933: SQL 命令未正确结束

SQL> select * from student;
select * from student
              *
ERROR 位于第 1 行:
ORA-00942: 表或视图不存在

SQL> create table student(
  2  stu_id varchar2(20) primary key,
  3  stu_name varchar2(20) not null,
  4  stu_age number(3),
  5  stu_sex number(1),
  6  stu_date date);

表已创建。

SQL> insert into student values('01','stu01',20,0);
insert into student values('01','stu01',20,0)
            *
ERROR 位于第 1 行:
ORA-00947: 没有足够的值

SQL> insert into student values('01','stu01',20,0,to_date('1993-05-08','yyyy-mm-
dd'));

已创建 1 行。


SQL> commit
  2  ;

提交完成。

SQL> ^A

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值