精华内容
下载资源
问答
  • 关于windows安装Oracle 12c后出现的 ORA-65096、ORA-65048、 ORA-00959 2020/6/4官网上下载Oracle 12zip包。安装后做测试了解到了一个cdb和pdb的概念,在这里记录一下。希望能帮到<像我这样的人>。 一、 这里...

    关于windows安装Oracle 12c后出现的 ORA-65096、ORA-65048、 ORA-00959

    2020/6/4官网上下载Oracle 12zip包。安装后做测试了解到了一个cdb和pdb的概念,在这里记录一下。希望能帮到<像我这样的人>。

    一、 这里是关于cdb和pdb的相关概念

    CDB与PDB是Oracle 12C引入的新特性,在ORACLE 12C数据库引入的多租用户环境(Multitenant Environment)中,允许一个数据库容器(CDB)承载多个可插拔数据库(PDB)。CDB全称为ContainerDatabase,中文翻译为数据库容器,PDB全称为Pluggable Database,即可插拔数据库。在ORACLE 12C之前,实例与数据库是一对一或多对一关系(RAC):即一个实例只能与一个数据库相关联,数据库可以被多个实例所加载。而实例与数据库不可能是一对多的关系。当进入ORACLE 12C后,实例与数据库可以是一对多的关系。

    二、想要了解cdb和pdb的深入概念小伙伴们可以自行查找。下面直接进入问题。

    oracle 的安装过程这里就不多赘述了。我在安装好Oracle后使用navicat连接了Oracle。在创建表空间是还是非常顺利的。但是当我在创建用户时出现了两个错误。

    1.在填写好用户的基本信息后进行保存,会报:

    ORA-65096: 公用用户名或角色名无效
    这里百度了一波,知道了充cdb和pdb的概念。查询到是说cdb创建用户是用户名前面必须要加上C##或c##,不然会返回一个错误。

    2.当我将用户名加上C##前缀后又报了一个:ORA-65048:在可插入数据库PDBORCL中处理当前DDL语句时出错 ORA-00959:表空间‘LOCL_DATA’不存在

    这里呢其实还是和cdb有关。
    首先我查询了我现在的session是cdb,这就导致了我在cdb创建了表空间但是pdb上面并没有这个表空间。由于cdb与pdb表空间结构不同,所以就出现了ora-00959的错误。
    在这里插入图片描述
    之后我有查看了此时数据库的pdb。
    在这里插入图片描述
    可以看到里面有个ORCLPDB,于是我就用navicat重新连接了一下这个可插拔数据库。具体连接配置如下:
    在这里插入图片描述
    可以看到我修改了服务名。从默认的ORCL改成了ORCLPDB。之后的创建表空间和用户就没有问题了。
    用户名前面也不需要加C##了。

    如果用的是sqlplus进行测试的,那就直接修改session就行了。
    SQL> alter session set container=ORCLPDB;

    在这里插入图片描述

    三、关于Oracle12c 重启后。。。

    Oracle 12c 重启后只会重启cdb,其余所有的pdb都会进入mounted状态。这个时候客户端是无法连接这个数据库的。所以们还需要重新启动相应的pdb数据库。
    SQL> sqlplus / as sysdba
    在这里插入图片描述
    SQL> select name, pdb from v$services; //查看pdb
    在这里插入图片描述
    SQL> alter pluggable database orclpdb open; //启动相应pdb(orclpdb是我的pdb的名称)
    在这里插入图片描述
    当然,你也可以使用触发器进行自启动。我这里没有进行测试,就不把具体的方法写在上面了。

    展开全文
  • 第一次搭建orale增加表空间一直报错。后来重启解决问题。重启能解决运维当中90的问题。哈哈 SQL> SQL>...ORA-65048: error encountered when processing the current DDL statement in pluggable d

    第一次搭建orale增加表空间一直报错。后来重启解决问题。重启能解决运维当中90的问题。哈哈

    SQL> SQL>  alter user c##test default tablespace test;
     alter user c##test default tablespace test
    *
    ERROR at line 1:
    ORA-65048: error encountered when processing the current DDL statement in
    pluggable database ORCLPDB1
    ORA-00959: tablespace 'test' does not exist
    
    SQL> SQL> CREATE USER C##test IDENTIFIED BY Cmgd1234 DEFAULT TABLESPACE test;
    CREATE USER C##test IDENTIFIED BY Cmgd1234 DEFAULT TABLESPACE test
    *
    ERROR at line 1:
    ORA-65048: error encountered when processing the current DDL statement in
    pluggable database ORCLPDB1
    ORA-00959: tablespace 'test' does not exist
    ###重启数据库解决问题
    SQL> shutdown immediate;
    Database closed.
    Database dismounted.
    ORACLE instance shut down.
    SQL> startup
    ORACLE instance started.
    
    Total System Global Area  771749224 bytes
    Fixed Size                  9139560 bytes
    Variable Size             603979776 bytes
    Database Buffers          155189248 bytes
    Redo Buffers                3440640 bytes
    Database mounted.
    ---需要增加c##,具体可以百度,这里不展开
    SQL> 
    SQL>  alter user c##test default tablespace test;
    
    User altered.
    
    
    展开全文
  • Oracle数据库在使用数据泵导入dmp数据文件时报错。...ORA-00959: tablespace ‘TEMP1’ does not exist Failing sql is: CREATE USER “DATABUFF” IDENTIFIED BY VALUES ‘S:B27D8FB573BDBBBAE67BA0A5D896EAE1529D

    Oracle数据库在使用数据泵导入dmp数据文件时报错。

    导入之前已删除目标数据库的被导入用户。

    错误信息:
    ORA-39083: Object type USER failed to create with error:
    ORA-00959: tablespace ‘TEMP1’ does not exist
    Failing sql is:
    CREATE USER “DATABUFF” IDENTIFIED BY VALUES ‘S:B27D8FB573BDBBBAE67BA0A5D896EAE1529D135E37C85E758FAB595B1A99;AEF687F6EC2CBAD6’ DEFAULT TABLESPACE “CAMS_DATABUFF_TAB” TEMPORARY TABLESPACE “TEMP1”
    ORA-39083: Object type USER failed to create with error:
    ORA-00959: tablespace ‘TEMP1’ does not exist

    导入命令:
    impdp system/123456@cams DIRECTORY=dpdata1 DUMPFILE=deskData202012021538.dmp SCHEMAS=db2odesk,sdata,databuff,work,report LOGFILE=impdp_deskData202012021538.log

    知识点:
    impdp命令在导入数据时,如果用户存在,则会自动创建该用户,因为expdp导出的dmp文件中包含了创建用户的脚本信息(包括密码,缺省表空间,临时表空间等)。
    impdp自动创建用户有一个前提条件,就是需要首先创建用户的缺省表空间和临时表空间,如果缺省表空间或者临时表空间不存在,则自动创建用户会失败,导致导入数据的失败。

    解决方案一:
    将目标数据库的临时表空间名称改成和源数据库的临时表空间名称一致
    1、查询用户表空间及默认表空间

     SELECT USERNAME "用户名称", DEFAULT_TABLESPACE "默认表空间", TEMPORARY_TABLESPACE "临时表空间", ACCOUNT_STATUS "用户状态" FROM DBA_USERS ORDER BY 3,1;
    

    2、修改用户临时表空间名称

    ALTER TABLESPACE TEMP RENAME TO TEMP1;
    

    解决方案二(未尝试)
    表空间映射,使用数据泵中的remap_tablespace属性
    导入命令如下:

     impdp system/123456@cams DIRECTORY=dpdata1 DUMPFILE=deskData202012021538.dmp SCHEMAS=db2odesk,sdata,databuff,work,report remap_tablespace=TEMP1:TEMP LOGFILE=impdp_deskData202012021538.log
    

    扩展:

    删除用户时查询并删除用户会话:

    SELECT 'ALTER SYSTEM KILL SESSION ''' || C.SID || '' || ',' || C.SERIAL# ||''';' FROM V$SESSION C WHERE USERNAME IN('DB2ODESK', 'SDATA', 'DATABUFF', 'WORK','REPORT');
    
    展开全文
  • ORA-65048: 在可插入数据库 PDB1 中处理当前 DDL 语句时出错 ORA-00959: 表空间 'TEST_CDB' 不存在 又报错,提示我的表空间不存在,不可能的啊,刚才明明创建成功,截图为证了,这里不要心急,不要慌,看ORA-...

    完成目标:在oracle 12c下创建用户test_user,默认表空间为test_cdb

    首先在cdb模式下新建表空间

    SQL> create tablespace test_cdb datafile '/app/oracle/oradata/orcl/cdb_tbs_01.dbf' size 20m;
    
    Tablespace created.
    

    ok,这里创建成功,接下来创建用户test_user指定默认表空间为 test_cdb

    SQL>  create user test_user identified by 123456 default tablespace test_cdb;
     create user test_user identified by 123456 default tablespace test_cdb
                 *
    ERROR at line 1:
    ORA-65096: 公用用户名或角色名无效
    

    嗯,不好意思,忘记用户名称前要加c##或者C##,12c与11g创建用户有所区别哦,12c如果在pdb下和11g创建用户命令一致,在cdb容器下创建用户要加c##,注意了哈,这里也给大家提个醒,嗯,再次修改执行

    SQL> create user c##test_user identified by 123456 default tablespace test_cdb;
    create user c##test_user identified by 123456 default tablespace test_cdb
    *
    ERROR at line 1:
    ORA-65048: 在可插入数据库 PDB1 中处理当前 DDL 语句时出错 ORA-00959: 表空间
    'TEST_CDB' 不存在
    

    又报错,提示我的表空间不存在,不可能的啊,刚才明明创建成功,截图为证了,这里不要心急,不要慌,看ORA-65048的错误内容:【在可插入数据库pdb1

    ............出错】,查看官方文档,有段话这么说的:

    While creating a common user, any default tablespace, temporary tablespace, or profile specified using the following clauses must exist in all the containers belonging to the CDB:
    
    DEFAULT TABLESPACE
    TEMPORARY TABLESPACE
    QUOTA
    PROFILE
    
    If these objects do not exist in all the containers, the CREATE USER statement fails.

    在CDB下给用户分配表空间时,此表空间必须在没有pdb的情况或者pdb下有相同表空间名称的时候才能成功

    查看下我的pdb

    SQL> show pdbs;
    
        CON_ID CON_NAME			  OPEN MODE  RESTRICTED
    ---------- ------------------------------ ---------- ----------
    	 2 PDB$SEED			  READ ONLY  NO
    	 3 PDB1 			  READ WRITE NO
    	 4 PDB2 			  READ WRITE NO
    SQL> 
    

    2个pdb,本来偷懒打算在一个pdb下创建test_cdb表空间,但是还是报错,报错内容大意就是pdb2下没有test_cdb的表空间对象,后来在两个pdb都创建了才成功,代码如下

    SQL> alter session set container=pdb1;    
    
    Session altered.
    
    SQL> create tablespace test_cdb datafile '/app/oracle/oradata/orcl/pdb_tbs_01.dbf' size 2m;
    
    Tablespace created.
    
    SQL> alter session set container=cdb$root; --回到CDB容器
    
    Session altered.
    
    SQL> create user c##test_user identified by 123456 default tablespace test_cdb;
    create user c##test_user identified by 123456 default tablespace test_cdb
    *
    ERROR at line 1:
    ORA-65048: 在可插入数据库 PDB2 中处理当前 DDL 语句时出错 ORA-00959: 表空间
    'TEST_CDB' 不存在
    
    
    SQL> alter session set container=pdb2;
    
    Session altered.
    
    SQL> create tablespace test_cdb datafile '/app/oracle/oradata/orcl/pdb2_tbs_01.dbf' size 2m;
    
    Tablespace created.
    
    SQL> alter session set container=cdb$root;--回到CDB容器
    
    Session altered.
    
    SQL> create user c##test_user identified by 123456 default tablespace test_cdb;
    
    User created.

    总结:如果各位小伙伴也使用了ORACLE 12C,而且PDB非常多的情况下就不要在CDB下指定自己创建的表空间了,使用系统表空间比较好,而且在CDB容器下创建的用户属于公有用户,视情况而定

    祝愿每天进步一点点

    展开全文
  • ORA-65048 ORA-00959

    千次阅读 2018-05-14 15:20:13
    ORA-65048 ORA-00959 数据库版本: Oracle 12.2.0.1.0 问题: CDB数据库内,创建用户并指...
  • impdp错误如下: IMP-00017: following statement failed with ORACLE error 959: ...  "DUIF1" LOGGING NOCOMPRESS )"...ORA-00959: tablespace 'TBS_LZL_OLD' does not exist IM...
  • 描述 在使用imp命令将dmp文件导入oracle中时,遇到如下...ORA-00959: 表空间 'TBS_CDUSER' 不存在 IMP命令如下: IMP cduser/cduser123@orcl file=D:\cduser20190417_owner.dmp full=y; 我想将备份文件导...
  • oracle数据库中导入DMP时ORA-00959错误的解决方法
  • 2 我们常在使用imp相关命令时会出现"ora-00959表空间不存在"这样的问题,这时可直接指定已有表空间去处理: impdp userC/1@192.168.1.1:1521/orcl directory=DATA_PUMP_DIR dumpfile=eg2.dmp remap_schema=userA:...
  • ORA-39083 ORA-00959

    千次阅读 2016-02-29 17:45:43
    ORA-39083: Object type TABLE:"TSALE"."B_SELL_CLASSIFY" failed to create with ...ORA-00959: tablespace 'SALES' does not exist Failing sql is: CREATE TABLE "TSALE"."B_SELL_CLASSIFY" ("SELL_CLAS
  • ORA-00959:表空间不存在

    万次阅读 2019-02-20 10:34:57
    在PL/SQL中,通过SQL窗口建立表空间,建立新用户时,出现了一个错误:表空间不存在。。。。 而实际上,在用SQL语句建立表空间时,表空间是成功建立的,可以通过以下语句来查询表空间的名称及大小: ...
  • ora-00959:tablespace 'TEMP01' does not exist 觉得挺奇怪的,之前只是在impdp操作遇到过表空间不存在的报错,expdp倒是第一次遇到。立马查看了dba_tablespaces和v$tablespace视图,发现并未有TEMP01的信息。 查...
  • imp IMP-00003: ORACLE error 959 encountered ORA-00959 问题解决
  • ORA-01110: 数据文件11: ‘’’‘I:\tablesapce\APP0104_DEFAULT.dbf’’ 5. alter database datafile 11 offline drop 6.重复第4第5步,直到所有无法连接的的表空间都已经drop为止 7.重新连接oracle数据库即可。...
  • 今天在导表时遇到了959的问题,解决方法如下:创建表空间 ---创建表空间,以ABC为例 CREATE TABLESPACE "ABC" --空间名 LOGGING DATAFILE 'D:\表空间的位置' SIZE 32M AUTOEXTEND ...
  • ORA-00959 解决一例

    2015-10-16 11:12:10
    ORA-00959: tablespace 'USER_DATA' does not exist 由于 system  用户的缺省表空间是 USER_DATA ,自然 ORA-00959:  错误出现很正常。 SQL> alter user system default ...
  • impdp里的参数tablespace如果在被导入的数据库里不存在,则impdp这个程序不会自动创建,提示ORA-00959: tablespace 'SMS_MT' does not exist(表空间不存在),此时就需要调整REMAP_SCHEMA参数。 改为 现在说法...
  • 2、数据库的恢复 a)sqlplus执行创建用户...create tablespace "EAS_D_HPRTST140811_STANDARD" datafile '/oradata1/oradata/EAS_D_HPRTST140811_STANDARD.ORA' size 2000M autoextend on; create temporary table
  • 首先在dmp中找到建表语句,创建表成功后,执行以下语句,只将数据导入默认表空间。 imp user/pass@database file=filename.dmp,tables=t_tablename,ignore=y
  • 错误 : ORA-00959: tablespace 'PSAPTEMP' does not exist 解决办法: CREATE TEMPORARY TABLESPACE PSAPTEMP TEMPFILE 'E:/Oracle/ORC/sapdata3/temp_1/temp.data1' SIZE 500M REUSE AUTOEXTEND ON NEXT 1...
  • ORA-00959 表空间不存在

    万次阅读 2014-03-06 15:48:54
    删除表空间错误提示:ORA-00959 表空间不存在 ,表空间删不掉了,网上总结的几个方法。。 第一 问题:SQL> drop tablespace csc_index including contents and datafiles;drop tablespace csc_index including ...
  • impdp时报ORA-39083、ORA-00959错误

    千次阅读 2014-05-07 13:12:07
    ORA-00959: tablespace 't1' does not exist ORA-39112: Dependent object type...... 在网上搜索了一堆都没有解决,最后我就在B库的prafile中加了如下一个参数就解决了 remap_tablespace=t1:t2 ...
  • ORA-00959: tablespace 'TB01' does not exist

    千次阅读 2015-12-30 19:40:00
    00959 : tablespace ' TB01 ' does not exist 原因: 建立表空间的时候,使用了小写名称 解决办法: 因此删除时候必须加上双引号 SQL > drop tablespace "tb01" including contents and datafiles; ...
  • (注:开始一直提示这个错误,我就纳闷,后来重启下Oracle服务之后,就不会报这个错了) */
  • ORA-00959: tablespace '' does not exist

    千次阅读 2014-01-16 08:51:50
    ORA-00959: tablespace 'XTHIS' does not exist 16:07:56 SQL>  16:09:53 SQL> alter tablespace "xthis" add datafile '/oradata/hsbank/xthis2' size 5120M; Tablespace altered. ...
  • SYS_FORMFILEINFO 含有LOB字段,导入时出现IMP-00017,IMP-00003,ORA-00959。 为避免此错误,解决方案如下,   方法A: 在导入的数据库中建立与原数据库一样名称的tablespace(当然,只需要建立 有LOB字段的...
  • 报错信息:IMP-00003: ORACLE error 959 encountered ORA-00959: tablespace 'HB' does not exist 原因:要导入库中如果有表字段类型为CLOB,且要导入的表空间名和原表空间名不一样就会报如下的错。 解决方法一: ...
  • oracle ORA-00959

    千次阅读 2011-10-11 15:00:43
    ORA-00959: 表空间 'xxxx '不存在  创建表空间解决。 create tablespace PLATFORM datafile 'E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\PLATFORM.DBF' size 800M; 先查询空闲空间 selec

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 849
精华内容 339
关键字:

ORA-00959