【Oracle篇】expdp/impdp高效完成全部生产用户的全库迁移(第四篇,总共四篇)

☘️博主介绍☘️

✨又是一天没白过,我是奈斯,DBA一名✨

✌️擅长Oracle、MySQL、SQLserver、Linux,也在扩展大数据方向的知识面✌️

❣️❣️❣️大佬们都喜欢静静的看文章,并且也会默默的点赞收藏加关注❣️❣️❣️

    今天作为expdp/impdp数据泵的最后一篇文章,这篇文章所讲的技能也是非常重要的。在Oracle数据库中,新建实例往往伴随着一系列系统用户的自动生成,如sys、system、scott等。然而,在进行 全库full=y导入 时,若这些系统用户也被 一并导入 ,往往会引发大量的ORA-错误,这样通过日志排查问题时就会有许多干扰。因此,在进行全库迁移时,我们必须排除这些系统用户的导入。接下来,就让我们深入今天的主题,探讨如何通过expdp/impdp实现高效且精准的全库迁移。

    关于逻辑迁移工具全部的篇幅介绍,四篇的内容分别如下:

  • 第一篇:一文搞清exp/imp逻辑迁移工具的用法
  • 第二篇:一文搞清expdp/impdp逻辑迁移工具的用法
  • 第三篇:expdp/impdp轻松完成某个生产用户从GBK到UTF8编码的迁移
  • 第四篇:expdp/impdp高效完成全部生产用户的全库迁移(当前篇)

                              

目录

expdp全库导出(实例orcl,单机环境)部分

impdp全库导入(实例test,单机环境)部分

验证数据部分


               

expdp/impdp全库导入的应用场景:

1、迁移字符集。比如将全库用户从GBK字符集迁移到UTF8编码。

2、大版本升级。可以通过全库导入完成大版本升级。

3、测试环境恢复。通过全量备份完成测试环境的数据导入。

                             

expdp/impdp全库导入注意事项:

1)通过impdp导入时,指定sqlfile参数可以显示执行的DDL语句。加上这个参数后就不会进行数据导入了,只会根据导入的dmp文件,将dmp文件涉及到的DDL语句输出到sqlfile指定的文件中,然后筛选出来业务表空间进行手动创建。

2)排除导入的系统用户,因为系统用户是按照实例默认创建的所以导入时需要排除。在每个大版本中系统用户都不一样,所以需要根据具体的大版本而排除。

          

Oracle11g和19c环境下的默认系统用户:

Oracle 11g单机环境下的系统用户:新建了一个11g的实例,可以看到默认11g的实例有30个系统用户,所以在导入时就要排除它们。

SQL> select username,to_char(CREATED,'yyyy-mm-dd hh24:mi:ss')  from dba_users order by CREATED desc;

USERNAME										      TO_CHAR(CREATED,'YYYY-MM-DDHH24:MI:SS')
-------------------------------                    -------------------------------------------------------------
SCOTT											         2013-08-24 12:04:21
OWBSYS_AUDIT										     2013-08-24 12:03:41
OWBSYS											         2013-08-24 12:03:40
APEX_PUBLIC_USER							             2013-08-24 11:58:27
FLOWS_FILES										         2013-08-24 11:58:27
APEX_030200									     	     2013-08-24 11:58:27
MGMT_VIEW										         2013-08-24 11:57:53
SYSMAN											         2013-08-24 11:56:19
SPATIAL_CSW_ADMIN_USR				  	                 2013-08-24 11:56:11
SPATIAL_WFS_ADMIN_USR						             2013-08-24 11:56:08
MDDATA									    		     2013-08-24 11:53:28
OLAPSYS 									    	     2013-08-24 11:52:40
ORDDATA 										         2013-08-24 11:49:40
ORDSYS											         2013-08-24 11:49:40
MDSYS											         2013-08-24 11:49:40
ORDPLUGINS										         2013-08-24 11:49:40
SI_INFORMTN_SCHEMA						                 2013-08-24 11:49:40
XS$NULL 										         2013-08-24 11:49:29
ANONYMOUS										         2013-08-24 11:47:55
XDB											             2013-08-24 11:47:55
CTXSYS											         2013-08-24 11:47:37
EXFSYS											         2013-08-24 11:47:27
WMSYS											         2013-08-24 11:43:26
APPQOSSYS										         2013-08-24 11:43:00
DBSNMP											         2013-08-24 11:42:59
ORACLE_OCM								  		         2013-08-24 11:39:34
DIP											             2013-08-24 11:38:58
OUTLN											         2013-08-24 11:37:43
SYS											             2013-08-24 11:37:40
SYSTEM											         2013-08-24 11:37:40

30 rows selected.

             

Oracle 19c单机环境下的系统用户:新建了一个19c的实例,可以看到默认19c的实例有36个系统用户,所以在导入时就要排除它们。

SQL> select username,to_char(CREATED,'yyyy-mm-dd hh24:mi:ss')  from dba_users order by CREATED desc;

USERNAME															 TO_CHAR(CREATED,'YY
---------------------------------                           ----------------------------------------------------------------------------------
DVF													     			 2019-04-17 02:02:47
DVSYS																 2019-04-17 02:02:47
LBACSYS 															 2019-04-17 02:02:15
MDDATA																 2019-04-17 01:53:39
OLAPSYS 															 2019-04-17 01:52:56
SI_INFORMTN_SCHEMA								    				 2019-04-17 01:48:37
ORDDATA 															 2019-04-17 01:48:37
ORDPLUGINS															 2019-04-17 01:48:37
MDSYS																 2019-04-17 01:48:37
ORDSYS																 2019-04-17 01:48:36
CTXSYS																 2019-04-17 01:46:56
OJVMSYS 															 2019-04-17 01:42:57
WMSYS																 2019-04-17 01:40:04
ANONYMOUS															 2019-04-17 01:16:53
XDB															    	 2019-04-17 01:16:53
GGSYS																 2019-04-17 01:15:01
GSMCATUSER															 2019-04-17 01:14:57
APPQOSSYS															 2019-04-17 01:14:37
DBSNMP																 2019-04-17 01:14:35
SYS$UMF 															 2019-04-17 01:10:05
ORACLE_OCM															 2019-04-17 01:04:04
DBSFWUSER															 2019-04-17 01:02:55
REMOTE_SCHEDULER_AGENT									    		 2019-04-17 01:02:54
XS$NULL 															 2019-04-17 01:02:44
DIP															    	 2019-04-17 01:02:17
GSMROOTUSER															 2019-04-17 01:02:03
GSMADMIN_INTERNAL										    		 2019-04-17 01:02:02
GSMUSER 															 2019-04-17 01:02:02
OUTLN																 2019-04-17 00:56:39
SYSKM																 2019-04-17 00:56:33
AUDSYS																 2019-04-17 00:56:33
SYSRAC																 2019-04-17 00:56:33
SYSBACKUP															 2019-04-17 00:56:33
SYSTEM																 2019-04-17 00:56:33
SYSDG																 2019-04-17 00:56:33
SYS																     2019-04-17 00:56:32

36 rows selected.

        

ps注意:单机环境和rac环境是不同的,所以rac的实例系统用户和单机的实例系统用户是有可能不一样的,这里我就不演示了。rac环境搭建后之后,通过上面的SQL去查看默认的系统用户有哪些,那么就要在导入的时候排除。

                 

                

expdp全库导出(实例orcl,单机环境)部分

1、创建数据泵的dmp文件存放目录

[root@11g ~]# mkdir /liu 
[root@11g ~]# chown oracle:oinstall /liu
###文件liu(路径/liu)在/dev/sdb3下挂载,将文件的所属用户和目录改为oracle:oinstall

SYS@orcl> create  directory  BACKUP20200328 as  '/liu'; 
SYS@orcl> grant  all  on  directory  BACKUP20200328  to  system ;
###创建数据泵的转储路径(在使用expdp时,指定到liu目录时,数据文件就会生成在/liu路径下)。赋予给所有用户目录liu的所有执行权限,为了以后普通用户使用expdp时有权限将dmp数据文件导入到/liu下。

2、全库full=y导出数据

[oracle@11g ~]# expdp \"/ as sysdba\" directory=BACKUP20200328 dumpfile=expdp_orcl_full_%U.dmp logfile=expdp_full.log full=y parallel=2

               

impdp全库导入(实例test,单机环境)部分

1、全库用户导入前需要注意的事情

1)关注归档目录,定时进行删除,避免空间耗尽。可以考虑先关闭归档

2)全部数据量有500G以上,导入过程中undo和temp占用很多,适当扩容。

           Undo表空间给7个,总大小210G,并且减少undo_retention为300秒

           Temp表空间给3个,总大小90G

3)数据文件看情况增加

4)expdp/impdp导入导出优化。👉【Oracle篇】一文搞清expdp/impdp逻辑迁移工具的用法(第二篇,总共四篇)-CSDN博客👈

2、在服务器上创建一个新实例test

实例静默安装:

[oracle@11g ~]$ vi /home/db/oracle/product/12.2/db_1/response/dbca.rsp

sid=实例名
gdbName=全局数据库名
sysPassword=密码
systemPassword=密码
dbsnmpPassword=密码
datafileDestination=/home/db/oracle/oradata     ---数据库文件路径
recoveryAreaDestination=/home/db/oracle/fast_recovery_area
characterSet= AL32UTF8
totalMemory=AMM内存大小        ---单位M
automaticMemoryManagement=TRUE    ---是否启用自动内存管理
templateName=General_Purpose.dbc     ---数据库模板,必填
storageType=FS          ---指定要创建的数据库的存储类型,有FS和ASM,默认FS文件系统

[oracle@rac1 ~]$ dbca -silent -createDatabase -responseFile /home/db/oracle/product/12.2/db_1/response/dbca.rsp

调整新实例的数据文件、undo、temp、redo初始大小

数据库文件和undo:
SQL> set linesize 500 
     set pagesize 99
     col file_name for a70 
     col file_id for 9999999 
     col status for a10 
     col ts_name for a25 
     col cur_mb for 99999 
     col max_mb for 99999
SQL> select status, file_id, file_name, tablespace_name ts_name,blocks/128 tolal_mb, maxblocks/128 max_mb,AUTOEXTENSIBLE from dba_data_files order by file_name;

SQL> alter database datafile 2 resize 20g;
SQL> alter database datafile 1 resize 20g;
SQL> alter database datafile 3 resize 20g;
SQL> alter database datafile 5 resize 20g;
SQL> alter database datafile 4 resize 10g;


temp临时表空间:
SQL> select username,temporary_tablespace from dba_users;
SQL> set linesize 230
     col file_name for a65
SQL> select  FILE_ID,FILE_NAME,TABLESPACE_NAME,bytes/1024/1024 tolal_mb,status,AUTOEXTENSIBLE,MAXBYTES/1024/1024 max_mb from dba_temp_files;

SQL> alter database tempfile 1 resize 20g;


redo重做日志:生产建议3到6组,每组大小为1G左右
SQL> set linesize 230
     col member for a50
SQL> select * from v$logfile;
SQL> select * from v$log;

SQL> alter database add logfile thread 1 group 10 ('+ARCHDG') size 1024m;
SQL> alter database add logfile thread 1 group 11 ('+ARCHDG') size 1024m;
SQL> alter database add logfile thread 1 group 12 ('+ARCHDG') size 1024m;
SQL> alter database add logfile thread 1 group 13 ('+ARCHDG') size 1024m;
SQL> alter database add logfile thread 2 group 14 ('+ARCHDG') size 1024m;
SQL> alter database add logfile thread 2 group 15 ('+ARCHDG') size 1024m;
SQL> alter database add logfile thread 2 group 16 ('+ARCHDG') size 1024m;

SQL> alter system switch logfile;
SQL> alter system checkpoint;

SQL> alter database drop logfile group 1;
SQL> alter database drop logfile group 2;
SQL> alter database drop logfile group 3;
SQL> alter database drop logfile group 4;

关闭密码过期(默认180天过期):

SQL> select * from dba_profiles where profile='DEFAULT';

SQL> alter profile default limit PASSWORD_LIFE_TIME unlimited;
SQL> alter profile default limit PASSWORD_LOCK_TIME unlimited;
SQL> alter profile default limit PASSWORD_GRACE_TIME unlimited;

关闭审计:长时间开启审计,审计占用空间较大

SQL> alter system set audit_trail=none scope=spfile;

设置归档路径:

SQL> shutdown  immediate
SQL> startup  mount 

SQL> alter  database  archivelog; 
SQL> alter system set log_archive_dest_1='location=+ASM磁盘';

SQL> alter database open;
SQL> archive log list;
SQL> show parameter recover;

db实例参数优化:

SQL> 
alter system set sga_max_size=物理内存x0.5 scope=spfile sid='*';
alter system set sga_target=物理内存x0.5 scope=spfile sid='*';
alter system set pga_aggregate_target=物理内存x0.2 scope=spfile sid='*';    ---设置为ASMM
alter system set "_cursor_obsolete_threshold"=400 scope=spfile sid='*';
alter system set  "_rollback_segment_count" =2000 scope=spfile sid='*';
alter system set "_ktb_debug_flags"=8 sid='*';
alter system set "_datafile_write_errors_crash_instance"=false scope=spfile sid='*';
alter system set events '43822 trace name context forever,level 1';
alter system set enable_ddl_logging=true sid='*' scope=spfile;
alter system set fast_start_parallel_rollback=low sid='*';
alter system set recovery_parallelism=10 scope=spfile sid='*';
alter system set "_cleanup_rollback_entries"=10000 scope=spfile sid='*';
alter system set "_gc_bypass_readers" = false sid = '*' scope=spfile;
alter system set "_gc_override_force_cr" = false sid = '*' scope=spfile;
alter system set "_gc_read_mostly_locking" = false sid = '*' scope=spfile;
alter system set "_serial_direct_read" = false sid = '*' ;
alter system set "_high_priority_processes" = "LGWR|LMS*|VKTM" sid='*' scope=spfile;
alter system set "_use_adaptive_log_file_sync"=false sid='*' scope=spfile;
alter system set "_px_use_large_pool"=true  sid ='*' scope=spfile;
alter system set event='28401 trace name context forever,level 1','10949 trace name context forever,level 1','60025 trace name context forever,level 1', '10503 trace name context forever,level 128' sid='*' scope=spfile;
alter system set "_optimizer_use_feedback"=false sid ='*' scope=spfile;
alter system set "_optimizer_adaptive_cursor_sharing"=false sid='*' scope=spfile;
alter system set "_optimizer_extended_cursor_sharing"=none sid='*' scope=spfile;
alter system set "_optimizer_extended_cursor_sharing_rel"=none sid='*' scope=spfile;
alter system set "_gc_defer_time"=3 scope=spfile sid='*';
alter system set result_cache_max_size=0 scope=spfile sid='*';
alter system set "_gc_policy_time"=0 scope=spfile sid='*';
alter system set "_gc_undo_affinity"=false  scope=spfile  sid='*';
alter system set control_file_record_keep_time=31 scope=spfile sid='*';
alter system set parallel_max_servers=128 scope=spfile sid='*';
alter system set parallel_adaptive_multi_user=false sid='*';
alter system set "_undo_autotune"=false scope=spfile sid='*';
alter system set undo_retention=10800 scope=spfile sid='*';
alter system set "_partition_large_extents"=false scope=spfile sid='*';
alter system set parallel_force_local=true scope=spfile sid='*';
alter system set processes=2000 scope=spfile sid='*';      ---进程数。设置完成后,session和transactions参数会自动调整(session=1.5*processes+22  ;  transactions=1.1*sessions)
alter system set open_cursors=2000 scope=spfile sid='*';   ---打开游标数。一个sql语句就会对应到一个游标(简单理解游标就是一个sql语句)
alter system set session_cached_cursors=300 scope=spfile sid='*';    ---会话缓存游标数(sql语句)。一个会话缓存多个游标(sql语句),一个sql对应一个游标,缓存游标是为了避免软解析,相同的sql再次执行就不需要打开游标了(执行sql就会打开游标,避免打开游标就是避免软解析),绑定变量解决硬解析。 
alter system set db_files=8192 scope=spfile sid='*';   ---允许创建的数据文件总数

3、确认字符集调整undo保留时间

[oracle@11g ~]# export ORACLE_SID=test
[oracle@11g ~]# echo $ORACLE_SID

SQL> alter system set undo_retention=300 scope=both sid='*';   --导入完成之后修改回来

4、创建存放DMP文件夹的引用地址

SQL> create or replace directory baj_dir as '/data3/data4/backup/db160';
SQL> grant all on directory baj_dir to system;

5、通过备份的dmp文件,生成表空间创建的DDL语句

sqlfile=:导入时可以显示执行的DDL语句。加上这个参数后就不会进行数据导入了,只会根据导入的dmp文件,将dmp文件涉及到的DDL语句输出到sqlfile指定的文件中,然后筛选出来业务表空间进行手动创建。

[oracle@11g ~]# impdp \"/ as sysdba\" directory=baj_dir dumpfile=expdp_orcl_full_01.dmp,expdp_orcl_full_02.dmp logfile=imp.txt sqlfile=ddl_dump.txt

[oracle@11g  ~]# more ddl_dump.txt

注:ddl_dump.txt文件中创建表空间的DDL语句整理到其他文本中,然后在sqlplus中执行,排查掉SYSAUX、SYSTEM、TEMP、UNDOTBS1、USERS这些系统表空间的创建。

6、执行创建表空间语句

    总共涉及到43个表空间的创建,其中42个业务表空间,还包括了一个临时表空间CARRECOVER_TEMP的创建,将表空间的原路径+DATA/core/datafile修改为/data3/oradata/recover/recover/路径:

SQL> 
CREATE TABLESPACE "TBLSPACE_PRP" DATAFILE 
  '/data3/oradata/recover/recover/prp.dbf' SIZE 2G
  LOGGING ONLINE PERMANENT BLOCKSIZE 8192
  EXTENT MANAGEMENT LOCAL AUTOALLOCATE DEFAULT 
 NOCOMPRESS  SEGMENT SPACE MANAGEMENT AUTO;
CREATE TABLESPACE "TBLSPACE_VISA" DATAFILE 
  '/data3/oradata/recover/recover/visa.dbf' SIZE 2G
  LOGGING ONLINE PERMANENT BLOCKSIZE 8192
  EXTENT MANAGEMENT LOCAL AUTOALLOCATE DEFAULT 
 NOCOMPRESS  SEGMENT SPACE MANAGEMENT AUTO;
CREATE TABLESPACE "TBLSPACE_CLAIM" DATAFILE 
  '/data3/oradata/recover/recover/claim.dbf' SIZE 2G
  LOGGING ONLINE PERMANENT BLOCKSIZE 8192
  EXTENT MANAGEMENT LOCAL AUTOALLOCATE DEFAULT 
 NOCOMPRESS  SEGMENT SPACE MANAGEMENT AUTO;
CREATE TABLESPACE "TBLSPACE_PRPIDX" DATAFILE 
  '/data3/oradata/recover/recover/prpidx.dbf' SIZE 2G
  LOGGING ONLINE PERMANENT BLOCKSIZE 8192
  EXTENT MANAGEMENT LOCAL AUTOALLOCATE DEFAULT 
 NOCOMPRESS  SEGMENT SPACE MANAGEMENT AUTO;
CREATE TABLESPACE "TBLSPACE_PAYMENTIDX" DATAFILE 
  '/data3/oradata/recover/recover/paymentidx.dbf' SIZE 2G
  LOGGING ONLINE PERMANENT BLOCKSIZE 8192
  EXTENT MANAGEMENT LOCAL AUTOALLOCATE DEFAULT 
 NOCOMPRESS  SEGMENT SPACE MANAGEMENT AUTO;
CREATE TABLESPACE "TBLSPACE_CLAIMIDX" DATAFILE 
  '/data3/oradata/recover/recover/claimidx.dbf' SIZE 2G
  LOGGING ONLINE PERMANENT BLOCKSIZE 8192
  EXTENT MANAGEMENT LOCAL AUTOALLOCATE DEFAULT 
 NOCOMPRESS  SEGMENT SPACE MANAGEMENT AUTO;
CREATE TABLESPACE "WLREPORT_DATA" DATAFILE 
  '/data3/oradata/recover/recover/data.dbf' SIZE 2G
  LOGGING ONLINE PERMANENT BLOCKSIZE 8192
  EXTENT MANAGEMENT LOCAL AUTOALLOCATE DEFAULT 
 NOCOMPRESS  SEGMENT SPACE MANAGEMENT AUTO;
CREATE TABLESPACE "TBS_DEFAULT" DATAFILE 
  '/data3/oradata/recover/recover/default.dbf' SIZE 2G
  LOGGING ONLINE PERMANENT BLOCKSIZE 8192
  EXTENT MANAGEMENT LOCAL AUTOALLOCATE DEFAULT 
 NOCOMPRESS  SEGMENT SPACE MANAGEMENT AUTO;
CREATE TABLESPACE "TBS_ALLIDX" DATAFILE 
  '/data3/oradata/recover/recover/allidx.dbf' SIZE 2G
  LOGGING ONLINE PERMANENT BLOCKSIZE 8192
  EXTENT MANAGEMENT LOCAL AUTOALLOCATE DEFAULT 
 NOCOMPRESS  SEGMENT SPACE MANAGEMENT AUTO;
CREATE TABLESPACE "TBLSPACE_CTUSER" DATAFILE 
  '/data3/oradata/recover/recover/ctuser.dbf' SIZE 2G
  LOGGING ONLINE PERMANENT BLOCKSIZE 8192
  EXTENT MANAGEMENT LOCAL AUTOALLOCATE DEFAULT 
 NOCOMPRESS  SEGMENT SPACE MANAGEMENT AUTO;
CREATE TABLESPACE "TBLSPACE_VISAIDX" DATAFILE 
  '/data3/oradata/recover/recover/visaidx.dbf' SIZE 2G
  LOGGING ONLINE PERMANENT BLOCKSIZE 8192
  EXTENT MANAGEMENT LOCAL AUTOALLOCATE DEFAULT 
 NOCOMPRESS  SEGMENT SPACE MANAGEMENT AUTO;
CREATE TABLESPACE "WLREPORT_IDX" DATAFILE 
  '/data3/oradata/recover/recover/idx.dbf' SIZE 2G
  AUTOEXTEND ON NEXT 8192 MAXSIZE 32767M
  LOGGING ONLINE PERMANENT BLOCKSIZE 8192
  EXTENT MANAGEMENT LOCAL AUTOALLOCATE DEFAULT 
 NOCOMPRESS  SEGMENT SPACE MANAGEMENT AUTO;
CREATE TABLESPACE "TBLSPACE_MGR" DATAFILE 
  '/data3/oradata/recover/recover/mgr.dbf' SIZE 2G
  LOGGING ONLINE PERMANENT BLOCKSIZE 8192
  EXTENT MANAGEMENT LOCAL AUTOALLOCATE DEFAULT 
 NOCOMPRESS  SEGMENT SPACE MANAGEMENT AUTO;
CREATE TABLESPACE "JY" DATAFILE 
  '/data3/oradata/recover/recover/jy.dbf' SIZE 2G,
  '/data3/oradata/recover/recover/jy_01.dbf' SIZE 2G
  LOGGING ONLINE PERMANENT BLOCKSIZE 8192
  EXTENT MANAGEMENT LOCAL AUTOALLOCATE DEFAULT 
 NOCOMPRESS  SEGMENT SPACE MANAGEMENT AUTO;
CREATE TABLESPACE "INTFTBS" DATAFILE 
  '/data3/oradata/recover/recover/intftbs.dbf' SIZE 2G
  LOGGING ONLINE PERMANENT BLOCKSIZE 8192
  EXTENT MANAGEMENT LOCAL AUTOALLOCATE DEFAULT 
 NOCOMPRESS  SEGMENT SPACE MANAGEMENT AUTO;
CREATE TABLESPACE "TBLSPACE_REINS" DATAFILE 
  '/data3/oradata/recover/recover/reins.dbf' SIZE 2G
  LOGGING ONLINE PERMANENT BLOCKSIZE 8192
  EXTENT MANAGEMENT LOCAL AUTOALLOCATE DEFAULT 
 NOCOMPRESS  SEGMENT SPACE MANAGEMENT AUTO;
CREATE TABLESPACE "TBLSPACE_CW" DATAFILE 
  '/data3/oradata/recover/recover/cw.dbf' SIZE 2G
  LOGGING ONLINE PERMANENT BLOCKSIZE 8192
  EXTENT MANAGEMENT LOCAL AUTOALLOCATE DEFAULT 
 NOCOMPRESS  SEGMENT SPACE MANAGEMENT AUTO;
CREATE TABLESPACE "OPENCMS" DATAFILE 
  '/data3/oradata/recover/recover/opencms.dbf' SIZE 2G
  LOGGING ONLINE PERMANENT BLOCKSIZE 8192
  EXTENT MANAGEMENT LOCAL AUTOALLOCATE DEFAULT 
 NOCOMPRESS  SEGMENT SPACE MANAGEMENT AUTO;
CREATE TABLESPACE "TBLSPACE_JY" DATAFILE 
  '/data3/oradata/recover/recover/jy2.dbf' SIZE 2G
  LOGGING ONLINE PERMANENT BLOCKSIZE 8192
  EXTENT MANAGEMENT LOCAL AUTOALLOCATE DEFAULT 
 NOCOMPRESS  SEGMENT SPACE MANAGEMENT AUTO;
CREATE TABLESPACE "UMTBS" DATAFILE 
  '/data3/oradata/recover/recover/umtbs.dbf' SIZE 2G
  LOGGING ONLINE PERMANENT BLOCKSIZE 8192
  EXTENT MANAGEMENT LOCAL AUTOALLOCATE DEFAULT 
 NOCOMPRESS  SEGMENT SPACE MANAGEMENT AUTO;
CREATE TABLESPACE "INTRAWEB" DATAFILE 
  '/data3/oradata/recover/recover/intraweb.dbf' SIZE 2G
  LOGGING ONLINE PERMANENT BLOCKSIZE 8192
  EXTENT MANAGEMENT LOCAL AUTOALLOCATE DEFAULT 
 NOCOMPRESS  SEGMENT SPACE MANAGEMENT AUTO;
CREATE TABLESPACE "OPRTBS" DATAFILE 
  '/data3/oradata/recover/recover/oprtbs.dbf' SIZE 2G
  LOGGING ONLINE PERMANENT BLOCKSIZE 8192
  EXTENT MANAGEMENT LOCAL AUTOALLOCATE DEFAULT 
 NOCOMPRESS  SEGMENT SPACE MANAGEMENT AUTO;
CREATE TABLESPACE "TBLSPACE_CIRC" DATAFILE 
  '/data3/oradata/recover/recover/circ.dbf' SIZE 2G
  LOGGING ONLINE PERMANENT BLOCKSIZE 8192
  EXTENT MANAGEMENT LOCAL AUTOALLOCATE DEFAULT 
 NOCOMPRESS  SEGMENT SPACE MANAGEMENT AUTO;
CREATE TABLESPACE "TBLSPACE_OTHIDX" DATAFILE 
  '/data3/oradata/recover/recover/othidx.dbf' SIZE 2G
  LOGGING ONLINE PERMANENT BLOCKSIZE 8192
  EXTENT MANAGEMENT LOCAL AUTOALLOCATE DEFAULT 
 NOCOMPRESS  SEGMENT SPACE MANAGEMENT AUTO;
CREATE TABLESPACE "TBLSPACE_OTH" DATAFILE 
  '/data1/ora_pmon_recover_oradata/oth.dbf' SIZE 1M autoextend on,
  '/data1/ora_pmon_recover_oradata/oth_01.dbf' SIZE 1M autoextend on,
  '/data1/ora_pmon_recover_oradata/oth_02.dbf' SIZE 1M autoextend on,
  '/data1/ora_pmon_recover_oradata/oth3.dbf' SIZE 1M autoextend on,
  '/data1/ora_pmon_recover_oradata/oth4.dbf' SIZE 1M autoextend on,
  '/data1/ora_pmon_recover_oradata/oth5.dbf' SIZE 1M autoextend on,
  '/data1/ora_pmon_recover_oradata/oth6.dbf' SIZE 1M autoextend on,
  '/data1/ora_pmon_recover_oradata/oth7.dbf' SIZE 1M autoextend on,
  '/data1/ora_pmon_recover_oradata/oth8.dbf' SIZE 1M autoextend on,
  '/data1/ora_pmon_recover_oradata/oth14.dbf' SIZE 1M autoextend on,
  '/data1/ora_pmon_recover_oradata/oth9.dbf' SIZE 1M autoextend on,
  '/data1/ora_pmon_recover_oradata/oth10.dbf' SIZE 1M autoextend on,
  '/data1/ora_pmon_recover_oradata/oth11.dbf' SIZE 1M autoextend on,
  '/data1/ora_pmon_recover_oradata/oth12.dbf' SIZE 1M autoextend on,
  '/data1/ora_pmon_recover_oradata/oth13.dbf' SIZE 1M autoextend on,
  '/data1/ora_pmon_recover_oradata/oth15.dbf' SIZE 1M autoextend on,
  '/data1/ora_pmon_recover_oradata/oth16.dbf' SIZE 1M autoextend on,
  '/data1/ora_pmon_recover_oradata/oth17.dbf' SIZE 1M autoextend on,
  '/data1/ora_pmon_recover_oradata/oth18.dbf' SIZE 1M autoextend on,
  '/data1/ora_pmon_recover_oradata/oth19.dbf' SIZE 1M autoextend on,
  '/data1/ora_pmon_recover_oradata/oth20.dbf' SIZE 1M autoextend on,
  '/data1/ora_pmon_recover_oradata/oth21.dbf' SIZE 1M autoextend on,
  '/data1/ora_pmon_recover_oradata/oth22.dbf' SIZE 1M autoextend on,
  '/data1/ora_pmon_recover_oradata/oth23.dbf' SIZE 1M autoextend on;
CREATE TABLESPACE "TBLSPACE_RESERVE" DATAFILE 
  '/data3/oradata/recover/recover/reserve.dbf' SIZE 2G
  LOGGING ONLINE PERMANENT BLOCKSIZE 8192
  EXTENT MANAGEMENT LOCAL AUTOALLOCATE DEFAULT 
 NOCOMPRESS  SEGMENT SPACE MANAGEMENT AUTO;
CREATE TABLESPACE "ZCDATA" DATAFILE 
  '/data3/oradata/recover/recover/zcdata.dbf' SIZE 2G
  LOGGING ONLINE PERMANENT BLOCKSIZE 8192
  EXTENT MANAGEMENT LOCAL AUTOALLOCATE DEFAULT 
 NOCOMPRESS  SEGMENT SPACE MANAGEMENT AUTO;
CREATE TABLESPACE "TBLSPACE_REINSIDX" DATAFILE 
  '/data3/oradata/recover/recover/reinsidx.dbf' SIZE 2G
  LOGGING ONLINE PERMANENT BLOCKSIZE 8192
  EXTENT MANAGEMENT LOCAL AUTOALLOCATE DEFAULT 
 NOCOMPRESS  SEGMENT SPACE MANAGEMENT AUTO;
CREATE TABLESPACE "TBLSPACE_PAYMENT" DATAFILE 
  '/data3/oradata/recover/recover/payment.dbf' SIZE 2G
  LOGGING ONLINE PERMANENT BLOCKSIZE 8192
  EXTENT MANAGEMENT LOCAL AUTOALLOCATE DEFAULT 
 NOCOMPRESS  SEGMENT SPACE MANAGEMENT AUTO;
CREATE TABLESPACE "TBLSPACE_OTH02" DATAFILE 
  '/data3/oradata/recover/recover/TBLSPACE_OTH02.dbf' SIZE 2G
  LOGGING ONLINE PERMANENT BLOCKSIZE 8192
  EXTENT MANAGEMENT LOCAL AUTOALLOCATE DEFAULT 
 NOCOMPRESS  SEGMENT SPACE MANAGEMENT AUTO;
CREATE TABLESPACE "TABLESPACE_GB" DATAFILE 
  '/data3/oradata/recover/recover/gb01.dbf' SIZE 2G
  LOGGING ONLINE PERMANENT BLOCKSIZE 8192
  EXTENT MANAGEMENT LOCAL AUTOALLOCATE DEFAULT 
 NOCOMPRESS  SEGMENT SPACE MANAGEMENT AUTO;
CREATE BIGFILE TABLESPACE "CEDET_BAOXIAN" DATAFILE 
  '/data3/oradata/recover/recover/cedet_baoxian.dbf' SIZE 2G
  AUTOEXTEND ON NEXT 8192 MAXSIZE 33554431M
  LOGGING ONLINE PERMANENT BLOCKSIZE 8192
  EXTENT MANAGEMENT LOCAL AUTOALLOCATE DEFAULT 
 NOCOMPRESS  SEGMENT SPACE MANAGEMENT AUTO;
CREATE BIGFILE TABLESPACE "FXQ" DATAFILE 
  '/data3/oradata/recover/recover/fxq.dbf' SIZE 2G
  AUTOEXTEND ON NEXT 8192 MAXSIZE 33554431M
  LOGGING ONLINE PERMANENT BLOCKSIZE 8192
  EXTENT MANAGEMENT LOCAL AUTOALLOCATE DEFAULT 
 NOCOMPRESS  SEGMENT SPACE MANAGEMENT AUTO;
CREATE BIGFILE TABLESPACE "HZ_UCIA" DATAFILE 
  '/data3/oradata/recover/recover/ucia.dbf' SIZE 2G
  AUTOEXTEND ON NEXT 8192 MAXSIZE 33554431M
  LOGGING ONLINE PERMANENT BLOCKSIZE 8192
  EXTENT MANAGEMENT LOCAL AUTOALLOCATE DEFAULT 
 NOCOMPRESS  SEGMENT SPACE MANAGEMENT AUTO;
CREATE BIGFILE TABLESPACE "OGG" DATAFILE 
  '/data3/oradata/recover/recover/ogg.dbf' SIZE 2G
  AUTOEXTEND ON NEXT 8192 MAXSIZE 33554431M
  LOGGING ONLINE PERMANENT BLOCKSIZE 8192
  EXTENT MANAGEMENT LOCAL AUTOALLOCATE DEFAULT 
 NOCOMPRESS  SEGMENT SPACE MANAGEMENT AUTO;
CREATE BIGFILE TABLESPACE "HZ_SJZL" DATAFILE 
  '/data3/oradata/recover/recover/sjzl.dbf' SIZE 2G
  AUTOEXTEND ON NEXT 8192 MAXSIZE 33554431M
  LOGGING ONLINE PERMANENT BLOCKSIZE 8192
  EXTENT MANAGEMENT LOCAL AUTOALLOCATE DEFAULT 
 NOCOMPRESS  SEGMENT SPACE MANAGEMENT AUTO;
CREATE BIGFILE TABLESPACE "CEDET_BAOXIAN_NEW" DATAFILE 
  '/data3/oradata/recover/recover/cedet_baoxian_new.dbf' SIZE 2G
  AUTOEXTEND ON NEXT 8192 MAXSIZE 33554431M
  LOGGING ONLINE PERMANENT BLOCKSIZE 8192
  EXTENT MANAGEMENT LOCAL AUTOALLOCATE DEFAULT 
 NOCOMPRESS  SEGMENT SPACE MANAGEMENT AUTO;
CREATE BIGFILE TABLESPACE "TABLESPACE_HZHIC" DATAFILE 
  '/data3/oradata/recover/recover/hzhic.dbf' SIZE 2G
  AUTOEXTEND ON NEXT 8192 MAXSIZE 33554431M
  LOGGING ONLINE PERMANENT BLOCKSIZE 8192
  EXTENT MANAGEMENT LOCAL AUTOALLOCATE DEFAULT 
 NOCOMPRESS  SEGMENT SPACE MANAGEMENT AUTO;
CREATE BIGFILE TABLESPACE "HZ_LITIGATION" DATAFILE 
  '/data3/oradata/recover/recover/litigation.dbf' SIZE 2G
  AUTOEXTEND ON NEXT 8192 MAXSIZE 33554431M
  LOGGING ONLINE PERMANENT BLOCKSIZE 8192
  EXTENT MANAGEMENT LOCAL AUTOALLOCATE DEFAULT 
 NOCOMPRESS  SEGMENT SPACE MANAGEMENT AUTO;
CREATE TABLESPACE "TBS_DBBAK" DATAFILE 
 '/data3/oradata/recover/recover/TBS_DBBAK.dbf' SIZE 2G
  AUTOEXTEND ON NEXT 104857600 MAXSIZE 32767M
  LOGGING ONLINE PERMANENT BLOCKSIZE 8192
  EXTENT MANAGEMENT LOCAL AUTOALLOCATE DEFAULT 
 NOCOMPRESS  SEGMENT SPACE MANAGEMENT AUTO;
CREATE BIGFILE TABLESPACE "GGATE" DATAFILE 
 '/data3/oradata/recover/recover/GGATE.dbf' SIZE 2G
  AUTOEXTEND ON NEXT 104857600 MAXSIZE 33554431M
  LOGGING ONLINE PERMANENT BLOCKSIZE 8192
  EXTENT MANAGEMENT LOCAL AUTOALLOCATE DEFAULT 
 NOCOMPRESS  SEGMENT SPACE MANAGEMENT AUTO;
CREATE TABLESPACE "TBLSPACE_CARRECOVER" DATAFILE 
 '/data3/oradata/recover/recover/TBLSPACE_CARRECOVER.dbf' SIZE 2G
  AUTOEXTEND ON NEXT 104857600 MAXSIZE 32767M
  LOGGING ONLINE PERMANENT BLOCKSIZE 8192
  EXTENT MANAGEMENT LOCAL AUTOALLOCATE DEFAULT 
 NOCOMPRESS  SEGMENT SPACE MANAGEMENT AUTO;
CREATE TEMPORARY TABLESPACE "CARRECOVER_TEMP" TEMPFILE 
 '/data3/oradata/recover/recover/CARRECOVER_TEMP.dbf' SIZE 2G
  AUTOEXTEND ON NEXT 104857600 MAXSIZE 32767M
  EXTENT MANAGEMENT LOCAL UNIFORM SIZE 1048576;

7、执行impdp导入命令

    排除导入的系统用户,因为系统用户是按照实例默认创建的所以导入时需要排除。在每个大版本中系统用户都不一样,所以需要根据具体的大版本而排除。

排除导入的系统用户:11g的系统用户涉及到30个,将所有的用户编辑到一个文件中,在导入时指定这个文件,那么就是排除这些用户的导入了
[oracle@11g ~]$ vi /data3/data4/backup/db160/exclude.par
EXCLUDE=SCHEMA:"='SYS'"
EXCLUDE=SCHEMA:"='SYSTEM'"
EXCLUDE=SCHEMA:"='OUTLN'"
EXCLUDE=SCHEMA:"='MGMT_VIEW'"
EXCLUDE=SCHEMA:"='FLOWS_FILES'"
EXCLUDE=SCHEMA:"='MDSYS'"
EXCLUDE=SCHEMA:"='ORDSYS'"
EXCLUDE=SCHEMA:"='EXFSYS'"
EXCLUDE=SCHEMA:"='DBSNMP'"
EXCLUDE=SCHEMA:"='WMSYS'"
EXCLUDE=SCHEMA:"='APPQOSSYS'"
EXCLUDE=SCHEMA:"='APEX_030200'"
EXCLUDE=SCHEMA:"='OWBSYS_AUDIT'"
EXCLUDE=SCHEMA:"='ORDDATA'"
EXCLUDE=SCHEMA:"='CTXSYS'"
EXCLUDE=SCHEMA:"='ANONYMOUS'"
EXCLUDE=SCHEMA:"='SYSMAN'"
EXCLUDE=SCHEMA:"='XDB'"
EXCLUDE=SCHEMA:"='ORDPLUGINS'"
EXCLUDE=SCHEMA:"='OWBSYS'"
EXCLUDE=SCHEMA:"='SI_INFORMTN_SCHEMA'"
EXCLUDE=SCHEMA:"='OLAPSYS'"
EXCLUDE=SCHEMA:"='SCOTT'"
EXCLUDE=SCHEMA:"='ORACLE_OCM'"
EXCLUDE=SCHEMA:"='XS$NULL'"
EXCLUDE=SCHEMA:"='MDDATA'"
EXCLUDE=SCHEMA:"='DIP'"
EXCLUDE=SCHEMA:"='APEX_PUBLIC_USER'"
EXCLUDE=SCHEMA:"='SPATIAL_CSW_ADMIN_USR'"
EXCLUDE=SCHEMA:"='SPATIAL_WFS_ADMIN_USR'"


进行impdp导入:
[oracle@11g ~]$ impdp  \"/ as sysdba\"  directory=baj_dir  dumpfile=expdp_orcl_full_01.dmp,expdp_orcl_full_02.dmp  logfile=impdp_full.log  full=y parallel=4  table_exists_action=append PARFILE=exclude.par
####impdp导入之前,需要在目标数据库上创建相应表空间对象即可;而对于imp导入时需要在目标数据库上创建相应的用户、权限、表空间等对象。

                           

验证数据部分

第一步:验证数据和用户

SQL> select sum(bytes) / 1024 / 1024 / 1024 || 'G' sum from dba_segments;
SQL> select username,created from dba_users order by created desc;

注:总共123个用户,除去系统的30个用户,总共导入了93个用户

第二步:验证有无失效的对象(目标数据库上执行)

SQL> select * from dba_objects where status!='VALID' and owner in('用户');
SQL> @?/rdbms/admin/utlrp.sql    ---有无效对象的话,进行无效对象的编译(最大可能自动修复无效对象)。其他重新编译失效对象的方法参考“PLSQL工具使用详解(1)、对象重定义(部分)”文档

第三步:收集统计信息(目标数据库上执行)

[oracle@rac1 ~]# vi status.sql 

begin 
dbms_stats.gather_database_stats; 
end; 
/ 

[oracle@rac1 ~]# nohup sqlplus / as sysdba @status.sql &    ---因为收集统计信息时间长,所以写个sh后台运行

第四步:查看哪些表的统计信息被锁定(stattype_locked字段为ALL的表示锁定了表的统计信息,默认stattype_locked字段为空表示可以收集统计信息):

SQL> select * from dba_ind_statistics where stattype_locked='ALL' AND OWNER='用户';
SQL> select * from dba_tab_statistics where stattype_locked='ALL' AND OWNER='用户';

SQL> begin
       dbms_stats.unlock_schema_stats(ownname  => '用户');
     end;
     /

第五步:验证对象(目标数据库上执行)

SQL> select object_type t_object_type, count(*) t_count
            from dba_objects
         where owner in('用户')
         group by object_type
###注:oracle的对象类型可以分的很详细,表、表分区、表子分区是不同的类型。

第六步:对比导入和导出日志

   

第七步:将undo时间修改回最佳值

SQL> alter system set undo_retention=10800 scope=both sid='*';

    关于Oracle逻辑迁移工具的用户和案例今天就全部讲完了,4篇文章从构思、排版、整理花了2星期的时间,创作不易坚持亦难,希望各个小伙伴 点赞、收藏、加关注 希望这4篇文章能够在大家以后的工作和学习中带来帮助。下篇文章将带来MySQL的内容,尽请关注。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/515308.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

SEO必备,网站词库拓展建设

我以前做网站是没有词库这个概念的,今天恰巧和站长交流的时候提到了词库的建设,大致问题就是如何增加词库。其实我也不是特别明白,只是听说使用长尾关键词挖掘然后拓展,至于怎么用,也没有聊到。 所以我的求知欲让我去…

Spring Boot:Web开发之视图模板技术的整合

Spring Boot 前言Spring Boot 整合 JSPSpring Boot 整合 FreeMarkerSpring Boot 整合 ThymeleafThymeleaf 常用语法 前言 在 Web 开发中,视图模板技术(如 JSP 、FreeMarker 、Thymeleaf 等)用于呈现动态内容到用户界面的工具。这些技术允许开…

CSS设置网页背景

目录 概述: 1.background-color: 2.background-image: 3.background-repeat: 4.background-position: 5.background-attachment: 6.background-size: 7.background-origin: 8.background-…

SAP_MM模块-无价值物料管理实现思路

无价值物料管理实现思路 业务背景一: 对于工具类的物料,本来想通过无物料号,收货时直接消耗在成本中心的方式来处理,这样,工程部和采购部都比较方便。 但财务部提出这部分工具物料还需要进行库存管理,但…

【Python异常处理】

在Python无法正常处理程序时就会发生异常,此时我们需要捕捉并处理它,否则程序就会终止执行。 例如: x 1 / 0 print(x)运行结果: ZeroDivisionError: division by zero #此时程序终止执行Python提供了三个非常重要的功能来处理…

ubuntu20.04下搜狗输入法的安装

1、安装 fcitx 输入法的框架 sudo apt install fcitx-bin sudo apt-get install fcitx-table 2、Ubuntu下的默认浏览器火狐搜索 搜狗输入法 搜狗输入法linux-首页 (下载x86_64) 3、安装依赖 sudo apt install libqt5qml5 libqt5quick5 libqt5quickwidgets5 qml-modu…

【漏洞复现】万户 ezOFFICE wf_printnum SQL注入漏洞

免责声明:文章来源互联网收集整理,请勿利用文章内的相关技术从事非法测试,由于传播、利用此文所提供的信息或者工具而造成的任何直接或者间接的后果及损失,均由使用者本人负责,所产生的一切不良后果与文章作者无关。该…

【学习心得】Numpy学习指南或复习手册

本文是自己在学习Numpy过后总是遗忘的很快,反思后发现主要是两个原因: numpy的知识点很多,很杂乱。练习不足,学习过后一段时间不敲代码就会忘记。 针对这两个问题,我写了这篇文章。希望将numpy的知识点织成一张网&…

JavaScript高级应用

学习作用域、变量提升、闭包等语言特征,加深对 JavaScript 的理解,掌握变量赋值、函数声明的简洁语法,降低代码的冗余度。 理解作用域对程序执行的影响 能够分析程序执行的作用域范围 理解闭包本质,利用闭包创建隔离作用域 了解…

面试总结------2024/04/04

1.面试官提问:你说你在项目中使用springsecurity jwt 实现了登录功能,能简单讲一下怎么实现的吗? 2.使用RabbitMQ实现订单超时取消功能 订单状态定义 首先,我们需要定义订单的不同状态。在这个示例中,我们可以定义以下…

[COCI 2011/2012 #5] EKO / 砍树 (二分)不开龙永远的痛!

不开龙long永远的痛&#xff01; 不开龙long永远的痛&#xff01; 不开龙long永远的痛&#xff01; 不开龙long永远的痛&#xff01; 不开龙long永远的痛&#xff01; //应该以最高的树为基准二分 初次尝试&#xff1a; #include<algorithm> #include<iostream&g…

图的深度优先遍历DFS得到各节点的度

在 一文中&#xff0c;我们通过了广度优先搜索来得到图结构中各结点的度&#xff0c;在这一篇文章中&#xff0c;我们要通过深度优先搜索来得到图结构中各结点的度。 初始化 初始化&#xff0c;在下面的代码中&#xff0c;我们创建了一个具有6个结点的图结构&#xff0c;以及…

YOLO电动车检测识别数据集:12617张图像,yolo标注完整

YOLO电动车检测识别数据集&#xff1a;12617张图像&#xff0c;电动车一类&#xff0c;yolo标注完整&#xff0c;部分图像应用增强。 适用于CV项目&#xff0c;毕设&#xff0c;科研&#xff0c;实验等 需要此数据集或其他任何数据集请私信

【调度工具】Azkaban用户手册

目录 一、概述 1.1 Azkaban 是什么 1.2 Azkaban 特点 1.3 Azkaban 与 Oozie 对比 功能 工作流定义 工作流传参 定时执行 资源管理 工作流执行 工作流管理 1.4 Azkaban 运行模式及架构 Azkaban 三大核心组件 Azkaban有两种部署方式 Azkaban Web Server Azkaban …

简约轻量-失信录系统源码

失信录系统-最新骗子收录查询系统源码 首页查询&#xff1a; 举报收录页&#xff1a; 后台管理页&#xff1a; 失信录系统 V1.0.0 更新内容&#xff1a; 1.用户查询,举报功能 2.界面独立开发 3.拥有后台管理功能 4.xss,sql安全过滤 5.平台用户查询 6.用户中心&#xff08;待完…

IO流:字节流、字符流、缓冲流、转换流、数据流、序列化流 --Java学习笔记

目录 IO流 IO流的分类 IO流的体系 字节流&#xff1a; 1、Filelnputstream(文件字节输入流) 2、FileOutputStream(文件字节输出流) 字节流非常适合做一切文件的复制操作 复制案例&#xff1a; try-catch-finally 和 try-with-resource 字符流 1、FileReader(文件字符…

JimuReport 积木报表

一款免费的数据可视化报表&#xff0c;含报表和大屏设计&#xff0c;像搭建积木一样在线设计报表&#xff01;功能涵盖&#xff0c;数据报表、打印设计、图表报表、大屏设计等&#xff01; Web 版报表设计器&#xff0c;类似于 excel 操作风格&#xff0c;通过拖拽完成报表设计…

C#学生信息管理系统

一、引言 学生信息管理系统是现代学校管理的重要组成部分&#xff0c;它能够有效地管理学生的基本信息、课程信息、成绩信息等&#xff0c;提高学校管理的效率和质量。本文将介绍如何使用SQL Server数据库和C#语言在.NET平台上开发一个学生信息管理系统的课程设计项目。 二、项…

前端学习<四>JavaScript基础——02-JavaScript入门:hello world

开始写第一行 JavaScript&#xff1a;hello world JS 代码的书写位置在哪里呢&#xff1f;这个问题&#xff0c;也可以理解成&#xff1a;引入 JS 代码&#xff0c;有哪几种方式&#xff1f;有三种方式&#xff1a;&#xff08;和 CSS 的引入方式类似&#xff09; 行内式&…

msyql 查看和修改字符集的方法

在插入或修改数据的时候&#xff0c;报字符集的错误&#xff0c;中文的无法进行插入修改。比如&#xff1a; update users set user_name关羽 where user_id2; 报错信息&#xff1a; ERROR 1366 (HY000): Incorrect string value: /xB9/xD8/xD3/xF0 for column user_name at …