Oracle12c新建用户实例

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/qq_42202565/article/details/102708088

Oracle12c数据库用户及表空间的创建

1.在oracle 12c中,使用了一个container(容器)的概念,使得orcale实例和oracle用户从11g的一对多关系到12c的多对对关系。官方对12c的介绍很多,在我们日常使用上只需要理解它的一些基础概念:
Multitenant Environment:多组户环境
CDB(Container Database):数据库容器
PDB(Pluggable Database):可插拔数据库

2.下面几个是我在使用12C数据库的过程中遇到的问题:

1).创建普通用户时,通常建立在CDB层,用户名必须要已C##或c##开头,否则报错ORA-65096: invalid common user or role name
2).创建c##开头的用户名之后,授权,修改密码完登陆却报错ORA-01017: invalid username/password; logon denied
3).为解决问题2,修改新建的oracle用户名为小写字母时,修改用户密码报错ORA-01918: user 'username' does not exist
4).当需要命名数据名为小写字母时,需取消12c数据库的大小写限制ALTER SYSTEM SET SEC_CASE_SENSITIVE_LOGON=FALSE;
5).经百度(没有实际操作过)若想和11g创建用户流程一样,可以在数据库安装时选择不安装数据库容器

3.数据库用户创建流程

a.创建表空间:
CREATE SMALLFILE 
  TABLESPACE "表空间名"
  LOGGING
  DATAFILE '/home/oracle/app/oradata/表空间名.dbf' SIZE 1024M AUTOEXTEND ON NEXT  512M MAXSIZE  3048M
  EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO;

b.创建普通新用户
CREATE USER C##用户名 PROFILE DEFAULT IDENTIFIED BY 用户密码 DEFAULT
TABLESPACE 表空间名 TEMPORARY 
TABLESPACE TEMP ACCOUNT UNLOCK;

c.授权
GRANT CONNECT TO C##用户名;
GRANT RESOURCE TO C##用户名;
GRANT DBA TO C##用户名 WITH ADMIN OPTION;
ALTER USER C##用户名 DEFAULT ROLE DBA;

alter user C##用户名 quota unlimited on 表空间名;

d.用户名去掉C##
select user#,name from user$;---查到到所需修改用户名
update user$ set name='新的用户名称' where user#=139;
commit;
强制刷新
ALTER SYSTEM CHECKPOINT;
ALTER SYSTEM FLUSH SHARED_POOL;

e.修改密码
ALTER USER 用户名 IDENTIFIED BY 密码;
COMMIT;
关闭大小写限制
ALTER SYSTEM SET SEC_CASE_SENSITIVE_LOGON=FALSE;

4.重启数据库

a.关闭
lsnrctl stop
sqlplus / as sysdba
shutdown immediate;
b.启动
lsnrctl start
sqlplus / as sysdba
startup;

5.数据库导入导出

使用expdp/impdp命令
a.创建dmp文件存储路径
create directory dump_dir as '/home/oracle/dmp';
为用户目录赋读写权限
grant read,write on directory dump_dir to userName;
b.导出
expdp 用户名/密码 directory=dump_dir dumpfile=name.dmp logfile=name.log schema=用户名
c.导入
impdp 用户名/密码 directory=dump_dir dumpfile=name.dmp logfile=name.log  remap_schema=老用户名:新用户名remap_tablespace=老表空间名:新表空间名 

第一此写文章,如果大家觉得实用还请多多点赞!
转载请写明转载来源!

猜你喜欢

转载自blog.csdn.net/qq_42202565/article/details/102708088
今日推荐