oracle系统管理常用sql语句
---------
21:58 2012-6-12
word 修订之后,可以设置“接受所有修订”,这样修订的内容就变成正式的内容了……
---健康知识平台
select *
from (select * from tadmin where rownum < 10) t
where rownum > 2;
select rownum rn, t.* from tadmin t where rownum < 5;
select *
from (select t.*, rownum rn from tadmin t where rownum < 5) t
where rn > 2;
--
insert into test2 values (1, '测试数据1…1', sysdate, 'y');
insert into test2 values (2, '百胜', sysdate, 'N');
insert into test2 values (5, '测试数据1…3', sysdate, 'Y');
insert into test2 values (11, '测试数据1…3', sysdate, 'Y');
commit;
update test2 set testname='百胜凯哥' where id=1;
select * from test2;
--
update test1
set testname =test2.testname
where exists (select 1 from test2 where test1.id=test2.id);
(select s.testname from test1 t, test2 s where t.id = s.id);
--
update test1 t
set t.testname =
(select s.testname from test1 t, test2 s where t.id = s.id)
where t.id in (select t.id from test1 t, test2 s where t.id = s.id);
--
更多
http://jaiaiifh.blog.51cto.com --正确的
update test1 t
set testname =
(select s.testname
from test2 s
where t.id = s.id)
where t.id in (select t.id from test1 t, test2 s where t.id = s.id);
----
commit;
rollback;
where t.id = 2;
select * from test1;
update test1 t set t.testname = test2.testname where t.id = test2.id;
select lower(t.cadduser) from tadmin t;--upper lower
select upper(substr(t.cadduser,1,1))||lower(substr(t.cadduser,2,length(t.cadduser)-1)) from tadmin t;
oracle系统管理常用sql语句
---
user_XXX all_XXX dba_XXX --数据字典保存的是oracle系统信息,分为这三个。
---
select username from dba_users;--查看系统的全部用户了,注意,在表里面都变成了大写。
select table_name from user_tables;--查看该用户的表
select table_name from all_tables;--查看该用户可以访问的表
select * from user_tablespaces;--查看表空间
select * from dba_tablespaces;--查看表空间
select * from user_indexes;--查看索引 dba_indexs is not exist
select * from dba_users;--88A2B2C183431F00 查看系统用户 崔钟
select length(t.password) from dba_users t where rownum <2;--16,not 32.
select distinct(t.GRANTEE) from dba_sys_privs t;
select * from dba_role_privs t where t.GRANTEE=upper('lele');--查看乐乐拥有的角色
select * from dba_roles;--oracle roles
select * from global_name;--全局数据库名==sid==主机字符串==实例名
create tablespace test01 datafile 'd:\ykdatefile02.dbf' size 100m uniform size 64k; --数据文件1g,区大小64k。error,是因为语法错误,datafile、size丢失……
select table_name from dba_tables where tablespace_name=upper('users');--查看属于某个表空间的表
drop tablespace 'biaomingzi' including contents and datafiles;--删除表空间及其对象
--alter tablespace datefileyk add datafile 'd:\adddatafile02.dbf' size 50m uniform size 128k;--扩展表空间方法一:增加数据文件(error by 'uniform size 128k')
alter tablespace datefileyk add datafile 'd:\adddatafile02.dbf' size 50m;--扩展表空间方法一:增加数据文件
alter tablespace test01 'd:\ykdatefile02.dbf' resize 150m;--扩展表空间方法二:增大数据文件--error
alter tablespace test01 'd:\ykdatefile02.dbf' autoextend on next 100m maxsize 200m;--扩展表空间方法三:设置数据文件自动增长--error
alter tablespace users online;--offline,脱机状态,当移动数据文件时执行脱机。
--datafile
select * from dba_data_files;--查看表空间和它的数据文件的位置!!!
--执行命令mv 移动数据文件,执行命令rename 修改datafile名字。
--oracle中的约束
not null,primary key,foreign key,check,unique.
---------index---------
1.大表上建立索引才有意义
2.在where子句或者是连接条件上经常使用的列上建立索引
3.索引不要超过4层
--
4.单索引,即建立在单列上的索引,一个表可以建立多个索引
5.符合索引,建立在两个列或者更多列上的索引,但要求组合(排列)必须不同,如
create index ind_dpixuqiu on dpixuqiu(id,name);
create index ind_dpixuqiu on dpixuqiu(name,id);
这是两个不同的索引,建议写sql的时候,记住列上的索引是如何建立的!
6.修改表结构,维护成本高……
---
SQL> conn sys/zhangle as sysdba;--使用sys登录,必须as sysdba或者sysoper,不能是normal!!!搞了一天,也问了浩伟,原来是这个情况……what a fucking things!
grant update on dpixuqiu(name) to xiaoshuai;--select delete update insert和alter,可以具体到某个字段。
-----------
[root@admin ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0
# Marvell Technology Group Ltd. 88E8001 Gigabit Ethernet Controller
DEVICE=eth0
BOOTPROTO=none
HWADDR=00:0f:ea:fc:c7:e9
IPV6INIT=yes
IPV6_AUTOCONF=yes
ONBOOT=yes
TYPE=Ethernet
NETMASK=255.255.255.224
IPADDR=61.#.132
GATEWAY=61.#.129
[root@admin ~]#