oracle创建用户并授权语句

1.创建用户

CREATE USER username IDENTIFIED BY password DEFAULT TABLESPACE tablespaceName;

2.赋权

grant dba to username;--给予dba权限

GRANT CONNECT, RESOURCE, CREATE VIEW TO username IDENTIFIED BY password;--给予部分权限

3.导出

exp username/password@dbname  file=*.dmp  log=logPath.log

如果执行这个命令时,报错oracle 12514错误,可以用下边的命令试试

exp username/password@ip:端口/dbname  file=*.dmp  log=logPath.log

 

oracle 11g 空表也要导出来的解决方案

http://blog.51cto.com/wanwentao/545154

4.导入(指定表空间)

imp username/password@dbname file=*.dmp tablespaces=tablespaceName fromuser=expusername touser=impusername log=logPath.log

在执行imp命令时,时常会遇到 带有clob blob字段的表导入失败,提示表空间不存在。最快捷的解决方案是,导入前先把这些存在大字段的表创建了,然后再导入,导入语句要加 ignore=y 

5.oracle 11g完美导出到oracle10g_百度经验

http://jingyan.baidu.com/article/29697b9137d421ab21de3c47.html

6.删除用户

drop user mpmtj cascade;

强制断开用户连接方法:

select sid,serial# from v$session where username='用户名';

alter system kill session 'sid,serial';

7.修改字符集(转载 http://jingyan.baidu.com/article/c1465413af2fb20bfcfc4c3e.html

oracle数据库的字符集更改 

 

A、oracle server 端 字符集查询 

 

select userenv('language') from dual 

 

其中NLS_CHARACTERSET 为server端字符集 

 

NLS_LANGUAGE 为 server端字符显示形式 

 

B、查询oracle client端的字符集 

 

$echo $NLS_LANG 

如果发现你select 出来的数据是乱码,请把client端的字符集配置成与linux操作系统相同的字符集。如果还是有乱码,则有可能是数据库中的数据存在问题,或者是oracle服务端的配置存在问题。 

 

C、server端字符集修改 

 

***************************************************************** 

 

*  更改字符集步骤方法(WE8ISO8859P1 --> ZHS16GBK)            * 

 

***************************************************************** 

 

SQL> 

将数据库启动到RESTRICTED模式下做字符集更改: 

SQL> conn /as sysdba 

Connected. 

SQL> shutdown immediate; 

Database closed. 

Database dismounted. 

ORACLE instance shut down. 

SQL> startup mount 

ORACLE instance started. 

Total System Global Area  236000356 bytes 

Fixed Size                   451684 bytes 

Variable Size             201326592 bytes 

Database Buffers           33554432 bytes 

Redo Buffers                 667648 bytes 

Database mounted. 

SQL> ALTER SYSTEM ENABLE RESTRICTED SESSION; 

System altered. 

SQL> ALTER SYSTEM SET JOB_QUEUE_PROCESSES=0; 

System altered. 

SQL> ALTER SYSTEM SET AQ_TM_PROCESSES=0; 

System altered. 

SQL> alter database open; 

Database altered. 

SQL> ALTER DATABASE CHARACTER SET ZHS16GBK; 

ALTER DATABASE CHARACTER SET ZHS16GBK 

ERROR at line 1: 

ORA-12712: new character set must be a superset of old character set 

 

提示我们的字符集:新字符集必须为旧字符集的超集,这时我们可以跳过超集的检查做更改: 

SQL> ALTER DATABASE character set INTERNAL_USE ZHS16GBK; 

Database altered. 

SQL> select * from v$nls_parameters; 

略 

19 rows selected. 

重启检查是否更改完成: 

SQL> shutdown immediate; 

Database closed. 

Database dismounted. 

ORACLE instance shut down. 

SQL> startup 

ORACLE instance started. 

Total System Global Area  236000356 bytes 

Fixed Size                   451684 bytes 

Variable Size             201326592 bytes 

Database Buffers           33554432 bytes 

Redo Buffers                 667648 bytes 

Database mounted. 

Database opened. 

SQL> select * from v$nls_parameters; 

略 

 

19 rows selected. 

 

正确设置ORACLE客户端字符集的方法:

oracle客户端字符集设置需要和服务器端一致,否则会出现乱码问题。

首先连接服务器,查询服务器端设置:

select * from v$nls_parameters;

找到:

NLS_LANGUAGE

NLS_TERRITORY

NLS_CHARACTERSET

环境变量nls_lang便是由这三部分组成

NLS_LANG = language_territory.charset

比如:AMERICAN_AMERICA.ZHS16GBK

 

8.删除用户所有的表

 select 'drop table '||table_name||' ;'  from all_tables where owner='user_name';--owner字段是大写

9.占用cpu大的语句

select * from (select sql_text,sql_id,cpu_time from v$sql order by cpu_time desc) where rownum<=10 order by rownum asc;

 

select * from (select sql_text,sql_id,cpu_time from v$sqlarea order by cpu_time desc) where rownum<=10 order by rownum asc;

 

10.查询某段时间某个用户执行时间长的sql

select executions, cpu_time/1e6 as cpu_sec, elapsed_time/1e6 as elapsed_sec, round(elapsed_time/sqrt(executions)) as important, v.* 

from v$sql v 

where executions > 10 and last_active_time>to_date('2016-11-22 18:00','yyyy-mm-dd hh24:mi') and last_active_time<to_date('2016-11-22 20:00','yyyy-mm-dd hh24:mi') and parsing_schema_name='MBP1'

 

order by important desc;

 11.查看用户信息

select * from dba_users;

12.创建表空间

CREATE TABLESPACE MAINHR

DATAFILE 'C:\Users\chen\oracle_tablespace\MAINHR_FILE01.ora' SIZE 100M REUSE,'C:\Users\chen\oracle_tablespace\MAINHR_FILE02.ora' SIZE 100M REUSE

DEFAULT STORAGE(INITIAL 500K NEXT 500K PCTINCREASE 20);

猜你喜欢

转载自best0247.iteye.com/blog/2332724