保存sql

博客给出一段SQL代码,用于查询ORACLE数据库的会话信息。代码通过多个表连接,获取会话状态、AIX进程ID、会话内存、物理I/O读等信息,还能关联查找上一条执行的SQL语句,以全面了解数据库会话情况。

dbcc inputbuffer(@@spid)

select
   t.SID,
   t.STATUS as "SESSION状态", -- active状态正在对当前系统资源造成影响  
   u.SPID as "AIX进程ID", -- 数据库服务进程对应的PID
   u.PGA_USED_MEM as "会话内存", -- ORACLE服务进程所占内存
   w.PHYSICAL_READS as "物理I/O读",  -- 读的数据块数
   w.CONSISTENT_GETS as "一致性获得",
   w.BLOCK_CHANGES as "改变的数据块数",  -- 改变的数据块数
   t.PROGRAM as "客户端执行程序名",    
   t.MACHINE as "客户端机器名",
   t.COMMAND as "正在执行的操作",
   t.LOGON_TIME as "登录时间",
   u.PID as "ORACLE内部进程ID",
   t.USERNAME as "ORACLE用户名",
   t.LOCKWAIT as "等待锁",
   t.SERVER as "ORACLE服务进程类型",
   s.SQL_TEXT as "当前执行的SQL语句",
   t.PREV_SQL_ADDR as "前条SQL地址", -- 可与v$sql关联查找上一条执行的SQL语句
   lpad(to_char(round(u.PGA_USED_MEM/u.PGA_ALLOC_MEM*100)),2,0) || '%' as "会话内存已使用",
   t.SERIAL#,
   t.TYPE as "SESSION类型",
   t.AUDSID
from v$session t
left join v$sql s on (t.SQL_HASH_VALUE = s.HASH_VALUE)  -- 得知执行的SQL语句
left join v$process u on (t.PADDR = u.ADDR)  -- 得知对应的数据库服务进程的PID
left join v$sess_io w on (t.SID = w.SID)  -- 得知会话的IO情况
left join v$session_event x on (x.SID = t.SID and x.EVENT = 'db file sequential read')

 

### 如何在 XAMPP 中保存 SQL 文件 要在 XAMPP 中保存 SQL 文件,通常是指将数据库的内容导出为 SQL 文件以便后续使用或迁移。以下是关于此操作的相关说明: #### 使用 phpMyAdmin 导出 SQL 文件 XAMPP 自带的 phpMyAdmin 是一种方便管理 MySQL 数据库的工具。可以通过它轻松导出数据库SQL 文件。 1. **打开 phpMyAdmin 页面** 启动 XAMPP 控制面板中的 Apache 和 MySQL 服务后,在浏览器中输入 `http://localhost/phpmyadmin` 访问页面[^2]。 2. **选择目标数据库** 在左侧导航栏中选择要导出的数据库(例如名为 `security` 的数据库)。 3. **进入导出选项卡** 切换到顶部菜单中的 “Export”(导出) 选项卡。 4. **设置导出参数** - 可以选择快速导出模式或者自定义模式。 - 如果需要完整的数据结构和内容,则保持默认选中项即可。 5. **下载 SQL 文件** 单击底部的 “Go” 按钮,系统会提示下载一个 `.sql` 格式的文件,该文件即为目标数据库的备份文件。 #### 命令行方式保存 SQL 文件 除了通过图形界面完成外,还可以利用命令行来实现更灵活的操作。 - 首先确保已启动 XAMPP 并运行 MySQL 服务; - 打开终端窗口并执行以下命令: ```bash mysqldump -u root -p security > D:\backup\security_backup.sql ``` 这里 `-u root` 表示用户名为 root;`-p` 提示输入密码;`security` 是要导出的目标数据库名称;最后指定输出路径以及文件名[^1]。 #### 存储位置的选择 可以自由决定存储这些 SQL 备份的位置。一般建议放在易于查找的地方,并定期整理归档以防丢失。另外需要注意的是,默认情况下 XAMPP 安装目录下的某些子文件夹可能具有特定权限限制,因此最好手动挑选其他安全可靠的磁盘分区作为长期存储备份之用[^3]。 ```python import os def save_sql_file(database_name, output_path): command = f'mysqldump -u root -p {database_name} > "{output_path}"' result = os.system(command) if result == 0: print(f'SQL file successfully saved to {output_path}') else: print('Failed to save the SQL file') # Example usage of function save_sql_file('security', 'D:\\backups\\security_dump.sql') ```
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值