Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1583733
  • 博文数量: 157
  • 博客积分: 1776
  • 博客等级: 上尉
  • 技术积分: 1786
  • 用 户 组: 普通用户
  • 注册时间: 2011-12-19 10:49
文章分类

全部博文(157)

文章存档

2018年(1)

2017年(12)

2015年(6)

2014年(17)

2013年(51)

2012年(65)

2011年(5)

分类: Oracle

2013-08-08 16:42:04

登入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即可,当然最好是避免在创建序列时在序列名上


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