1. 连接linux服务器操作oracle
以某个服务器上面的数据库为例:
①连接到linux服务器(输入服务器的ip地址):ssh {ip}
②切换到操作oracle数据库:su – oracle
③切换到sqlplus操作:sqlplus
④输入数据库的用户名和密码
⑤执行sql语句(注:回删可以使用shift+backspaces键;语句后面要加入分号)

⑥在oracle中执行sql文件:@文件名 全路径,例如:@/home/oracle/zym_test.sql

⑦断开数据库连接:exit或者quit

2. 连接linux服务器操作mysql
以某个服务器上面的数据库为例:
①连接到linux服务器(输入服务器的ip地址):ssh {ip}
②切换到操作mysql数据库:su – mysql
③使用命令su -u用户名 –p,例如:mysql -uroot –p
④输入密码(不知道密码是啥,后面纯文字)

⑤执行sql语句(注:回删可以使用shift+backspaces键;语句后面要加入分号)
常用命令:show databases、show tables等
⑥断开数据库连接:exit
3. Oracle生成awr报告
sqlplus下执行如下语句:
①@?/rdbms/admin/awrrpt.sql
②输入要生成报告的文件格式,这里输出html格式:Type Specified: html
③输入要生成报告的相隔天数,比如今天:Enter value for num_days: 1
④输入相隔时间段之间的Snap Id开始号和结束号:
Enter value for begin_snap: 101
Enter value for end_snap: 102
⑤输入生成报告的名字:Enter value for report_name: awr.html
⑥在当前文件目录下查看awr报告
4. Oracle清理表空间
首先,使用system用户登陆查询表空间占用较大的表:
select owner, segment_name,sum(bytes) from DBA_SEGMENTS group by owner, segment_name having sum(bytes)>1024*10248 order by sum(bytes) desc
比如,清理某数据库的某个表的表空间,首先查询该表的分区(按住control键点击鼠标查看)
比如要清理两天前的数据,即2019-11-07以前的数据(SYS_P190为默认分区)
create or replace procedure pr_drop_partitions
as
v_sql1 varchar2(2000);
begin
FOR cur IN (select PARTITION_NAME from user_tab_partitions where table_name='tablename'
AND substr(partition_name,6,9)<= 3431 and length(partition_name) = 9 and partition_name != 'SYS_P190') LOOP
v_sql1:='alter table tablename drop partition '||cur.PARTITION_NAME||' update indexes';
execute immediate v_sql1;
END LOOP;
end pr_drop_partitions;
/
call pr_drop_partitions();
5. Oracle加表空间
首先查看对应表空间名是否有剩余表空间(su –grid; asmcmd lsdg)
查找表空间路径
select * from dba_data_files where tablespace_name = 'TBS_ADTDATA';
添加表空间
ALTER TABLESPACE "TBS_ADTDATA" ADD DATAFILE '+DG_DATA/adtdata6.dbf' SIZE 30720M REUSE AUTOEXTEND OFF;
6. 表空间文件迁移
首先登陆oracle,连接数据库:
sqlplus sys/sys as sysdba
shutdown immediate;
移动dbf文件到新的文件夹位置:(mv命令);
startup mount;
alter database rename file '/home1/a.dbf' to 'home1/a.dbf';( 第一个文件为原来表空间的dbf文件,第二个为新的位置)
alter database open;
搞定!
7. 表空间相关命令
1、查询表空间的总容量
select a.TABLESPACE_NAME, sum(a.BYTES) / 1024 / 1024 as MB from sys.dba_data_files a group by a.TABLESPACE_NAME;
2、查询表空间的空闲容量
select b.TABLESPACE_NAME,count(1) as extends,sum(b.BYTES)/1024/1024 as MB,sum(b.BLOCKS) as blocks from sys.dba_free_space b group by b.TABLESPACE_NAME;
3.1.查看表空间使用情况
select total.TABLESPACE_NAME,round(total.MB, 2) as TOTAL_MB,
round(total.MB - free.MB, 2) as USED_MB,
ROUND((1 -free.MB / total.MB) * 100, 2) || '%' as USED_PCT,ROUND(free.MB, 2) as FREE_mb
from (select a.TABLESPACE_NAME, sum(a.BYTES) / 1024 / 1024 as MB from sys.dba_data_files a
group by a.TABLESPACE_NAME) total,(select b.TABLESPACE_NAME,count(1) as extends,sum(b.BYTES) / 1024 / 1024 as MB,
sum(b.BLOCKS) as blocks from sys.dba_free_space b group by b.TABLESPACE_NAME) free
where total.TABLESPACE_NAME = free.TABLESPACE_NAME
3.2.查看表空间使用情况
select a.file#,
a.name,
a.bytes / 1024 / 1024 CurrentMB,
ceil(HWM * a.block_size) / 1024 / 1024 ResizeTo,
(a.bytes - HWM * a.block_size) / 1024 / 1024 ReleaseMB,
'alter database datafile ''' || a.name || ''' resize ' ||
ceil(HWM * a.block_size) / 1024 / 1024 || 'M;' ResizeCmd
from v$datafile a,
(SELECT file_id, MAX(block_id + blocks - 1) HWM
FROM DBA_EXTENTS
GROUP BY file_id) b
where a.file# = b.file_id(+)
And (a.bytes - HWM * a.block_size) >0
4.表空间调整大小
alter database datafile '/home/DB/oracle/11gR2/db/dbs/TBS_SYSIDX.dbf' resize 10M;
5.设置表空间自动调整大小
ALTER DATABASE DATAFILE '/home/DB/oracle/11gR2/db/dbs/TBS_SYSIDX.dbf' AUTOEXTEND ON NEXT 10M MAXSIZE UNLIMITED;
8. Oracle常用命令
(1) 数据表备份
备份表语句:create table user_info_bak as select * from user_info;
备份数据语句:insert into user_info_bak select * from user_info;
(2) 查询数据库所有用户表
select * from user_tables order by TABLE_NAME
(3) 查询数据表记录条数
select count(*) from tablename
(4) 查询一个数据库包含某一个字段的所有表
select owner,table_name,column_name from DBA_TAB_COLUMNS where table_name like '%BANK%'
9. Mysql常用命令
(1)数据表备份
备份表数据:CREATE TABLE newadmin LIKE admin;
备份数据语句:INSERT INTO newadmin SELECT * FROM admin;
(2)查询所有用户表
show tables;
(3)查询所有数据库
show databases;
(4)修改前五条数据
update mm_mgt.mm_active_customer_info set modify_oper_id='1' ORDER BY identity_id limit 50;
(5)导入csv文件
load data local infile '/var/lib/customerInfo.csv'
into table mgtdatabases.customer_info
fields terminated by ','
optionally enclosed by '"' escaped by '"'
lines terminated by '\r\n'
ignore 1 lines
(ID,FULL_NAME,ACCOUNT,TIME,MODIFY_OPER_ID);
(6)导出csv文件
SELECT ORDERID FROM order_table where ORDER_STATUS='PAY_SUCCESS' and CODE='1111115' INTO outfile "/home/orderId.csv";
901



被折叠的 条评论
为什么被折叠?



