如何查看oracle:分场景直接执行
如何查看oracle可以分为服务器系统查看、sqlplus命令查看、客户端工具查看三类;系统查看不需要登录数据库,适合运维人员排查服务状态,sqlplus查询需要对应权限,普通开发人员只能使用USER_开头视图,DBA账号才能读取DBA_视图,12c及以上容器库环境还需要先切换PDB容器再查询,否则无法读取业务数据信息。
如何查看oracle:系统层面查询
Linux服务器直接执行命令,不用进入数据库。
ps-ef|greporacle可查看Oracle后台进程,判断服务是否正常运行;echo$ORACLE_SID能直接读出当前实例名称;cat/etc/oratab可以查看本机所有已注册的数据库实例,这条命令不受账号权限限制。
Windows系统打开服务列表,查找名称以Oracle开头的服务,就能确认数据库实例有没有启动。
如何查看oracle:sqlplus内基础信息查询
| 查询目标 | 执行语句 | 权限要求 |
|---|---|---|
| 数据库版本 | select*fromv$version; | 普通用户即可执行 |
| 实例名称与运行状态 | selectinstance_name,statusfromv$instance; | 普通用户即可执行 |
| 数据库字符集 | selectuserenv('language')fromdual; | 普通用户即可执行 |
| 全部业务用户 | selectusernamefromdba_users; | 需要DBA角色权限 |
你先登录sqlplus,输入对应语句就能直接拿到结果;没有管理员权限时,不要执行DBA开头的数据字典视图,语句会直接返回权限不足报错。
如何查看oracle:业务对象信息查询
查看当前账号名下所有数据表,执行selecttable_namefromuser_tables;不需要额外授权,开发人员日常查询优先使用这条语句。
查看表空间占用情况,DBA账号执行表空间查询语句;普通账号只能查看自身默认表空间,无法读取全库存储数据。
如何查看oracle:12c容器库特殊限制
这条边界仅适用于12c及更高版本CDB容器数据库。
登录后默认处在根容器CDB$ROOT,此时查询不到PDB租户里的表和用户,必须先执行altersessionsetcontainer=租户名,切换到对应PDB之后,再执行数据表查询语句,才能正常读取业务对象。
第三方图形工具PL/SQLDeveloper、Navicat,连接成功后,在对象浏览器里可以直接浏览表、索引、存储过程,不用手动敲SQL语句,适合不熟悉命令行的人员使用。
