Oracle 使用

修改表名

1
rename <old table_name> to <new table_name>

修改用户名、密码

1
2
3
4
5
6
7
8
9
10
11
12
-- 用sysdba帐号登陆,查询用户信息
SELECT USER#, NAME FROM USER$;

-- 更改用户名并提交
UPDATE USER$ SET NAME = 'HISTORY' WHERE USER# = 85;

-- 强制刷新,执行数据统一性
alter SYSTEM checkpoint;
alter SYSTEM flush SHARED_POOL;

-- 更改用户密码
ALTER USER HISTORY IDENTIFIED BY SUNFLOWER_WXINNEAR_0627;

删除用户

1
2
-- CASCADE 的意思是将用户的数据库数据一并删除,并没有删除相应的表空间
drop user user_name CASCADE;

修改 process

1
2
3
4
5
6
7
8
9
10
11
12
13
14
# 查询连接数信息
SQL> show parameter processes;

# 当前已使用的连接数
SQL> select count(*) from v$process;

# 修改最大连接数
SQL> alter system set processes = 500 scope = spfile;

# 重启数据库
sqlplus /nolog
SQL> conn as sysdba;
SQL> shutdown immediate;
SQL> startup;

adrci

1
adrci

Oracle 的 trace、alert日志很大

MAX_DUMP_FILE_SIZE参数 限定了trace files 以及alert file大小,其值

1、当给具体数字时,是操作系统的数据块数。
2、当以m或k作为后缀时,表示以m或k为单位。
3、unlimited表示没有限制,只要os允许。(默认)

cd /data/app/oracle/diag/rdbms/orcl/orcl/alert/

cd /data/app/oracle/diag/rdbms/orcl/orcl/trace/

show parameter max_dump_file_size;

alter system set max_dump_file_size=’1024m’;

删除 alert 日志

1
find /data/app/oracle/diag/rdbms/orcl/orcl/alert/ -name "*.xml" -mtime +1  -exec rm {} \;

删除 trace 日志

1
2
3
4
5
6
7
8
9
10
11
12
13
14
# 删除1天前的trc、trm
find /data/app/oracle/diag/rdbms/orcl/orcl/trace -name "*.trc" -mtime +1 -exec rm {} \;
find /data/app/oracle/diag/rdbms/orcl/orcl/trace -name "*.trm" -mtime +1 -exec rm {} \;

# alert_orcl.log 日志过大
cd /data/app/oracle/diag/rdbms/orcl/orcl/trace
mv alert_orcl.log alert_orcl.log_20201026
touch alert_orcl.log alert_orcl.log
sqlplus / as sysdba
SQL> alter system switch logfile;
tail -20 alert_orcl.log
Fri Nov 13 16:54:03 2015
Thread 1 advanced to log sequence 2912 (LGWR switch)
Current log# 2 seq# 2912 mem# 0: /data/app/oracle/oradata/orcl/redo02.log

删除数据表

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
-- 如果表存在,删除数据表
create or replace procedure drop_table_if_exists(
p_table in varchar2
) is
v_count number(10);
begin
SELECT COUNT(*)
INTO V_COUNT
FROM USER_OBJECTS
WHERE OBJECT_NAME = UPPER(P_TABLE);

IF V_COUNT > 0 THEN
EXECUTE IMMEDIATE 'drop table ' || P_TABLE || ' purge';
END IF;
END;
  • 本文作者: forever杨
  • 本文链接: https://blog.yl-online.top/posts/db736859.html
  • 版权声明: 本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。如果文章内容对你有用,请记录到你的笔记中。本博客站点随时会停止服务,请不要收藏、转载!