ITPub博客

首页 > Linux操作系统 > Linux操作系统 > oracle数据库之----最基础的命令

oracle数据库之----最基础的命令

原创 Linux操作系统 作者:Oracle_Hencent 时间:2011-04-16 13:58:34 0 删除 编辑

--查询本地所有的用户

select username from dba_users;

--解锁某个本地的用户

alter user XX identified by yyy(code) account unlock;

--创建用户

create user pm(username) identified by pm;

--创建表的权限的赋予,先要赋予该用户connect的权限(之前可能要先创建角色),然

后赋予其resource的权限后,该用户就可以创建表并且拥有常用的权限,譬如ASIC(增删

插改)

grant connect to XX;
grant resource to XX;
revoke (权限名)insert from XX;(通过revoke回收权限)

--查看归档、非归档模式

archive log list;

--查看某个用户内的所有表

select * from all_tab_columns;
select table_name from user_tables;

--查看主机名

select host_name from v$instance;

--查看实例状态

select instance_name,status from v$instance;

--用户用user_catalog查看它所拥有的所有表的名字和类型

desc user_catalog(cat)

--显示并且改变内存缓冲区顾问(v$db_cache_advice)各参数的值

 select id,name,block_size,advice_status from v$db_cache_advice;

 alter system set db_cache_size = 4096;(此为其中一例)

--获得参数sga_max_size的值

 select name,type,value from v$parameter where name = 'sga_max_size';

startup pfile = G:\oracle\product\10.2.0\db_1\database\initORDB.ora

--将一运行的数据库状态置为限制模式

alter system enable restricted session;

如下,表a是数据库中已经存在的表,b是准备根据表a进行复制创建的表:

1、只复制表结构的sql

  create table b as select * from a where 1<>1

2、即复制表结构又复制表中数据的sql

   create table b as select * from a

3、复制表的制定字段的sql

  create table b as select row_id,name,age from a where 1<>1

前提是row_id,name,age都是a表的列

4、Oracle复制表的指定字段及这些指定字段的数据的sql

  create table b as select row_id,name,age from a

以上语句虽然能够很容易的根据a表结构复制创建b表,但是a表的索引等却复制不了,需

要在b中手动建立。

5、insert into 会将查询结果保存到已经存在的表中
   insert into t2(column1, column2, ....)
   select column1, column2, .... from t1

 

以上代码是自己亲手做的,保证绝对的正确!

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/25693151/viewspace-692660/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2011-04-15

  • 博文量
    36
  • 访问量
    56845