当前位置:数据库 > Oracle >>

oracle db studay

oracle db studay
 
先查询空闲空间
select tablespace_name,file_id,block_id,bytes,blocks from dba_free_space; 
   www.zzzyk.com  
增加Oracle表空间
询数据文件名称、大小和路径的信息
select tablespace_name,file_id,bytes,file_name from dba_data_files; 
 
修改文件大小语句如下
alter database datafile   
'需要增加的数据文件路径,即上面查询出来的路径  
'resize 800M; 
 
创建Oracle表空间
create tablespace test  
datafile '/home/app/oracle/oradata/oracle8i/test01.dbf' size 8M  
autoextend on  
next 5M  
maxsize 10M;    www.zzzyk.com  
 
create tablespace sales  
datafile '/home/app/oracle/oradata/oracle8i/sales01.dbf' size 800M  
autoextend on  
next 50M  
maxsize unlimited  
maxsize unlimited 是大小不受限制  
 
create tablespace sales  
datafile '/home/app/oracle/oradata/oracle8i/sales01.dbf' size 800M  
autoextend on  
next 50M  
maxsize 1000M  
extent management local uniform;  
unform 表示区的大小相同,默认为1M  
 
create tablespace sales  
datafile '/home/app/oracle/oradata/oracle8i/sales01.dbf' size 800M  
autoextend on  
next 50M  
maxsize 1000M  
extent management local uniform size 500K;  
unform size 500K 表示区的大小相同,为500K  
 
create tablespace sales  
datafile '/home/app/oracle/oradata/oracle8i/sales01.dbf' size 800M  
autoextend on  
next 50M  
maxsize 1000M  
extent management local autoallocate;  
autoallocate 表示区的大小由随表的大小自动动态改变,大表使用大区小表使用小区  
 
create tablespace sales  
datafile '/home/app/oracle/oradata/oracle8i/sales01.dbf' size 800M  
autoextend on  
next 50M  
maxsize 1000M  
temporary;  
temporary 创建字典管理临时表空间  
 
create temporary tablespace sales  
tempfile '/home/app/oracle/oradata/oracle8i/sales01.dbf' size 800M  
autoextend on  
next 50M  
maxsize 1000M  
 
为表空间增加数据文件:
alter tablespace sales add  
datafile '/home/app/oracle/oradata/oracle8i/sales02.dbf' size 800M  
autoextend on next 50M  
maxsize 1000M; 
 
更改自动扩展属性:
alter database datafile  
'/home/app/oracle/oradata/oracle8i/sales01.dbf',  
'/home/app/oracle/oradata/oracle8i/sales02.dbf'  
'/home/app/oracle/oradata/oracle8i/sales01.dbf  
autoextend off; 
 
 
3种标准角色
CONNECT Role(连接角色)
临时用户,特别是那些不需要建表的用户,通常只赋予他们CONNECTrole。CONNECT是使用Oracle的简单权限,
这种权限只有在对其他用户的表有访问权时,包括select、insert、update和delete等,才会变得有意义。
拥有 CONNECT role的用户还能够创建表、视图、序列(sequence)、簇(cluster)、同义词(synonym )、
会话(session)和与其他数据库的链(link)
 
 
RESOURCE Role(资源角色)
更可靠和正式的数据库用户可以授予RESOURCE role。
RESOURCE提供给用户另外的权限以创建他们自己的表、序列、过程(procedure)、触发器(trigger)、索引(index)和簇(cluster).
 
DBA Role(数据库管理员角色)
DBA role拥有所有的系统权限
包括无限制的空间限额和给其他用户授予各种权限的能力。
SYSTEM由DBA用户拥有。下面介绍一些DBA经常使用的典型权限。
 
(1)grant(授权)命令
grant connect, resource to user_name;
 
(2)revoke(撤消)权限
revoke connect, resource from user_name;
 
创建角色
除了前面讲到的三种系统角色----CONNECT、RESOURCE和DBA,用户还可以在Oracle创建自己的role。
用户创建的role可以由表或系统权限或两者的组合构成。为了创建role,
用户必须具有CREATE ROLE系统权限。
 
create role role_name;
grant select on object_name to role_name;
 
删除角色
drop role role_name;
 
一个具有DBA角色的用户可以撤消任何别的用户甚至别的DBA的CONNECT、RESOURCE 和DBA的其他权限。
当然,这样是很危险的,因此,除非真正需要,DBA权限不应随便授予那些不是很重要的一般用户。
撤消一个用户的所有权限,并不意味着从Oracle中删除了这个用户, 
也不会破坏用户创建的任何表;只是简单禁止其对这些表的访问。
其他要访问这些表的用户可以象以前那样地访问这些表。
 
创建用户
create user user_name identified by user_password;
 
create user tickets identified by "123456" 
default tablespace tablespace_name  
temporary tablespace temp_tablespace_name;
  
修改用户
alter user user_name identified by user_new_password;
删除用户
drop user user_name;
 
如果用户拥有对象,则不能直接删除,否则将返回一个错误值。指定关键字cascade,可删除用户所有的对象,然后再删除用户
drop user user_name cascade;
 
 
Oracle用户解锁
alter user scott account unlock;
 
解锁之后可能会要求你该密码:
alter user scott identified by tiger;
 
锁定用户的方法:
alter user test account lock;
 
 
sqlplus>host command
 
强制写入数据文件
alter system checkpoint; 
 
清楚缓存数据字典信息
alter system flush shared_pool;
 
Oracle查询用户表空间
select * from user_all_tables
 
Oracle查询所有函数和储存过程
select * from user_source
 
Oracle查询所有用户
select * from all_users.select * from dba_users
 
Oracle查看当前用户连接
select * from v$Session
 
Oracle查看当前用户权限
select * from session_privs
 
 
查询更改Oracle用户名
select user#,name,password from user$ where name ='user_name'; 
 
 
select a.file_id "FileNo",a.tablespace_name  
"Tablespace_name",  
a.bytes "Bytes",a.bytes-sum(nvl(b.bytes,0)) "Used",  
sum(nvl(b.bytes,0)) "Free",  
sum(nvl(b.bytes,0))/a.bytes*100 "%free"  
from dba_data_files a, dba_free_space b  
where a.file_id=b.file_id(+)  
group by a.tablespace_name ,  
a.file_id,a.bytes order by a.tablespace_name;
 
列出实例中所有控制文件的名字及状态信息
V$CONTROLFILE
 
列出所有参数的位置及
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,