Chinaunix首页 | 论坛 | 博客
  • 博客访问: 563323
  • 博文数量: 287
  • 博客积分: 27
  • 博客等级: 民兵
  • 技术积分: 547
  • 用 户 组: 普通用户
  • 注册时间: 2012-01-01 20:20
文章分类

全部博文(287)

文章存档

2015年(1)

2014年(95)

2013年(90)

2012年(101)

分类: Oracle

2013-08-09 13:08:59

原文地址:oracle基本操作 作者:技术宅

登入oracle
sqlplus / as sysdba
启动oracle
startup
停止oracle
shutdown 
创建新用户
create user username identified by password;
创建表空间
create tablespace tablespacename datafile '/mnt/nfs/oracle_db/test.dbf'size 50m;
创建bigfile类型表空间
create bigfile tablespace tablespacename datafile '/mnt/nfs/oracle_db/test.dbf'size 50m;
给用户指定默认表空间
alter user username default  tablespace  tablespacename;
查询默认表空间
select username, default_tablespace defspace from dba_users where username=’username′;
查询表空间
select * from dba_tablespaces;
查看表空间是否自动增长
SELECT FILE_NAME,TABLESPACE_NAME,AUTOEXTENSIBLE FROM dba_data_files;
修改表空间为自动增长
ALTER DATABASE DATAFILE '... '| FileNo AUTOEXTEND ON | OFF NEXT 20M MAXSIZE 300M;
ALTER DATABASE DATAFILE 'c:\SmartDB01.ora' AUTOEXTEND ON;   --设置数据文件自动增长 
ALTER DATABASE DATAFILE 'c:\SmartDB02.ora'   MAXSIZE UNLIMITED;   --设置数据文件容量无限
给用户授权
grant create session,create table,unlimited tablespace to username;
授予用户dba权限
grant connect,resource,dba to username;
连接用户
conn username/password
彻底的删除表
删除表后,会被放入回收站
清除回收站的办法
purge table origenal_tableName;
purge index origenal_indexName;
查询垃圾信息,可以用如下SQL语句:
SELECT t.object_name,t.type ,t.original_name FROM user_recyclebin t;
或者
PURGE recyclebin;
删除Table不进入Recycle的方法:
drop table tableName purge;




常见问题
诡异的ORA-02289: sequence does not exist
  今天被开发人员告知在应用用户下无法查询自己创建的sequence的nextval值。当执行select * from test.nextval时提示“ERROR 


at line 1:ORA-02289: sequence does not exist”。于是我通过select sequence_name from user_sequences来判断该序列确实存


在。于是我询问开发人员创建sequence的语句,结果发现开发人员调用的语句是create sequence "test";问题就出在那个双引号下


。如果创建sequence的时候sequence name带了双引号,那么在user_sequences数据字典中并不会显示序列名为"test"而只会显示


test,如果要正确调用序列的nextval值则需要使用select * from "test".nextval即可,当然最好是避免在创建序列时在序列名上


附加双引号。
阅读(285) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~