Oracle 查询schema_name
时间: 2023-07-22 07:35:05 浏览: 241
要查询Oracle数据库中的schema_name,你可以执行以下SQL查询:
```
SELECT username FROM all_users;
```
此查询将返回所有用户的列表,其中包括schema_name。注意,这将返回数据库中所有用户的列表,包括Oracle系统用户和其他用户。如果你只想查找特定的schema_name,则可以使用WHERE子句来过滤结果,例如:
```
SELECT username FROM all_users WHERE username='your_schema_name';
```
此查询将仅返回名称为"your_schema_name"的schema_name。请注意,要执行上述查询,你需要具有适当的权限才能访问all_users视图。
相关问题
#!/bin/bash table='v\$sql' log="./tmp/shell/oracle_log.txt" if [ -e $log ] then rm -f $log fi su - oracle -c "sqlplus -S qgtg/qgtg << END set linesize 500 set pagesize 100 set term off verify off feedback off tab off set numwidth 5 set space 0 set colsep ' | ' column sql_text format a20 column module format a10 column parsing_schema_name format a20 SELECT * FROM (SELECT ROW_NUMBER() OVER(ORDER BY LAST_LOAD_TIME DESC) NUMS,SQL_TEXT,FIRST_LOAD_TIME,LAST_LOAD_TIME,PARSING_SCHEMA_NAME,MODULE FROM $table WHERE TO_DATE(LAST_LOAD_TIME,'YYYY-MM-DD hh24:mi:ss') > TRUNC(SYSDATE-1) ORDER BY LAST_LOAD_TIME DESC) WHERE NUMS < 100; quit; END" >> ./tmp/shell/oracle_log.txt if [ ! -e $log ]; then echo "failed" exit 1 fi echo "successed"解释一下脚本
这个脚本是一个 Bash 脚本,主要功能是连接 Oracle 数据库,查询最近一天内执行过的 SQL 语句,并将查询结果写入日志文件。具体解释如下:
1. `table='v\$sql'`:定义了一个变量 `table`,存储了要查询的表名,这里使用了转义字符 `$`,因为 `$` 符号在 Bash 中有特殊含义,需要转义。
2. `log="./tmp/shell/oracle_log.txt"`:定义了一个变量 `log`,存储了日志文件的路径。
3. `if [ -e $log ]`:判断日志文件是否存在,如果存在则删除。
4. `su - oracle -c "sqlplus ..."`:切换到 Oracle 用户,执行 SQLPLUS 命令,查询数据库,并将查询结果追加到日志文件中。
5. `if [ ! -e $log ]; then ...`:如果日志文件不存在,则输出 `failed`,并退出脚本。
6. `echo "successed"`:输出 `successed`,表示脚本执行成功。
总的来说,这个脚本实现了一个比较简单的数据库查询功能,并将结果写入日志文件,适用于一些简单的数据处理和分析任务。
oracle impdp remap_schema
oracle impdp remap_schema命令可以用来将导入的数据重新映射到新的schema名称下。具体用法为:
```
impdp <username>/<password> directory=<directory_object> dumpfile=<dumpfile_name> remap_schema=<old_schema>:<new_schema>
```
其中,`<old_schema>`是原始的schema名称,`<new_schema>`是新的schema名称。这个命令会将导入的数据从原始schema映射到新的schema,从而实现数据的重命名。
阅读全文