您的位置:首页 > 数据库 > Oracle

linux下ORACLE数据库中创建新用户

2016-07-08 14:15 387 查看

http://www.cnblogs.com/cloudwalf/archive/2008/09/04/1284033.html
http://www.aiisen.com/oracle-linux-oper-zh.html

一,在已有数据库实例中创建新用户

 操作步骤如下:

 1、登录linux,以oracle用户登录(如果是root用户登录的,登录后用 su - oracle命令切换成oracle用户)

 2、以sysdba方式来打开sqlplus,命令如下:SQL>sqlplus /nolog  SQL>conn /as sysdba SQL>startup 或者 sqlplus "/as sysdba"

 注创建临时表空间的操作可以自行选择 --//创建临时表空间

create temporary tablespace test_temp tempfile '/data/oracle/oradata/test/sysdate_temp01.dbf' --//Linux下的文件系统

size 64m  autoextend on next 64m maxsize 2048m  extent management local;

 3、查看我们常规将用户表空间放置位置:执行如下sql:select name from v$datafile;

 4、创建用户表空间:

CREATE TABLESPACE NOTIFYDB DATAFILE '/oracle/oradata/test/qiwei_test.dbf' SIZE 200M AUTOEXTEND ON EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO;

//表空间在系统数据文件中不存在这是我们需要重新建立的数据文件

5、创建用户,指定密码和上边创建的用户表空间

CREATE USER 用户 IDENTIFIED BY 用户密码 DEFAULT TABLESPACE NOTIFYDB;

6、赋予权限

grant connect,resource to 用户;

grant unlimited tablespace to 用户;

grant create database link to 用户;

grant select any sequence,create materialized view to 用户;

grant unlimited tablespace to 用户;//授予不限制的表空间

grant select any table to 用户;//授予查询任何表

grant是关键字,select any table是权限,to后面是用户账号

 

--创建项目表

create table test_V5_PROJECTS(

  PROJECT_ID NUMBER(10) constraint PK_test_V5_PROJECTS primary key,

  PROJECT_NAME varchar2(20) not null,

  BUSINESS_DEPT varchar2(40),

  CONTACTNAME varchar2(20),

  CONTACTTEL VARCHAR2(20),

  START_DATE date,

  CONTACTEMAIL varchar2(20),

  CREATE_OPER NUMBER(10),

  CREATE_TIME DATE DEFAULT SYSDATE NOT NULL

);

--添加注释

comment on table test_V5_PROJECTS is '项目表';

comment on column test_V5_PROJECTS.PROJECT_ID is '主键ID';

comment on column test_V5_PROJECTS.PROJECT_NAME is '项目名称';

comment on column test_V5_PROJECTS.BUSINESS_DEPT is '业务部门';

comment on column test_V5_PROJECTS.CONTACTNAME is '接口联系人';

comment on column test_V5_PROJECTS.CONTACTTEL is '联系人电话';

comment on column test_V5_PROJECTS.START_DATE is '启动时间';

comment on column test_V5_PROJECTS.CONTACTEMAIL is '邮箱';

comment on column test_V5_PROJECTS.CREATE_OPER is '创建者';

comment on column test_V5_PROJECTS.CREATE_TIME is '创建时间';

平淡生活 16:18:15

昨晚上我建好表之后又时候可以select 有时候提示错误

primary key最好加constraint 名称,

你自己的账号建立的表,你自己一定是有权限的

授权语句,是授权给其它用户操作你的表或者你操作其它用户的表的

下列权限对test通用,直接执行

上面是授权,关键字grant

“test”是用户账号

7,--是否要先建立表之后给表授权带测试。

grant insert,select,update,delete on table to user;

 

二,修改密码删除用户及其所有空间和对象

1,查看有DBA权限的用户表,语法:下面的语句本人没有测到它是做什么用的貌似数据太多,我没有仔细分析

select * from dba_tables t where t.owner='用户id';

dba_tables: 是有权限的DBA  用户id: oracle用户名

查看当前用户下的表,看看此数据库有多少用户

select table_name from user_tables

--Oracle查询用户,表相关信息...

--用户

SELECT * FROM DBA_USERS;

SELECT * FROM ALL_USERS;

SELECT * FROM USER_USERS;

--系统权限

SELECT * FROM DBA_SYS_PRIVS;

SELECT * FROM SESSION_PRIVS;

SELECT * FROM USER_SYS_PRIVS;

--角色

SELECT * FROM USER_ROLE_PRIVS;

SELECT * FROM DBA_ROLES;

--对象权限

select * from user_tab_privs where table_name like '%T_MDM_SMS_MESSAGE_TYPE%';

select * from dba_tab_privs;

select * from all_tab_privs;

--表查询

select * from user_tab_comments;

select * from user_col_comments

2,--//修改用户密码

alter user test identified by new_password;

3,--//删除表空间

drop tablespace test_temp including CONTENTS and datafiles;

4,--//删除用户

drop user 用户名 cascade; --//执行该语句请小心,会级联删除该用户下所有对象。

//cascade参数是级联删除该用户所有对象,经常遇到如用户有对象而未加此参数则用户删不了的问题,所以习惯性的加此参数

 

三,oracle中创建表并授权其他用户访问

--创建项目表

create table Test_V5_PROJECTS(

  PROJECT_ID NUMBER(10) constraint PK_Test_V5_PROJECTS primary key,

  PROJECT_NAME varchar2(20) not null,

  CONTACTTEL VARCHAR2(20),

  START_DATE date,

  CREATE_TIME DATE DEFAULT SYSDATE NOT NULL

);

--添加注释pl/sql中注释的写法

comment on table Test_V5_PROJECTS is '项目表';

comment on column Test_V5_PROJECTS.PROJECT_ID is '主键ID';

comment on column Test_V5_PROJECTS.CREATE_TIME is '创建时间';

primary key最好加constraint 名称,constraint是限制的意思。

你自己的账号建立的表,你自己一定是有权限的

授权语句,是授权给其它用户操作你的表或者你操作其它用户的表的

下列权限对Test通用,直接执行

“Test”是用户账号,admin是超级用户,其他都是关键字

上面是授权,关键字grant ,grant是关键字,select any table是权限,to后面是用户账号

 

四、数据库数据的导入导出

 1,-- 数据库导入1:正常情况 impdp bp_oracle/bp_oracle directory=dump_dir dumpfile=bp_oracle20120209.dmp

 2,-- 数据库导入2:映射情况

 impdp bp_oracle/bp_oracle directory=dump_dir dumpfile=ncp20120209.dmp remap_schema=ncp:bp_oracle remap_tablespace=ncp:bp_oracle

 3,-- 数据导出,可以带版本 expdp bp_oracle/bp_oracle DIRECTORY=dump_dir dumpfile=bp_oracle.dmp version=10.2.0.1.0 

 4,导出数据库-- 导出数据库不带版本

  expdp bp_oracle/bp_oracle schemas=bp_oracle DUMPFILE=bp_oracle20120221.dmp DIRECTORY=DUMP_DIR JOB_NAME=full 

 -- 导出数据库不带版本 带版本

 expdp bp_oracle/bp_oracle schemas=bp_oracle DIRECTORY=dump_dir dumpfile=bp_oracle20120221.dmp version=10.2.0.1.0

-- 导出数据库不带版本 expdp bp_oracle/bp_oracle schemas=bp_oracle DUMPFILE=bp_oracle20120221.dmp DIRECTORY=DUMP_DIR JOB_NAME=full 

-- 导出数据库不带版本 带版本 expdp bp_oracle/bp_oracle schemas=bp_oracle DIRECTORY=dump_dir dumpfile=bp_oracle20120221.dmp version=10.2.0.1.0

5,导出数据库中表中数据

-- 导出数据 指定表名数据

exp nmswxt_mhwz/nmswxt_mhwz file=/home/oracle/dmp/nmswxt_mhwz_news_content.dmp tables=NEWS_CONTENT 

-- 导入数据,带映射关系

imp nmswxt_mhzz/nmswxt_mhzz file=/home/oracle/dmp/nmswxt_mhwz_news_content.dmp fromuser=nmswxt_mhwz touser=nmswxt_mhzz

6,--建立物化视图授权  GRANT CREATE MATERIALIZED VIEW TO nmswxt_sw;

7,--定时任务授权  grant   create  job  to  nmswxt_sw
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  oracle linux 数据库