1、oracle删除用户及用户所有表。
drop user user_name cascade;
2、Oracle ORA-01033: ORACLE initialization or shutdown in progress。
注意:下面的命令会把数据库删除。
a. 打开cmd,执行以下命令进入sqlplus。
sqlplus 用户名/密码@IP地址:端口/服务名 AS SYSDBA
b. 在sqlplus中执行以下命令。
shutdown normal;
startup mount;
alter database open;
这时会报错:
ORA-01157: 无法标识/锁定数据文件 6 - 请参阅 DBWR 跟踪文件
ORA-01110: 数据文件 6: 'D:\JAVA\ORACLE\PRODUCT\10.2.0\DB_1\SDE.DBF'
c. 执行命令删除有问题的文件。
alter database datafile 'D:\java\oracle\product\10.2.0\db_1\SDE.DBF' offline drop;
d. 重新执行b和c两步即可。
3、ORA-01157: 无法标识/锁定数据文件,请参阅 DBWR 跟踪文件。
同问题2,删除有问题的数据文件即可。
4、ORA-28009: connection as SYS should be as SYSDBA or SYSOPER。
使用sqlplus登录时,用户名输入sys as SYSDBA。
5、ORA-01113: 文件 6 需要介质恢复。
文件损坏,按问题2的步骤删除后重建。
6、navicat转储的sql文件导入报错:ORA-00936: 缺失表达式。
INSERT INTO "SDE"."A141" VALUES ('1', '200', , '93');
注意sql文件中出现了连续两个逗号。
7、ORA-29861: 域索引标记为 LOADING/FAILED/UNUSABLE。
索引有问题。
8、ORA-02429:无法用于删除强制唯一/主键的索引。
9、ORA-01940: 无法删除当前连接的用户。
10、ORA-28000: the account is locked。
账号锁定了,执行以下命令解锁。
alter user SDE account unlock;
11、ORA-31655: 尚未为作业选择数据或元数据对象。
12、ORA-12560: TNS: 协议适配器错误。
sqlplus未提供数据库连接地址。
13、ORA-03135: connection lost contact。
将 D:\java\instantclient\instantclient_19_12_64 添加到环境变量中,重启navicat。
14、ORA-01017: invalid username/password; logon denied。
15、新安装数据库 Oracle Database Express Edition,使用navicat连接报错:ORA-12541:TNS:无监听程序。
Express版本默认服务名是XE,不是ORCL。将服务名由ORCL改为XE即可。
16、怎么修改 Oracle 服务名?
a. 打开PowerShell,输入以下命令。
sqlplus 用户名/密码 as sysdba
b. 查看服务名。
show parameter service_name
c. 修改服务名为ORCL。
alter system set service_names='ORCL' scope=both;
d. 修改listener.ora,将DEFAULT_SERVICE_LISTENER
XE修改为DEFAULT_SERVICE_LISTENER
ORCL。17、数据库管理员和普通用户应授予哪些角色?
数据库管理员:CONNECT、RESOURCE、DBA。
普通用户:CONNECT、RESOURCE。
18、ORACLE 21c 创建用户报错:ORA-65096:公用用户名或角色名无效。
a. 使用 navicat 登录时,服务名由 ORCL 改为 XEPDB1。(创建PDB用户)
b. 将用户名以C~#~#开头即可。(创建CDA用户)
19、ORA-65048:在插接式数据库XEPDB1中处理当前DDL语句时出错。
使用navicat登录时,服务名由ORCL改为XEPDB1。
20、ORA-00959:表空间SDE不存在。
使用navicat登录时,服务名由ORCL改为XEPDB1。
22、OracleOraDb11g_home1TNSListener服务启动后又停止。
方法一:
出现这个问题是因为你的Oracle文件出了问题;
在你的Oarcle安装路径下:D: \ Oracle11g \ product \ 11.1.0 \ db \ NETWORK \ ADMIN
找到 listener.ora ,打开
将 HOST 的值修改成你自己电脑的名称(一般的电脑都是 XXX_PC)
方法二:配置环境变量
ORACLE_HOME:E:\app\Administrator\product\11.2.0\dbhome_1
TNS_ADMIN:E:\app\Administrator\product\11.2.0\dbhome_1\NETWORK\ADMIN
方法三:修改注册表
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\OracleOraDb11g_home1TNSListener的ImagePath值,
E:\app\Administrator\product\11.2.0\dbhome_1\BIN\TNSLSNR中没有‘.exe’,所以也加上后缀。
方法四:重新配置监听程序
删除 D: \ Oracle11g \ product \ 11.1.0 \ db \ NETWORK \ ADMIN 下的 listener.ora 文件
选择 Net Configuration Assistant 监听,一直无脑下一步,新建了个listener.ora文件,启动OracleOraDb11g_home1TNSListener服务还是报错,但是此时多了个OracleTNSListener服务,可以正常启动,然后试着ODBC和数据库连接,还是报错。
方法五:重启数据库
sqlplus / as sysdba
startup force
参考文档:https://www.cnblogs.com/lqfnotes/articles/12830718.html
23、减小Oracle占用内存。
参考文档:https://blog.csdn.net/u010741112/article/details/117248291
a. 执行以下命令打开sqlplus。
sqlplus system/密码 as sysdba;
b. 执行以下命令即可。
show parameter sga;
alter system set sga_max_size=400m scope=spfile;
alter system set sga_target=150m scope=spfile;
alter system set memory_target=1208m scope=spfile;
startup;
quit;
注意:sga_target < = sga_max_size <= memory_target <= memory_max_target;sga_max_size不得少于400m;memory_target不得少于1208m。
d. 如果上述修改后,数据库无法启动,可以按下面的方法解决。
使用system以sysdba角色登录sqlplus,执行以下代码导出配置。
create pfile=’D:/1.txt’ from spfile;
编辑 D:/1.txt,修改参数满足上面的注意事项,然后执行以下代码。
startup pfile=’D:/1.txt’;
create spfile from pfile=’D:/1.txt’;
startup
24、ORA-01219,数据库或插接式数据库未打开。
插接式数据库未打开,以sysdba角色登录sqlplus。
sysplus / as sysdba;
然后执行以下代码即可。
alter session set container=CDB$root;
create or replace trigger open_pdbs
after startup on database
begin
execute immediate 'alter pluggable database all open'
end open_pdbs;
25、使用exp导出数据时报错:EXP-00010: HYLAB_BUSINESS; 是无效的用户名。
exp "用户名/密码@IP地址:端口/服务名" file="导出文件名.dmp" log="日志文件名.log" owner=用户名
注意:owner=用户名后面不能有分号。
26、使用SQL语句创建表报错:SQL 错误 [907] [42000]: ORA-00907: 缺失右括号;ORA-06512: 在 line 6。
把 NOT NULL DEFAULT 0 改成 DEFAULT 0 NOT NULL 即可。
CREATE TABLE PIPE_SEGMENT (
ID NUMBER(22,0) NOT NULL PRIMARY KEY,
IS_DELETED NUMBER(11,0) DEFAULT 0 NOT NULL
)
27 、使用navicat连接oracle时报错:ORA-12638: Credential retrieval failed。
28、Underlying DBMS error [ORA-04030: 在尝试分配12404字节(QERHJ hash-joi,kllcqas:kllsltba)时进程内存不足】。
测试