oracle相关命令

在主机上执行SQL前的准备:

su - oracle

sqlplus /nolog

conn /as sysdba

 

 

查看oracle的连接数:  

select * from v$session;

 

检查数据库 中的 OPEN_CURSORS 参数值:  

show parameter open_cursors;

 

调整 OPEN_CURSORS 参数值 :  

ALTER SYSTEM SET OPEN_CURSORS = 2500; 

 

获取指定的oracle用户打开的游标数:    

select o.sid, osuser, machine, count(*) num_curs from v$open_cursor o, v$session s where user_name = 'oracle用户名' and o.sid = s.sid group by o.sid, osuser, machine order by num_curs desc;  

 

获取为游标执行的 SQL:

select q.sql_text from v$open_cursor o, v$sql q where q.hash_value = o.hash_value and o.sid = sid编号;

 

创建用户:

create   user  用户名 identified  by  密码;

 

给用户赋予dba权限:

Grant dba to 用户名;

修改用户密码:   

alter user 用户名 identified by 新密码; 

 

删除用户:

drop user 用户名 cascade;

 

使用alter table 来增加、删除和修改一个列:

alter table test add (te_name varchar2(30) default 'tom' not null);

alter table test modify (te_name varchar2(16) default 'unknown');

alter table test drop column te_name; 

其中需要注意的是如果某一列中已经存在值,如果你要修改的为比这些值还要窄的列宽这样将会出现一个错误。    

 

查看所有用户:

select * from dba_users;

select * from all_users;

select * from user_users;   

 

查看用户或角色系统权限(直接赋值给用户或角色的系统权限):  

select * from dba_sys_privs; select * from user_sys_privs; 

 

查看角色(只能查看登陆用户拥有的角色)所包含的权限:

select * from role_sys_privs;

 

查看用户对象权限:

select * from dba_tab_privs;

select * from all_tab_privs;

select * from user_tab_privs;

 

查看所有角色:

select * from dba_roles;

 

查看用户或角色所拥有的角色:

select * from dba_role_privs;

select * from user_role_privs;

 

查看哪些用户有sysdba或sysoper系统权限(查询时需要相应权限)

select * from V$PWFILE_USERS   

 

查看Oracle提供的系统权限:

select name from sys.system_privilege_map;

 

查看一个用户的所有系统权限(包含角色的系统权限):

select privilege from dba_sys_privs where grantee='DATAUSER' 
union 
select privilege from dba_sys_privs where grantee in (select granted_role from dba_role_privs where grantee='DATAUSER' );

 

导出全部数据:

exp 用户名/密码 file="dat.dmp" full=y

 

 

导出指定用户的数据:
exp 用户名/密码 file="dat.dmp" owner=(用户名)

 

 

导入

imp userid=system/manager full=y file=filename.dmp

 

 

导入导出前注意事项:

 

查看要导出或导入的用户的语言:

select userenv('language') from dual;

 

设置环境变量

export NLS_LANG="语言"

例如:

export NLS_LANG=”SIMPLIFIED CHINESE_CHINA.UTF8″
 

 

然后在执行exp或imp命令

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

你可能感兴趣的:(oracle,sql)