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

来源:互联网 发布:绘画录屏软件 编辑:程序博客网 时间:2024/06/05 20:46


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

0 0