oracle数据库操作及遇到的一些问题
记录第一次用oracle数据库时的问题和操作
-- 显示所有用户(库)
-- select * from all_users;
-- 显示当前所有的表
-- select * from tab;
-- 查看当前数据库名
-- select name from v$database;
-- 查看当前数据库实例名
-- select instance_name from v$instance;
-- 查询数据库域名
-- select value from v$parameter where name = 'db_domain';
-- 查询数据库服务名
-- select value from v$parameter where name = 'service_name';
-- 新建用户 -- create user 用户名 identified by 密码
-- create user test_qi identified by test_qi
-- 查看oracle数据库的数据文件的目录
-- select * FROM DBA_DATA_FILES;
问题一
创建表时出现ORA-01950: no privileges on tablespace ‘USERS’ [closed]
这个问题的主要原因是没有给用户设置大小空间,执行下列操作中的其中一个
ALTER USER <user> quota unlimited on <tablespace name>;
or
ALTER USER <user> quota 100M on <tablespace name>;
我的执行
ALTER USER TEST_QI quota unlimited on USERS; // TEST_QI是我的用户名(库)
问题二
当我查询表的内容时,出现SQL Error: ORA-00942 table or view does not exist
出现这个问题时,我一直以为我是不是权限没有给到位导致的,知道看到这篇博客给了我一些灵感。
解决方法:需要知道这个表是哪个用户创建的,然后在该用户下,查询该表
比如,我用的是Navicat Premium连接oracle的,在oracle中,TEST_QI是我自己创建的用户
一定要在当前用户下查询,才能查出东西
或者用oracle完整的语法查询
-- select * from 用户名."表名";
-- select * from TEST_QI."test";
最后还有一点,表要用引号引起来